X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=blobdiff_plain;f=ud-mailgate;h=c01513c1b3c95b611253c8f05d3c6ffe20faf1c0;hp=fb5b7ba88a60bd05695422242f196b8e56190e7d;hb=4767c94f71bc35ba279bc53ae0649702e940eb38;hpb=ff8414ee178cde843c3174e481b6c19d6f7bf116 diff --git a/ud-mailgate b/ud-mailgate index fb5b7ba..c01513c 100755 --- a/ud-mailgate +++ b/ud-mailgate @@ -96,7 +96,7 @@ DelItems = {"c": None, }; def make_hmac(str): - F = open(PassDir+"/key-hmac","r"); + F = open(PassDir+"/key-hmac-"+pwd.getpwuid(os.getuid())[0],"r"); key = F.readline().strip() F.close(); @@ -482,15 +482,14 @@ def FinishConfirmSudopassword(l, uid, Attrs): res = l.search_s(BaseDn,ldap.SCOPE_ONELEVEL,"uid="+uid, ['sudoPassword']); if len(res) != 1: raise Error, "Not exactly one hit when searching for user" - Attrs = res[0][1] - if Attrs.has_key('sudoPassword'): - inldap = Attrs['sudoPassword'] + if res[0][1].has_key('sudoPassword'): + inldap = res[0][1]['sudoPassword'] else: inldap = [] newldap = [] for entry in inldap: - Match = re.compile('^('+UUID_FORMAT+') (confirmed|unconfirmed) ([a-z0-9,*]+) ([^ ]+)$'),match(entry.lower()) + Match = re.compile('^('+UUID_FORMAT+') (confirmed|unconfirmed) ([a-z0-9,*]+) ([^ ]+)$').match(entry.lower()) if Match == None: raise Error, "Could not parse existing sudopasswd entry" uuid = Match.group(1) @@ -514,9 +513,9 @@ def FinishConfirmSudopassword(l, uid, Attrs): newentry = " ".join([uuid, status, hosts, cryptedpass]) if len(newldap) == 0: - newldap.append((ldap.MOD_ADD,"sudoPassword",newentry)) - else: newldap.append((ldap.MOD_REPLACE,"sudoPassword",newentry)) + else: + newldap.append((ldap.MOD_ADD,"sudoPassword",newentry)) for entry in SudoPasswd: result = result + "Entry %s that you confirm is not listed in ldap."%(entry)