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

Stephan Bosch <[email protected]>
Newsgroups gmane.ietf.mta-filters
Message-ID <[email protected]>
Op 8-7-2011 8:57, Aaron Stone schreef:
> Uploaded -08 with these changes, thank you!
>
> On Tue, Jul 5, 2011 at 12:20 PM, Stephan Bosch<[email protected]>  wrote:
>> ## 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.
[...]
>> 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).
> Is this the paragraph that needs work?
>
>     A variable has global scope in all scripts that have declared it with
>     the "global" command.  If a script uses that variable name without
>     declaring it global, the name specifies a separate, non-global
>     variable within that script.

No, I would think the first paragraph of Section 3.4.1. is the best 
place to mention this:

    The "global" command contains a string list argument that defines one
    or more names of variables to be stored in the global variable space.

'Names of variables' is in my opinion a bit too vague.  As an example, 
the "set" command specified in Section 4 of RFC 5229 defines the following:

    The "set" action stores the specified value in the variable
    identified by name.  The name MUST be a constant string and conform
    to the syntax of variable-name.  Match variables cannot be set.  A
    namespace cannot be used unless an extension explicitly allows its
    use in "set".  An invalid name MUST be detected as a syntax error.

I would change the first paragraph as follows:

    The "global" command has a string list argument that defines one
    or more names of variables to be stored in the global variable space.
    Each name MUST be a constant string and conform to the syntax of
    variable-name as defined in [RFC5229], Section 3. Match variables
    cannot be specified and namespace prefixes are not allowed. An invalid
    name MUST be detected as a syntax error.

(I didn't even consider the constant string part until just now)

>> Also the syntax of the sub-items of the global namespace should be
>> defined explicitly.
> I'm not sure what you mean here.

Basically the same restrictions apply in this case. The paragraph 
directly after the example in Section 3.4.2 states:

   Variables declared global and variables accessed via the global
   namespace MUST be one and the same.

Similar to the global command, you can add here that the "global" 
namespace has no sub-namespaces (e.g. set "global.data.from" 
"[email protected]"; is not allowed ) and that the variable-name part is 
always an identifier (so set "global.12" "whatever"; is not allowed).

>> ## '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?
> Oh, huh. I suppose at least a hack around this would be an empty script?

Yes, but that will not be adequate in many situations. Do more people 
have thoughts on this?

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.