Op 5-7-2011 18:59, Aaron Stone schreef:
On Tue, Jul 5, 2011 at 9:47 AM,<internet-drafts(_at_)ietf(_dot_)org> 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
sieve(_at_)ietf(_dot_)org
https://www.ietf.org/mailman/listinfo/sieve