KCC: consistently use ndr_pack() for DSA GUID comparisons
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Mon, 16 Mar 2015 22:57:22 +0000 (11:57 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Fri, 29 May 2015 04:58:25 +0000 (06:58 +0200)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/kcc_utils.py
source4/scripting/bin/samba_kcc

index 707119d211f27caf2e03872883d2931eac6b5b9e..61d18948f1debfa6802e63df4b167d3fbacd7b95 100644 (file)
@@ -2304,7 +2304,8 @@ def get_dsa_config_rep(dsa):
 
 
 def sort_dsa_by_guid(dsa1, dsa2):
-    return cmp(dsa1.dsa_guid, dsa2.dsa_guid)
+    "use ndr_pack for GUID comparison, as appears correct in some places"""
+    return cmp(ndr_pack(dsa1.dsa_guid), ndr_pack(dsa2.dsa_guid))
 
 def total_schedule(schedule):
     if schedule is None:
index 42a06e682d3fcdda6577b6df71fa61c39da97111..564d6eacab145d5abe5c9f70619869e524f7d600 100755 (executable)
@@ -2840,8 +2840,6 @@ dsServiceName: CN=NTDS Settings,%s
 # Global Functions
 ##################################################
 def sort_replica_by_dsa_guid(rep1, rep2):
-    DEBUG_GREEN((ndr_pack(rep1.rep_dsa_guid), ndr_pack(rep2.rep_dsa_guid),
-                 cmp(rep1.rep_dsa_guid, rep2.rep_dsa_guid), cmp(ndr_pack(rep1.rep_dsa_guid), ndr_pack(rep2.rep_dsa_guid))))
     return cmp(ndr_pack(rep1.rep_dsa_guid), ndr_pack(rep2.rep_dsa_guid))
 
 def sort_dsa_by_gc_and_guid(dsa1, dsa2):
@@ -2849,8 +2847,7 @@ def sort_dsa_by_gc_and_guid(dsa1, dsa2):
         return -1
     if not dsa1.is_gc() and dsa2.is_gc():
         return +1
-    DEBUG_CYAN((dsa1.dsa_guid, dsa2.dsa_guid, cmp(dsa1.dsa_guid, dsa2.dsa_guid)))
-    return cmp(dsa1.dsa_guid, dsa2.dsa_guid)
+    return cmp(ndr_pack(dsa1.dsa_guid), ndr_pack(dsa2.dsa_guid))
 
 def is_smtp_replication_available():
     """Currently always returns false because Samba