X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-mailgate;h=fdc3cfd28a145ec2b19eedbcb79c2e3015eb1702;hb=6e0774c6d01746bdf3677a230fcfa75839b58c61;hp=8439037ba63fd5b468984d80b437ea7d08203441;hpb=a4df7e3989cce6bdc8e30badc53e88ccb59cb429;p=mirror%2Fuserdir-ldap.git diff --git a/ud-mailgate b/ud-mailgate index 8439037..fdc3cfd 100755 --- a/ud-mailgate +++ b/ud-mailgate @@ -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); @@ -752,8 +751,8 @@ try: # Get the email ErrType = EX_PERMFAIL; ErrMsg = "Failed to understand the email or find a signature:"; - email = email.parser.Parser().parse(sys.stdin); - Msg = GetClearSig(email); + mail = email.parser.Parser().parse(sys.stdin); + Msg = GetClearSig(mail); ErrMsg = "Message is not PGP signed:" if Msg[0].find("-----BEGIN PGP SIGNED MESSAGE-----") == -1 and \ @@ -802,8 +801,8 @@ try: # Determine the sender address ErrMsg = "A problem occured while trying to formulate the reply"; - Sender = email['Reply-To'] - if not Sender: Sender = email['From'] + Sender = mail['Reply-To'] + if not Sender: Sender = mail['From'] if not Sender: raise UDFormatError, "Unable to determine the sender's address"; # Formulate a reply