s4 upgradeprovision: fix a bug with empty reference objects
authorMatthieu Patou <mat@matws.net>
Sat, 18 Sep 2010 04:15:36 +0000 (08:15 +0400)
committerMatthieu Patou <mat@matws.net>
Sun, 26 Sep 2010 02:22:43 +0000 (06:22 +0400)
Thanks to lukas@eecs.qmul.ac.uk for poiting it to me

source4/scripting/bin/upgradeprovision

index 3c02569ba3b186a1c94bbdf5e36e24dc545a0d5e..7dda6b67a6436cb874a9c73f3a0d0e79bcafc121 100755 (executable)
@@ -852,8 +852,16 @@ def update_present(ref_samdb, samdb, basedn, listPresent, usns, invocationid):
                 # We have updated by provision usn information so let's exploit
                 # replMetadataProperties
                 if att in forwardlinked:
+                    if current[0].get():
+                        curval = current[0][att]
+                    else:
+                        curval = ()
+                    if reference[0].get():
+                        refval = reference[0][att]
+                    else:
+                        refval = ()
                     handle_links(samdb, att, basedn, current[0]["dn"],
-                                    current[0][att], reference[0][att], delta)
+                                    curval, refval, delta)
 
                 if isFirst == 0 and len(delta.items())>1:
                     isFirst = 1