Skip to content

Commit 9ee14fc

Browse files
committed
sync: add a 5 second timeout to gemato's openpgp refresh
If it takes more than 5 seconds to download a miniscule file from https://gentoo.org/.well-known/openpgpkey/ then something has gone dreadfully wrong. Most commonly, what went wrong is that the user has broken ipv6 connectivity and requests simply hangs forever (no joke -- it doesn't implement Happy Eyeballs and closed the multiple bug reports as "please use stackoverflow to ask questions about how to use requests, we are not a support forum"). Pass a timeout so that we eventually give up and try ipv4 instead. This is a crude hack and the proper solution is to make gemato handle this better, but until gemato is fixed to use a better download library we do the best we can. Bug: psf/requests#6788 Bug: projg2/gemato#35 Bug: https://bugs.gentoo.org/779766 Signed-off-by: Eli Schwartz <[email protected]>
1 parent 747b2d2 commit 9ee14fc

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

Diff for: lib/portage/sync/syncbase.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -340,11 +340,11 @@ def _get_openpgp_env(self, openpgp_key_path=None, debug=False):
340340

341341
if openpgp_key_path:
342342
openpgp_env = gemato.openpgp.OpenPGPEnvironment(
343-
proxy=proxy, debug=debug
343+
proxy=proxy, debug=debug, timeout=5
344344
)
345345
else:
346346
openpgp_env = gemato.openpgp.OpenPGPSystemEnvironment(
347-
proxy=proxy, debug=debug
347+
proxy=proxy, debug=debug, timeout=5
348348
)
349349

350350
return openpgp_env

0 commit comments

Comments
 (0)