Fixes #12328.
Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org --- lfs/ddns | 1 + ...nss-fix-unhandled-exeption-on-update-patch | 30 +++++++++++++++++++ ...nss-fix-unhandled-exeption-on-update-patch | 30 +++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 src/patches/ddns-011-ddnss-fix-unhandled-exeption-on-update-patch create mode 100644 src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch
diff --git a/lfs/ddns b/lfs/ddns index 0e045ddc4..0a71b52ea 100644 --- a/lfs/ddns +++ b/lfs/ddns @@ -73,6 +73,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# Apply upstream patches. cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-dyfi-use-https.patch + cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch
cd $(DIR_APP) && [ -x "configure" ] || sh ./autogen.sh cd $(DIR_APP) && ./configure \ diff --git a/src/patches/ddns-011-ddnss-fix-unhandled-exeption-on-update-patch b/src/patches/ddns-011-ddnss-fix-unhandled-exeption-on-update-patch new file mode 100644 index 000000000..95f6391be --- /dev/null +++ b/src/patches/ddns-011-ddnss-fix-unhandled-exeption-on-update-patch @@ -0,0 +1,30 @@ +commit 7d0956d14ff8d823551ccd47ccf1492c9da9aac9 +Author: Stefan Schantl stefan.schantl@ipfire.org +Date: Mon May 25 18:00:51 2020 +0200 + + ProviderDDNSS: Fix unhandled exception on update + + In python > 3.3 the getheader() attribute is not longer part of the + urllib.response response.info() object. It is part of response object + and so directly can be accessed. + + Fixes #12328 + + Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org + +diff --git a/src/ddns/providers.py b/src/ddns/providers.py +index f1fed22..46d8a67 100644 +--- a/src/ddns/providers.py ++++ b/src/ddns/providers.py +@@ -642,10 +642,8 @@ class DDNSProviderDDNSS(DDNSProvider): + response = self.send_request(self.url, data=data) + + # This provider sends the response code as part of the header. +- header = response.info() +- + # Get status information from the header. +- output = header.getheader('ddnss-response') ++ output = response.getheader('ddnss-response') + + # Handle success messages. + if output == "good" or output == "nochg": diff --git a/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch b/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch new file mode 100644 index 000000000..95f6391be --- /dev/null +++ b/src/patches/ddns-013-ddnss-fix-unhandled-exeption-on-update-patch @@ -0,0 +1,30 @@ +commit 7d0956d14ff8d823551ccd47ccf1492c9da9aac9 +Author: Stefan Schantl stefan.schantl@ipfire.org +Date: Mon May 25 18:00:51 2020 +0200 + + ProviderDDNSS: Fix unhandled exception on update + + In python > 3.3 the getheader() attribute is not longer part of the + urllib.response response.info() object. It is part of response object + and so directly can be accessed. + + Fixes #12328 + + Signed-off-by: Stefan Schantl stefan.schantl@ipfire.org + +diff --git a/src/ddns/providers.py b/src/ddns/providers.py +index f1fed22..46d8a67 100644 +--- a/src/ddns/providers.py ++++ b/src/ddns/providers.py +@@ -642,10 +642,8 @@ class DDNSProviderDDNSS(DDNSProvider): + response = self.send_request(self.url, data=data) + + # This provider sends the response code as part of the header. +- header = response.info() +- + # Get status information from the header. +- output = header.getheader('ddnss-response') ++ output = response.getheader('ddnss-response') + + # Handle success messages. + if output == "good" or output == "nochg":