Add support for this attribute in ud-info taking into account that
[mirror/userdir-ldap.git] / userdir_ldap.py
index 7d091f2..babfce0 100644 (file)
@@ -1,6 +1,7 @@
 #   Copyright (c) 1999-2000  Jason Gunthorpe <jgg@debian.org>
 #   Copyright (c) 2001-2003  Ryan Murray <rmurray@debian.org>
 #   Copyright (c) 2004-2005  Joey Schulze <joey@infodrom.org>
+#   Copyright (c) 2008 Peter Palfrader <peter@palfrader.org>
 #
 #   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
@@ -19,6 +20,8 @@
 # Some routines and configuration that are used by the ldap progams
 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");
@@ -40,14 +43,7 @@ TemplatesDir = ConfModule.templatesdir;
 PassDir = ConfModule.passdir;
 Ech_ErrorLog = ConfModule.ech_errorlog;
 Ech_MainLog = ConfModule.ech_mainlog;
-
-File = open(PassDir+"/key-hmac-"+pwd.getpwuid(os.getuid())[0],"r");
-HmacKey = File.readline().strip()
-File.close();
-
-# 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;
@@ -325,7 +321,7 @@ def FormatPGPKey(Str):
    if (len(Str) == 32):
       I = 0;
       while (I < len(Str)):
-         if I+2 == 32/2:
+         if I == 32/2:
             Res = "%s %s%s "%(Res,Str[I],Str[I+1]);
          else:
             Res = "%s%s%s "%(Res,Str[I],Str[I+1]);
@@ -334,7 +330,7 @@ def FormatPGPKey(Str):
       # OpenPGP Print
       I = 0;
       while (I < len(Str)):
-         if I+4 == 40/2:
+         if I == 40/2:
             Res = "%s %s%s%s%s "%(Res,Str[I],Str[I+1],Str[I+2],Str[I+3]);
          else:
             Res = "%s%s%s%s%s "%(Res,Str[I],Str[I+1],Str[I+2],Str[I+3]);
@@ -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]))