incorrect parsing of script containing multiple multi-line forms
----------------------------------------------------------------

                 Key: JSIEVE-75
                 URL: https://issues.apache.org/jira/browse/JSIEVE-75
             Project: JAMES jSieve
          Issue Type: Bug
          Components: JSieve (Main)
    Affects Versions: 0.4
            Reporter: Vishal Mahajan
            Priority: Critical


I am using jSieve 0.4. I have the following sieve script containing two 
multi-line forms:

----
require ["fileinto", "reject", "tag", "flag"];

# filter1
if anyof (header :contains "subject" "abc") {
reply text:
reply1
.
;
reply text:
reply2
.
;
}
----

The issue is that the jSieve parser sees only one multi-line form in the above 
script, with form data being the text between the first "text:" and last 
"CRLF.CRLF", i.e.

----
reply1
.
;
reply text:
reply2
----

Is there an issue in the sieve.jjt grammar in dealing with multiple multi-line 
forms?

One of the odd things I observed in sieve.jjt is that NEWLINE is considered as 
"\n"|"\r"|"\r\n", whereas RFC 3028 (section 2.4.2) requires that a multi-line 
form:

starts with the keyword "text:",
followed by a CRLF, and ends with the sequence of a CRLF, a single
period, and another CRLF.
which implies that standalone "\n" and "\r" chars should not be considered in 
determining start and end of multi-line form data. 

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to