Subject: [secdir] Secdir review of draft-melnikov-imapext-filters-07

From: "Carl Wallace" <[email-masked]>
Date: Mon, 8 Dec 2008 08:05:57 -0500

I have reviewed this document as part of the security directorate's
ongoing effort to review all IETF documents being processed by the IESG.
These comments were written primarily for the benefit of the security
area directors.  Document editors and WG chairs should treat these
comments just like any other last call comments.

This draft defines how to store named search filters on an IMAP server.
The draft is well written and the security considerations section looks
good to me.  A few minor comments:

In section 2, "if both filter type with the same exist" should be "if
both filter types with the same name exist".  In the same sentence, "is
going to use" should probably be "MUST use".

In the example in section 3.1, "OR" is missing from the example where
the value of the filter has been substituted into the command.

Should the server check the syntax of the filter before storing?  The
fourth paragraph of section 3.2 gives the impression that any "non NIL
value" may be stored.  

_______________________________________________
secdir mailing list
[email-masked]
https://mailman.mit.edu/mailman/listinfo/secdir
_______________________________________________
secdir mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/secdir

---

From: Alexey Melnikov <[email-masked]>
Date: Tue, 09 Dec 2008 19:03:23 +0000

Hi Carl,
Thank you for the review.

>going to use" should probably be "MUST use".
Changed, thanks.

>the value of the filter has been substituted into the command.
Good point. Fixed.

>fourth paragraph of section 3.2 gives the impression that any "non NIL
Right. I've added:
    The server SHOULD verify that each search criterion stored in
    such server entry is a full and correct search criterion.

Note that the following paragraph in Section 3.1 covers filter 
validation on use:

   Note the server SHOULD verify that each search criterion referenced
   by the FILTER search key is a full and correct search criterion.  For
   example, the server should fail the SEARCH command if its SEARCH
   criterion references a filter containing "OR SMALLER" search
   criterion, because this value is lacking one parameter and thus is
   not a fully specified search criterion.

So this will already catch invalid filters when they are referenced.