summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Mozes <hydrapolic@gmail.com>2018-01-08 07:54:54 +0100
committerAmy Liffey <amynka@gentoo.org>2018-01-11 09:40:24 +0100
commit794598350e101bdff60a21ba1672c942a7ac96ae (patch)
tree007a126320f1c986a8c96c4e1bdf3407efc0e4b9 /net-analyzer/linkchecker/files
parentdev-games/tiled: version bump 1.1.1 (diff)
downloadgentoo-794598350e101bdff60a21ba1672c942a7ac96ae.tar.gz
gentoo-794598350e101bdff60a21ba1672c942a7ac96ae.tar.bz2
gentoo-794598350e101bdff60a21ba1672c942a7ac96ae.zip
net-analyzer/linkchecker: fix using newer dev-python/requests
Closes: #6791 Closes: https://bugs.gentoo.org/643688 Package-Manager: Portage-2.3.18, Repoman-2.3.6
Diffstat (limited to 'net-analyzer/linkchecker/files')
-rw-r--r--net-analyzer/linkchecker/files/linkchecker-9.3.1-requests.patch46
1 files changed, 46 insertions, 0 deletions
diff --git a/net-analyzer/linkchecker/files/linkchecker-9.3.1-requests.patch b/net-analyzer/linkchecker/files/linkchecker-9.3.1-requests.patch
new file mode 100644
index 000000000000..56c57fa37997
--- /dev/null
+++ b/net-analyzer/linkchecker/files/linkchecker-9.3.1-requests.patch
@@ -0,0 +1,46 @@
+From 9b12b5d66fa9b832f4d9e19a0b9dcb92607ee3e5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org>
+Date: Mon, 2 Oct 2017 20:18:54 -0400
+Subject: [PATCH] workaround new limitation in requests
+
+newer requests do not expose the internal SSL socket object so we
+cannot verify certificates. there was work to allow custom
+verification routines which we could use, but this never finished:
+
+https://github.com/shazow/urllib3/pull/257
+
+so right now, just treat missing socket information as if the cert was
+missing.
+
+Closes: #76
+---
+ linkcheck/checker/httpurl.py | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/linkcheck/checker/httpurl.py b/linkcheck/checker/httpurl.py
+index 161619c5..bde77c70 100644
+--- a/linkcheck/checker/httpurl.py
++++ b/linkcheck/checker/httpurl.py
+@@ -194,6 +194,10 @@ def _get_ssl_sock(self):
+ """Get raw SSL socket."""
+ assert self.scheme == u"https", self
+ raw_connection = self.url_connection.raw._connection
++ if not raw_connection:
++ # this happens with newer requests versions:
++ # https://github.com/linkcheck/linkchecker/issues/76
++ return None
+ if raw_connection.sock is None:
+ # sometimes the socket is not yet connected
+ # see https://github.com/kennethreitz/requests/issues/1966
+@@ -204,7 +208,10 @@ def _add_ssl_info(self):
+ """Add SSL cipher info."""
+ if self.scheme == u'https':
+ sock = self._get_ssl_sock()
+- if hasattr(sock, 'cipher'):
++ if not sock:
++ log.debug(LOG_CHECK, "cannot extract SSL certificate from connection")
++ self.ssl_cert = None
++ elif hasattr(sock, 'cipher'):
+ self.ssl_cert = sock.getpeercert()
+ else:
+ # using pyopenssl