# 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");
return int(GetAttr(res[0], "gidNumber"))
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]))