dbcheck: add find_repl_attid() helper function
authorStefan Metzmacher <metze@samba.org>
Thu, 28 Feb 2019 17:16:27 +0000 (18:16 +0100)
committerKarolin Seeger <kseeger@samba.org>
Thu, 28 Mar 2019 12:19:13 +0000 (12:19 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13816

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
(cherry picked from commit 598e38d2a5e0832429ba65b4e55bf7127618f894)

python/samba/dbchecker.py

index a11e76038e55cccc4e998ac4776f862810fd44f8..4b21cab80b7537100f93798409a0137891efc727 100644 (file)
@@ -1454,6 +1454,12 @@ newSuperior: %s""" % (str(from_dn), str(to_rdn), str(to_base)))
 
         return error_count
 
+    def find_repl_attid(self, repl, attid):
+        for o in repl.ctr.array:
+            if o.attid == attid:
+                return o
+
+        return None
 
     def get_originating_time(self, val, attid):
         '''Read metadata properties and return the originating time for
@@ -1463,12 +1469,9 @@ newSuperior: %s""" % (str(from_dn), str(to_rdn), str(to_base)))
         '''
 
         repl = ndr_unpack(drsblobs.replPropertyMetaDataBlob, str(val))
-        obj = repl.ctr
-
-        for o in repl.ctr.array:
-            if o.attid == attid:
-                return o.originating_change_time
-
+        o = self.find_repl_attid(repl, attid)
+        if o is not None:
+            return o.originating_change_time
         return 0
 
     def process_metadata(self, dn, val):