Disable IPv6 when looking for tzdata updates.
My problems connecting to ftp.iana.org are only via IPv6. Change-Id: I42e4bae7981ec4b64822f745a7a15544d77ef22d
This commit is contained in:
parent
2c60c18c50
commit
21da42ea91
1 changed files with 11 additions and 2 deletions
|
@ -6,6 +6,7 @@ import ftplib
|
||||||
import httplib
|
import httplib
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
|
import socket
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import tarfile
|
import tarfile
|
||||||
|
@ -32,6 +33,14 @@ regions = ['africa', 'antarctica', 'asia', 'australasia', 'backward',
|
||||||
'etcetera', 'europe', 'northamerica', 'southamerica']
|
'etcetera', 'europe', 'northamerica', 'southamerica']
|
||||||
|
|
||||||
|
|
||||||
|
def DisableIpv6():
|
||||||
|
"""Replaces socket.getaddrinfo with a version that only requests IPv4 addresses."""
|
||||||
|
__real_getaddrinfo = socket.getaddrinfo
|
||||||
|
def __ipv4_getaddrinfo(host, port, family=0, socktype=0, proto=0, flags=0):
|
||||||
|
return __real_getaddrinfo(host, port, socket.AF_INET, socktype, proto, flags)
|
||||||
|
socket.getaddrinfo = __ipv4_getaddrinfo
|
||||||
|
|
||||||
|
|
||||||
def GetCurrentTzDataVersion():
|
def GetCurrentTzDataVersion():
|
||||||
return open('%s/tzdata' % bionic_libc_zoneinfo_dir).read().split('\x00', 1)[0]
|
return open('%s/tzdata' % bionic_libc_zoneinfo_dir).read().split('\x00', 1)[0]
|
||||||
|
|
||||||
|
@ -148,9 +157,9 @@ def main():
|
||||||
tzdata_filenames = []
|
tzdata_filenames = []
|
||||||
|
|
||||||
# The FTP server lets you download intermediate releases, and also lets you
|
# The FTP server lets you download intermediate releases, and also lets you
|
||||||
# download the signatures for verification, so it's your best choice. It's
|
# download the signatures for verification, so it's your best choice.
|
||||||
# also less reliable than the HTTP server, so we support that too as a backup.
|
|
||||||
use_ftp = True
|
use_ftp = True
|
||||||
|
DisableIpv6() # I've been unable to talk to the FTP server over IPv6 (2013-04).
|
||||||
|
|
||||||
if use_ftp:
|
if use_ftp:
|
||||||
ftp = ftplib.FTP('ftp.iana.org')
|
ftp = ftplib.FTP('ftp.iana.org')
|
||||||
|
|
Loading…
Reference in a new issue