X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=userdir_ldap.py;h=827d8b1e6ee2bd79717d81b5bcd4520c9a348be8;hb=c36736bdd1248d73961a9c5df8f3b8e0434b75f1;hp=888158e97c50508064c7e642def0f642a846d540;hpb=205ad9a922a6940ad5c85104f3fd08c5b4874138;p=mirror%2Fuserdir-ldap.git diff --git a/userdir_ldap.py b/userdir_ldap.py index 888158e..827d8b1 100644 --- a/userdir_ldap.py +++ b/userdir_ldap.py @@ -32,7 +32,7 @@ LastNamesPre = {"van": None, "le": None, "de": None, "di": None}; # SSH Key splitting. The result is: # (options,size,modulous,exponent,comment) SSHAuthSplit = re.compile('^(.* )?(\d+) (\d+) (\d+) ?(.+)$'); -SSHDSAAuthSplit = re.compile('^ssh-dss ([a-zA-Z0-9=/+]+) (.+)$'); +SSH2AuthSplit = re.compile('^(.* )?ssh-(dss|rsa) ([a-zA-Z0-9=/+]+) (.+)$'); #'^([^\d](?:[^ "]+(?:".*")?)*)? ?(\d+) (\d+) (\d+) (.+)$'); AddressSplit = re.compile("(.*).*<([^@]*)@([^>]*)>"); @@ -215,17 +215,19 @@ def DecDegree(Posn,Anon=0): return Str; def FormatSSH2Auth(Str): - Match = SSHDSAAuthSplit.match(Str); + Match = SSH2AuthSplit.match(Str); if Match == None: return ""; G = Match.groups(); - return "ssh-dss %s..%s %s"%(G[0][:8],G[0][-8:],G[1]); + if G[0] == None: + return "ssh-%s %s..%s %s"%(G[1],G[2][:8],G[2][-8:],G[3]); + return "%s ssh-%s %s..%s %s"%(G[0],G[1],G[2][:8],G[2][-8:],G[3]); def FormatSSHAuth(Str): Match = SSHAuthSplit.match(Str); if Match == None: - return ""; + return FormatSSH2Auth(Str); G = Match.groups(); # No options