Re: I-D Action: draft-ietf-sieve-include-07.txt

Stephan Bosch <[email protected]>
Newsgroups gmane.ietf.mta-filters
Message-ID <[email protected]>
Op 5-7-2011 18:59, Aaron Stone schreef:
> On Tue, Jul 5, 2011 at 9:47 AM,<[email protected]>  wrote:
>> A URL for this Internet-Draft is:
>> http://www.ietf.org/internet-drafts/draft-ietf-sieve-include-07.txt
> At long last, I've updated the Include draft. Thanks to Stephan Bosch,
> whose comments from many months ago I incorporated into this revision.
Ah nice :)

I have three issues still:

## ISSUE 1:

I've fed the examples to my compiler and it still finds a few familiar 
errors:

* First example starting at page 8:

spam_tests: line 6: error: the reject command requires 1 positional 
argument(s), but 0 is/are specified.
default: line 4: error: failed to validate included :global script 
'spam_tests'.

* Third example starting at page 11:

active: line 5: error: missing semicolon ';' after set command.
active: line 8: error: missing semicolon ';' after set command.
active: line 13: error: unknown command 'fileinto' (only reported once 
at first occurence).
active: error: validation failed.

When I fix those, more errors follow:

active: line 3: error: invalid variable identifier 'test-mailbox'.

And, thereafter:

spam_checks: line 2: error: invalid variable identifier 'test-mailbox'.
spam_checks: line 6: error: invalid variable name 'test-mailbox'.
active: line 6: error: failed to validate included script 'spam_checks'.

* Fifth example starting at page 13:

example5: line 9: error: expected end of command ';' or the beginning of 
a compound block '{', but found '}'.
(missing semicolon after vacation command)

## ISSUE 2:

While I was working on this, I thought of something that is not 
explicitly addressed in the document (correct me if I'm wrong). 
Initially I had forgotten to check for the validity of the global 
command's value argument and now I am wondering: what is the exact 
syntax of that argument? Logic dictates that this is simply an 
'identifier' as used in RFC5229 and defined in RFC5228, since only 
simple variables make any sense. I can imagine though that at some point 
more namespaces are defined by new extensions and some people may assume 
that the variable name in the value argument can have a namespace prefix 
as defined in RFC5229. Some may even allow to make match values global. 
This would make the following script legal:

require "include";
require "variables";
require "frop";   # This jolly extension defines a new (writable) 
namespace called 'frop'

global "normal";
global "frop.abnormal";

global "0";
if header :matches "from" "*" {  }

Something similar is true for the global namespace:

set "global.frop.abnormal" "Frop!";
set "global.0" "Friep!";

Although the above is pretty far-fetched and stupid, I think it is 
better when this is excluded explicitly by stating the argument's exact 
syntax instead of calling it only a 'variable name' (much like Section 4 
in RFC5229). Also the syntax of the sub-items of the global namespace 
should be defined explicitly.

## 'ISSUE' 3:

I've had a few request and questions from users about having an optional 
include, i.e. an include directive that is skipped without error if (and 
only if) the to-be-included script does not exist. Do you find this a 
useful feature? If yes, is it possible to add this to the main draft now 
or should there be an 'include-optional' extension that adds an 
':optional' tag to the include command?



Regards,

Stephan.














_______________________________________________
sieve mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/sieve
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.