add webPassword
[mirror/userdir-ldap.git] / userdir_ldap.py
index d1881f7..9e99899 100644 (file)
@@ -22,7 +22,7 @@
 import termios, re, imp, ldap, sys, crypt, rfc822, pwd, os, getpass
 import userdir_gpg
 import hmac
-import sha as sha1_module
+import hashlib
 
 try:
    File = open("/etc/userdir-ldap/userdir-ldap.conf");
@@ -38,7 +38,8 @@ LDAPServer = ConfModule.ldaphost;
 EmailAppend = ConfModule.emailappend;
 AdminUser = ConfModule.adminuser;
 GenerateDir = ConfModule.generatedir;
-GenerateConf = ConfModule.generateconf;
+AllowedGroupsPreload = ConfModule.allowedgroupspreload;
+HomePrefix = ConfModule.homeprefix;
 DefaultGID = ConfModule.defaultgid;
 TemplatesDir = ConfModule.templatesdir;
 PassDir = ConfModule.passdir;
@@ -431,10 +432,13 @@ 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()
+   if 'UD_HMAC_KEY' in os.environ:
+      HmacKey = os.environ['UD_HMAC_KEY']
+   else:
+      File = open(PassDir+"/key-hmac-"+pwd.getpwuid(os.getuid())[0],"r");
+      HmacKey = File.readline().strip()
+      File.close();
+   return hmac.new(HmacKey, str, hashlib.sha1).hexdigest()
 
 def make_passwd_hmac(status, purpose, uid, uuid, hosts, cryptedpass):
    return make_hmac(':'.join([status, purpose, uid, uuid, hosts, cryptedpass]))