On Mon, Jan 30, 2006 at 12:22:15PM +0000, Arthur Taylor wrote:
>Package: libupnp0
>Version: 1.2.1-2
>Severity: important
>Tags: patch
>
>
>When using libupnp to communicate with Windows Media Connect and
>browsing a large directory on its Content Directory server (large => 15
>files in this case), UpnpSendAction will return internal error -119,
>UPNP_E_BAD_HTTPMSG because the http response parser in
>genlib/net/http/httpreadwrite.c returns HTTP_REQ_ENTITY_TOO_LARGE on the
>basis of a comparison of the parsed response's content_length with the
>value g_maxContentLength. g_maxContentLength is arbitrarily set at
>16000, and SOAP messages are unlimited in length, making this
>restriction unhelpful in implementing compliant UPNP services.
>
>In the context of receiving responses from remote servers, I believe the
>restriction to be unnecessary. The parser allocates its buffer as data
>comes in and fails 'gracefully' when it runs out of memory. The attached
>patch removes the check, and running the code without the check seems to
>cause no troubles for the purposes for which I am using it.
>
>N.B.: I have not looked at the other code in the library in detail, and
>have no doubt that there are places where this restriction is used to
>make an assumption about the size of some other buffer. This obviously
>needs fixing properly upstream, and I'm not recommending this patch is
>included in the package, but attaching it for users in a similar
>situation to my own.

Hi Arthur,

What application are you using with libupnp? There is an API call
UpnpSetContentLength() which allows you to increase the allowed size
on incoming SOAP messages - have you tried that?

-- 
Steve McIntyre, Cambridge, UK.                                [EMAIL PROTECTED]
"C++ ate my sanity" -- Jon Rabone

Attachment: signature.asc
Description: Digital signature

Reply via email to