[ https://issues.apache.org/jira/browse/ASYNCWEB-26?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Emmanuel Lecharny moved DIRMINA-666 to ASYNCWEB-26: --------------------------------------------------- Fix Version/s: (was: 1.1.8) Component/s: (was: Example) Affects Version/s: (was: 1.1.0) Key: ASYNCWEB-26 (was: DIRMINA-666) Project: Asyncweb (was: MINA) > HTTP header parsing example incompatible with rfc2616 / content-length field > name should be interrepted as case-insensitive > --------------------------------------------------------------------------------------------------------------------------- > > Key: ASYNCWEB-26 > URL: https://issues.apache.org/jira/browse/ASYNCWEB-26 > Project: Asyncweb > Issue Type: Bug > Environment: Linux > Reporter: Janne Siren > Assignee: Emmanuel Lecharny > Priority: Critical > Original Estimate: 2h > Remaining Estimate: 2h > > Qt4 (4.4.3) QHttp class sends HTTP/POST command with HTTP header which has > "content-length" field name in small letters. HTTP header parsing > functionality in MINA Example does not accept these POST commands as it > expects case-sensitive field name "Content-Length". MINA Example HTTP header > parser functionality incorrectly drops these POST messages send by Qt4 QHttp > class although those messages are fully compatible with rfc2616. Cut from > rfc2616 (4.2 Message Headers): Field names are case-insensitive. > The problem (at least in MINA-1.1.0) is in > org.apache.mina.example.httpserver.codec.HttpRequestDecoder.java: > private static final byte[] CONTENT_LENGTH = new String( "Content-Length:" ) > .getBytes(); > ... > boolean found = false; > for( int j = 0; j < CONTENT_LENGTH.length; j++ ) > { > if( in.get( i + j ) != CONTENT_LENGTH[ > j ] ) > { > found = false; > break; > } > found = true; > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.