summaryrefslogtreecommitdiffstats
path: root/ipalib/util.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipalib/util.py')
-rw-r--r--ipalib/util.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/ipalib/util.py b/ipalib/util.py
index df8791ba0..53b6c80c5 100644
--- a/ipalib/util.py
+++ b/ipalib/util.py
@@ -494,6 +494,19 @@ def get_dns_reverse_zone_update_policy(realm, reverse_zone, rrtypes=('PTR',)):
return policy
+# dictionary of valid reverse zone -> number of address components
+REVERSE_DNS_ZONES = {
+ '.in-addr.arpa.' : 4,
+ '.ip6.arpa.' : 32,
+}
+
+def zone_is_reverse(zone_name):
+ zone_name = normalize_zone(zone_name)
+ if any(zone_name.endswith(name) for name in REVERSE_DNS_ZONES):
+ return True
+
+ return False
+
def get_reverse_zone_default(ip_address):
ip = netaddr.IPAddress(ip_address)
items = ip.reverse_dns.split('.')