s4:provision: Make gc._msdcs DNS entries A/AAAA records
authorAndrew Kroeger <andrew@id10ts.net>
Sun, 13 Jun 2010 15:48:31 +0000 (10:48 -0500)
committerMatthias Dieter Wallnöfer <mdw@samba.org>
Mon, 14 Jun 2010 10:14:46 +0000 (12:14 +0200)
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.

source4/scripting/python/samba/provision.py
source4/setup/provision.zone

index dcf84624bfe130ae3e1fcae30937746093073773..60d7fc9271d6e75fcbdfd4daf54adbe613bb9bfb 100644 (file)
@@ -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
index 2c25fd08f8049c6f5f9e97517d21aa53614e38d0..2c8195b0b5910a812f9e37922d6cff14b7d40d1d 100644 (file)
@@ -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