X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=userdir_ldap.py;h=3a43f4fddef4558e8d0bb3655a7b29066043f54d;hb=d28fd09fa421f8fd0a301a7976d25c92f3e4ef7a;hp=0eb4c13bbdb33ee65da5f19f3b3bf818abe09a73;hpb=14908ffbe8886fdd85bf143ef14200e0171c18cd;p=mirror%2Fuserdir-ldap.git diff --git a/userdir_ldap.py b/userdir_ldap.py index 0eb4c13..3a43f4f 100644 --- a/userdir_ldap.py +++ b/userdir_ldap.py @@ -1,6 +1,7 @@ # Copyright (c) 1999-2000 Jason Gunthorpe # Copyright (c) 2001-2003 Ryan Murray # Copyright (c) 2004-2005 Joey Schulze +# Copyright (c) 2008 Peter Palfrader # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,8 +18,10 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # Some routines and configuration that are used by the ldap progams -import termios, re, imp, ldap, sys, crypt, rfc822; +import termios, re, imp, ldap, sys, crypt, rfc822, pwd, os; import userdir_gpg +import hmac +import sha as sha1_module try: File = open("/etc/userdir-ldap/userdir-ldap.conf"); @@ -27,10 +30,6 @@ except: ConfModule = imp.load_source("userdir_config","/etc/userdir-ldap.conf",File); File.close(); -File = open(PassDir+"/key-hmac-"+pwd.getpwuid(os.getuid())[0],"r"); -HmacKey = F.readline().strip() -File.close(); - # Cheap hack BaseDn = ConfModule.basedn; HostBaseDn = ConfModule.hostbasedn; @@ -44,10 +43,7 @@ TemplatesDir = ConfModule.templatesdir; PassDir = ConfModule.passdir; Ech_ErrorLog = ConfModule.ech_errorlog; Ech_MainLog = ConfModule.ech_mainlog; - -# For backwards compatibility, we default to the old behaviour -MultipleSSHFiles = getattr(ConfModule, 'multiplesshfiles', False) -SingleSSHFile = getattr(ConfModule, 'singlesshfile', True) +HostDomain = getattr(ConfModule, "hostdomain", EmailAppend) try: UseSSL = ConfModule.usessl; @@ -456,7 +452,10 @@ def Group2GID(l, name): return -1 def make_hmac(str): + File = open(PassDir+"/key-hmac-"+pwd.getpwuid(os.getuid())[0],"r"); + HmacKey = File.readline().strip() + File.close(); return hmac.new(HmacKey, str, sha1_module).hexdigest() -def make_sudopasswd_hmac(purpose, uuid, hosts, cryptedpass): - return make_hmac(':'.join([purpose, uuid, hosts, cryptedpass])) +def make_passwd_hmac(status, purpose, uid, uuid, hosts, cryptedpass): + return make_hmac(':'.join([status, purpose, uid, uuid, hosts, cryptedpass]))