Re: I-D Action: draft-ietf-sieve-include-07.txt
Aaron Stone <[email protected]>
| Newsgroups | gmane.ietf.mta-filters |
|---|---|
| Message-ID | <CAEdAYKXP430G9NXaJ5A638R+caK-AmBoxrPSRQtrdF_892SPtA@mail.gmail.com> |
On Fri, Jul 8, 2011 at 8:45 AM, Stephan Bosch <[email protected]> wrote: > 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). Great language. Posting -09 now. >>> ## '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