summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorAndrew Kroeger <andrew@id10ts.net>2010-06-13 10:48:31 -0500
committerMatthias Dieter Wallnöfer <mdw@samba.org>2010-06-14 12:14:46 +0200
commit352fb5c7e4465de938910a531b3ad640a37a6553 (patch)
tree1bdb5d99e8b40f36fbb9df04469c5613e45efbda /source4
parent3f54b415199d8fd2f9a36ec83e159d2aae5b0c3b (diff)
downloadsamba-352fb5c7e4465de938910a531b3ad640a37a6553.tar.gz
samba-352fb5c7e4465de938910a531b3ad640a37a6553.tar.bz2
samba-352fb5c7e4465de938910a531b3ad640a37a6553.zip
s4:provision: Make gc._msdcs DNS entries A/AAAA records
When adding an additional DC as a GC server, the new DC attempts to register its own gc._msdcs records. If the existing gc._msdcs record is a CNAME, BIND fails the update with the message "attempt to add non-CNAME alongside CNAME ignored", and the new DC is not registered as a GC server. The A & AAAA record types for gc._msdcs have been verified against the DNS server of a W2K8 DC.
Diffstat (limited to 'source4')
-rw-r--r--source4/scripting/python/samba/provision.py6
-rw-r--r--source4/setup/provision.zone3
2 files changed, 8 insertions, 1 deletions
diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py
index dcf84624bf..60d7fc9271 100644
--- a/source4/scripting/python/samba/provision.py
+++ b/source4/scripting/python/samba/provision.py
@@ -1516,16 +1516,20 @@ def create_zone_file(lp, logger, paths, targetdir, setup_path, dnsdomain,
if hostip6 is not None:
hostip6_base_line = " IN AAAA " + hostip6
hostip6_host_line = hostname + " IN AAAA " + hostip6
+ gc_msdcs_ip6_line = "gc._msdcs IN AAAA " + hostip6
else:
hostip6_base_line = ""
hostip6_host_line = ""
+ gc_msdcs_ip6_line = ""
if hostip is not None:
hostip_base_line = " IN A " + hostip
hostip_host_line = hostname + " IN A " + hostip
+ gc_msdcs_ip_line = "gc._msdcs IN A " + hostip
else:
hostip_base_line = ""
hostip_host_line = ""
+ gc_msdcs_ip_line = ""
dns_dir = os.path.dirname(paths.dns)
@@ -1553,6 +1557,8 @@ def create_zone_file(lp, logger, paths, targetdir, setup_path, dnsdomain,
"NTDSGUID": ntdsguid,
"HOSTIP6_BASE_LINE": hostip6_base_line,
"HOSTIP6_HOST_LINE": hostip6_host_line,
+ "GC_MSDCS_IP_LINE": gc_msdcs_ip_line,
+ "GC_MSDCS_IP6_LINE": gc_msdcs_ip6_line,
})
# note that we use no variable substitution on this file
diff --git a/source4/setup/provision.zone b/source4/setup/provision.zone
index 2c25fd08f8..2c8195b0b5 100644
--- a/source4/setup/provision.zone
+++ b/source4/setup/provision.zone
@@ -14,7 +14,8 @@ ${HOSTIP_BASE_LINE}
;
${HOSTIP6_HOST_LINE}
${HOSTIP_HOST_LINE}
-gc._msdcs IN CNAME ${HOSTNAME}
+${GC_MSDCS_IP_LINE}
+${GC_MSDCS_IP6_LINE}
${NTDSGUID}._msdcs IN CNAME ${HOSTNAME}
;
; global catalog servers