diff options
Diffstat (limited to 'rpkid/rpki/gui/default_settings.py')
-rw-r--r-- | rpkid/rpki/gui/default_settings.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/rpkid/rpki/gui/default_settings.py b/rpkid/rpki/gui/default_settings.py index ecde12e2..3859247c 100644 --- a/rpkid/rpki/gui/default_settings.py +++ b/rpkid/rpki/gui/default_settings.py @@ -103,9 +103,20 @@ SECRET_KEY = get_secret_key() # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts # for details on why you might need this. def get_allowed_hosts(): - allowed_hosts = rpki_config.multiget("allowed-hosts") - allowed_hosts.append(socket.getfqdn()) - return allowed_hosts + allowed_hosts = set(rpki_config.multiget("allowed-hosts")) + allowed_hosts.add(socket.getfqdn()) + try: + import netifaces + for interface in netifaces.interfaces(): + addresses = netifaces.ifaddresses(interface) + for af in (netifaces.AF_INET, netifaces.AF_INET6): + if af in addresses: + for address in addresses[af]: + if "addr" in address: + allowed_hosts.add(address["addr"]) + except ImportError: + pass + return list(allowed_hosts) ALLOWED_HOSTS = get_allowed_hosts() |