Backport of svn revision 484:

SF Patch Tracker [ 2546532 ] Missing carriage return between
    	SOAPACTION and User-Agent headers.
    
    	There is something going wrong in soap_ctrlpt.c at line 931 (based on
    	version 1.6.6 release).
    
    	The http_Makemessage call looks as follows:
    
    	if (http_MakeMessage(
    	&request, 1, 1,
    	"Q" "sbc" "N" "s" "s" "Ucc" "sss",
    	SOAPMETHOD_POST, path.buf, path.length,
    	"HOST: ", host.buf, host.length,
    	content_length,
    	ContentTypeHeader,
    	"SOAPACTION:
    	\"urn:schemas-upnp-org:control-1-0#QueryStateVariable\"",
    	xml_start, var_name, xml_end ) != 0 ) {
    	return UPNP_E_OUTOF_MEMORY;
    	}
    
    	This will result in the SOAPACTION header to be immediately followed by the
    	User-Agent header, while a cr-lf should separate the two. I propose to fix
    	this by changing the second "s" to "sc" to force the addition of a cr-lf
    	after the SOAPACTION. This looks consistent to the other Makemessage calls.



git-svn-id: https://pupnp.svn.sourceforge.net/svnroot/pupnp/branches/branch-1.6.x@487 119443c7-1b9e-41f8-b6fc-b9c35fce742c
This commit is contained in:
Marcelo Roberto Jimenez 2010-03-14 18:53:12 +00:00
parent 70a0aff4e7
commit 4ad6ea3545
2 changed files with 28 additions and 1 deletions

View File

@ -2,6 +2,33 @@
Version 1.6.7 Version 1.6.7
******************************************************************************* *******************************************************************************
2010-03-14 Marcelo Jimenez <mroberto(at)users.sourceforge.net>
* SF Patch Tracker [ 2546532 ] Missing carriage return between
SOAPACTION and User-Agent headers.
There is something going wrong in soap_ctrlpt.c at line 931 (based on
version 1.6.6 release).
The http_Makemessage call looks as follows:
if (http_MakeMessage(
&request, 1, 1,
"Q" "sbc" "N" "s" "s" "Ucc" "sss",
SOAPMETHOD_POST, path.buf, path.length,
"HOST: ", host.buf, host.length,
content_length,
ContentTypeHeader,
"SOAPACTION:
\"urn:schemas-upnp-org:control-1-0#QueryStateVariable\"",
xml_start, var_name, xml_end ) != 0 ) {
return UPNP_E_OUTOF_MEMORY;
}
This will result in the SOAPACTION header to be immediately followed by the
User-Agent header, while a cr-lf should separate the two. I propose to fix
this by changing the second "s" to "sc" to force the addition of a cr-lf
after the SOAPACTION. This looks consistent to the other Makemessage calls.
2009-03-06 Oxygenic <oxygenic(at)users.sourceforge.net> 2009-03-06 Oxygenic <oxygenic(at)users.sourceforge.net>
* parameter problem fixed in soap_request_and_response(), 2nd call to * parameter problem fixed in soap_request_and_response(), 2nd call to
http_RequestAndResponse() was wrong (thanks to Kim Kyungsan) http_RequestAndResponse() was wrong (thanks to Kim Kyungsan)

View File

@ -932,7 +932,7 @@ SoapGetServiceVarStatus( IN char *action_url,
content_length = strlen( xml_start ) + strlen( var_name ) + strlen( xml_end ); content_length = strlen( xml_start ) + strlen( var_name ) + strlen( xml_end );
if (http_MakeMessage( if (http_MakeMessage(
&request, 1, 1, &request, 1, 1,
"Q" "sbc" "N" "s" "s" "Ucc" "sss", "Q" "sbc" "N" "s" "sc" "Ucc" "sss",
SOAPMETHOD_POST, path.buf, path.length, SOAPMETHOD_POST, path.buf, path.length,
"HOST: ", host.buf, host.length, "HOST: ", host.buf, host.length,
content_length, content_length,