Do not try to do an ldap modify with no changes - now show command to changes@ should...
[mirror/userdir-ldap.git] / ud-mailgate
index 1ec0e9f..fdc3cfd 100755 (executable)
@@ -615,7 +615,7 @@ def HandleChange(Reply,DnRecord,Key):
    # Connect to the ldap server
    l = connect_to_ldap_and_check_if_locked(DnRecord)
 
-   if CommitChanges == 1: # only if we are still good to go
+   if CommitChanges == 1 and len(Attrs) > 0: # only if we are still good to go
       try:
          Res = FinishConfirmSudopassword(l, GetAttr(DnRecord,"uid"), Attrs)
          if not Res is None:
@@ -624,8 +624,7 @@ def HandleChange(Reply,DnRecord,Key):
          CommitChanges = 0
          Result = Result + "FinishConfirmSudopassword raised an error (%s) - no changes committed\n"%(e);
 
-   # Modify the record
-   if CommitChanges == 1:
+   if CommitChanges == 1 and len(Attrs) > 0:
       Dn = "uid=" + GetAttr(DnRecord,"uid") + "," + BaseDn;
       l.modify_s(Dn,Attrs);