fix ipv6 parsing. We would not properly handle empty blocks (i.e. ::).
[mirror/userdir-ldap.git] / ud-mailgate
index 02693b6..cd6b517 100755 (executable)
@@ -192,11 +192,10 @@ def DoArbChange(Str, Attrs):
     if attrName not in ArbChanges:
         return None
 
-    if re.match(ArbChanges[attrName], G[1]) is None:
+    value = G[1]
+    if re.match(ArbChanges[attrName], value) is None:
         raise UDFormatError("Item does not match the required format" + ArbChanges[attrName])
 
-    value = G[1];
-
     Attrs.append((ldap.MOD_REPLACE, attrName, value))
     return "Changed entry %s to %s" % (attrName, value)
 
@@ -434,7 +433,7 @@ def DoDNS(Str, Attrs, DnRecord):
             if p == "":
                 if seenEmptypart:
                     return "Invalid IPv6 address (%s): more than one :: (nothing in between colons) is not allowed" % (ipv6address)
-            seenEmptypart = True
+                seenEmptypart = True
             sanitized = "%s IN AAAA %s" % (hostname, ipv6address)
     else:
         raise UDFormatError("None of the types I recognize was it.  I shouldn't be here.  confused.")