http: Properly reject requests with Transfer-Encoding set
authorDavid M. Lee <dlee@digium.com>
Tue, 24 Dec 2013 16:50:48 +0000 (16:50 +0000)
committerDavid M. Lee <dlee@digium.com>
Tue, 24 Dec 2013 16:50:48 +0000 (16:50 +0000)
commita952abb9dab8587153d0712eac35f2c365b2b269
tree97a3659a7b5925cb5ad486dffea999a51d2df264
parentc3d5c41dae0b192a4967bc3b462de6c2bede8766
http: Properly reject requests with Transfer-Encoding set

Asterisk does not support any of the transfer encodings specified in
HTTP/1.1, other than the default "identity" encoding.

According to RFC 2616:

   A server which receives an entity-body with a transfer-coding it does
   not understand SHOULD return 501 (Unimplemented), and close the
   connection. A server MUST NOT send transfer-codings to an HTTP/1.0
   client.

This patch adds the 501 Unimplemented response, instead of the hard work
of actually implementing other recordings.

This behavior is especially problematic for Node.js clients, which use
chunked encoding by default.

(closes issue ASTERISK-22486)
Review: https://reviewboard.asterisk.org/r/3092/
........

Merged revisions 404565 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@404567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
main/http.c