From: Philipp Kern Date: Sat, 27 Feb 2010 09:02:42 +0000 (+0100) Subject: daklib/utils.py: use socket.getfqdn() to determine the hostname X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=404ef4673e48845eff8c46c157d90d975f538916;p=dak.git daklib/utils.py: use socket.getfqdn() to determine the hostname To: debian-dak@lists.debian.org Cc: Philipp Kern Date: Tue, 23 Feb 2010 11:35:20 +0100 Resent-From: debian-dak@lists.debian.org The current socket.gethostbyaddr(socket.gethostname()) fails horribly on our IPv6 enabled machine. What we really want is the FQDN of the host so let's use socket's getfqdn(). Of course that needs proper setup of the hostname in the system, but I think we can rely on that working. Signed-off-by: Philipp Kern --- diff --git a/daklib/utils.py b/daklib/utils.py index b1a34c92..0896d578 100755 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -730,20 +730,20 @@ def copy (src, dest, overwrite = 0, perms = 0664): ################################################################################ def where_am_i (): - res = socket.gethostbyaddr(socket.gethostname()) - database_hostname = Cnf.get("Config::" + res[0] + "::DatabaseHostname") + res = socket.getfqdn() + database_hostname = Cnf.get("Config::" + res + "::DatabaseHostname") if database_hostname: return database_hostname else: - return res[0] + return res def which_conf_file (): if os.getenv('DAK_CONFIG'): return os.getenv('DAK_CONFIG') - res = socket.gethostbyaddr(socket.gethostname()) + res = socket.getfqdn() # In case we allow local config files per user, try if one exists - if Cnf.FindB("Config::" + res[0] + "::AllowLocalConfig"): + if Cnf.FindB("Config::" + res + "::AllowLocalConfig"): homedir = os.getenv("HOME") confpath = os.path.join(homedir, "/etc/dak.conf") if os.path.exists(confpath): @@ -751,27 +751,27 @@ def which_conf_file (): # We are still in here, so there is no local config file or we do # not allow local files. Do the normal stuff. - if Cnf.get("Config::" + res[0] + "::DakConfig"): - return Cnf["Config::" + res[0] + "::DakConfig"] + if Cnf.get("Config::" + res + "::DakConfig"): + return Cnf["Config::" + res + "::DakConfig"] return default_config def which_apt_conf_file (): - res = socket.gethostbyaddr(socket.gethostname()) + res = socket.getfqdn() # In case we allow local config files per user, try if one exists - if Cnf.FindB("Config::" + res[0] + "::AllowLocalConfig"): + if Cnf.FindB("Config::" + res + "::AllowLocalConfig"): homedir = os.getenv("HOME") confpath = os.path.join(homedir, "/etc/dak.conf") if os.path.exists(confpath): apt_pkg.ReadConfigFileISC(Cnf,default_config) - if Cnf.get("Config::" + res[0] + "::AptConfig"): - return Cnf["Config::" + res[0] + "::AptConfig"] + if Cnf.get("Config::" + res + "::AptConfig"): + return Cnf["Config::" + res + "::AptConfig"] else: return default_apt_config def which_alias_file(): - hostname = socket.gethostbyaddr(socket.gethostname())[0] + hostname = socket.getfqdn() aliasfn = '/var/lib/misc/'+hostname+'/forward-alias' if os.path.exists(aliasfn): return aliasfn