[ 
https://issues.apache.org/jira/browse/TS-4926?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Leif Hedstrom updated TS-4926:
------------------------------
    Fix Version/s: 7.1.0

> Optimize and improve mime_scanner_get() and mime_parser_parse()
> ---------------------------------------------------------------
>
>                 Key: TS-4926
>                 URL: https://issues.apache.org/jira/browse/TS-4926
>             Project: Traffic Server
>          Issue Type: Improvement
>          Components: HTTP
>            Reporter: Leif Hedstrom
>             Fix For: 7.1.0
>
>
> It seems there's some improvements to be done in the interaction between e.g. 
> mime_scanner_get() and mime_parser_parse(). For example:
> 1) mime_scanner_get() does not recognize the ':' as it's walking the string 
> looking for cr/lf's, WS's for continuations etc. Seems like it'd make sense 
> here to also mark the position of the ':', such that the caller doesn't have 
> to look for that again (mime_parser_parse() will call memchr() to find it).
> 2) mime_scanner_get() doesn't deal with various illegal characters, either 
> leaving it up to the caller(s) to deal with, or not being dealt with at all. 
> It seems it'd be pretty easy to include the checks for that here, and then 
> avoid any checks further up in the calling chain entirely.
> 3) mime_scanner_parse() does not properly deal with white spaces before the 
> ':', which is a protocol error (instead we just ignore 'em).
> {code}
>     // find_value_last
>     field_value_last = line_e - 1;
>     while ((field_value_last >= field_value_first) && 
> ParseRules::is_wslfcr(*field_value_last)) {
>       --field_value_last;
>     }
> {code}
> It's possible 3) should be its own Jira, but seems easy to do all this as one 
> fix honestly.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to