aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/gui/default_settings.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/gui/default_settings.py')
-rw-r--r--rpkid/rpki/gui/default_settings.py17
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()