X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;ds=sidebyside;f=userdir_ldap.py;h=215d8e8e77d99a3356c315366c6331110e1616f1;hb=9e12b8afdff493484472237a47962f7729e90b28;hp=2511c71b7949439c345fca8a36b413c8956b0a34;hpb=208028a3eeda5a5b17575cc6ad07e8cfa05bb896;p=mirror%2Fuserdir-ldap.git diff --git a/userdir_ldap.py b/userdir_ldap.py index 2511c71..215d8e8 100644 --- a/userdir_ldap.py +++ b/userdir_ldap.py @@ -1,5 +1,5 @@ # Some routines and configuration that are used by the ldap progams -import termios, TERMIOS, re, string, imp, ldap, sys, whrandom, crypt, rfc822; +import termios, re, string, imp, ldap, sys, whrandom, crypt, rfc822; import userdir_gpg try: @@ -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+) ?(.+)$'); -SSH2AuthSplit = re.compile('^(.* )?ssh-(dss|rsa) ([a-zA-Z0-9=/+]+) (.+)$'); +SSH2AuthSplit = re.compile('^(.* )?ssh-(dss|rsa) ([a-zA-Z0-9=/+]+) ?(.+)$'); #'^([^\d](?:[^ "]+(?:".*")?)*)? ?(\d+) (\d+) (\d+) (.+)$'); AddressSplit = re.compile("(.*).*<([^@]*)@([^>]*)>"); @@ -70,16 +70,16 @@ def PrettyShow(DnRecord): # Function to prompt for a password def getpass(prompt = "Password: "): - import termios, TERMIOS, sys; + import termios, sys; fd = sys.stdin.fileno(); old = termios.tcgetattr(fd); new = termios.tcgetattr(fd); - new[3] = new[3] & ~TERMIOS.ECHO; # lflags + new[3] = new[3] & ~termios.ECHO; # lflags try: - termios.tcsetattr(fd, TERMIOS.TCSADRAIN, new); + termios.tcsetattr(fd, termios.TCSADRAIN, new); passwd = raw_input(prompt); finally: - termios.tcsetattr(fd, TERMIOS.TCSADRAIN, old); + termios.tcsetattr(fd, termios.TCSADRAIN, old); print; return passwd; @@ -146,7 +146,7 @@ def GenPass(): def HashPass(Password): # Hash it telling glibc to use the MD5 algorithm - if you dont have # glibc then just change Salt = "$1$" to Salt = ""; - SaltVals = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/."; + SaltVals = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/."; Salt = "$1$"; Rand = open("/dev/urandom"); for x in range(0,10): @@ -186,7 +186,7 @@ def FlushOutstanding(l,Outstanding,Fast=0): # Convert a lat/long attribute into Decimal degrees def DecDegree(Posn,Anon=0): - Parts = re.match('[+-]?(\d*)\\.?(\d*)?',Posn).groups(); + Parts = re.match('[-+]?(\d*)\\.?(\d*)',Posn).groups(); Val = string.atof(Posn); if (abs(Val) >= 1806060.0):