X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=ud-mailgate;h=4fa2edf0f1f3ee6f043d5be7bde8fb8b0a787946;hb=f27db3e7f5d3bb3fe0d36e1ab15e143ce45d269d;hp=b158ba885b813fd548f8b09694075cbf7f8ed259;hpb=a9ebb6f2afbf0fbc0e94ab73726dedb6a8ae5d75;p=mirror%2Fuserdir-ldap.git diff --git a/ud-mailgate b/ud-mailgate index b158ba8..4fa2edf 100755 --- a/ud-mailgate +++ b/ud-mailgate @@ -30,7 +30,7 @@ SeenList = {} DNS = {} SSHFingerprint = re.compile('^(\d+) ([0-9a-f\:]{47}) (.+)$') -SSHRSA1Match = re.compile('^\d+ (\d+) \d+ .*') +SSHRSA1Match = re.compile('^^(.* )?\d+ \d+ \d+') ArbChanges = {"c": "..", "l": ".*", @@ -239,10 +239,12 @@ def LoadBadSSH(): # [options] 1024 35 13188913666680[..] [comment] def DoSSH(Str, Attrs, badkeys, uid): Match = SSH2AuthSplit.match(Str); + if Match == None: + return None; g = Match.groups() typekey = g[1] if Match == None: - Match =SSHRSA1Match.match(Str) + Match = SSHRSA1Match.match(Str) if Match is not None: return "RSA1 keys not supported anymore" return None; @@ -549,7 +551,8 @@ def HandleChPass(Reply,DnRecord,Key): raise Error, "This account is locked"; # Modify the password - Rec = [(ldap.MOD_REPLACE,"userPassword","{crypt}"+Pass)]; + Rec = [(ldap.MOD_REPLACE,"userPassword","{crypt}"+Pass), + (ldap.MOD_REPLACE,"shadowLastChange",str(int(time.time()/24/60/60)))]; Dn = "uid=" + GetAttr(DnRecord,"uid") + "," + BaseDn; l.modify_s(Dn,Rec);