Package: pysimplesoap / 1.16.2-3

Metadata

Package Version Patches format
pysimplesoap 1.16.2-3 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
Add quotes to SOAPAction header in SoapClient.patch | (download)

pysimplesoap/client.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 [patch] add quotes to soapaction header in soapclient

According to the SOAP standard, the 'SOAPAction' HTTP field must be
quoted by double quotes unless the URI is empty and 'there is no
indication of the intent of the message' [1].

Not having proper quoting leads to gupnp based devices reply with invalid
XML. While there is a proposed fix for that to handle unquoted requests more
gracefully [2], the real issue in SoapClient implementation.

[1] https://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383528
[2] https://bugzilla.gnome.org/show_bug.cgi?id=793955

Bug: https://github.com/pysimplesoap/pysimplesoap/pull/161

fix httplib2 version check.patch | (download)

pysimplesoap/transport.py | 8 5 + 3 - 0 !
1 file changed, 5 insertions(+), 3 deletions(-)

---
reorder type check to avoid a TypeError.patch | (download)

pysimplesoap/server.py | 10 7 + 3 - 0 !
1 file changed, 7 insertions(+), 3 deletions(-)

 [patch] reorder type check to avoid a typeerror

Using a list or dict as return of a SOAP method led to an error:
File "pysimplesoap/server.py", line 372, in parse_element
    if v in TYPE_MAP.keys():
    TypeError: unhashable type: 'list'

Reorder the type check and add a comment to avoid this error.

Signed-off-by: Benedikt Spranger <b.spranger@linutronix.de>

Support integer values in maxOccurs attribute.patch | (download)

pysimplesoap/helpers.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

```
selectedContractList: selectedContractList
```

This does not allow the input of multiple values in any way. I was expecting to
be able to pass this:
```
'selectedContractList': [ {'selectedContract': '...'}, … ]
```

But this would result in "TypeError: unhashable type: 'dict'" in the
wsdl_validate_params() method. See full traceback below.

With this patch, I'm now able to pass the desired structure.

Full traceback of the unexpected error:
```
ERROR: test_do_web_payment (__main__.WebPaymentAPITestCase)