removed os.getlogin() invocations
os.getlogin() fails if there is no controlling terminal (as in a cron job)
This commit is contained in:
@@ -5,6 +5,7 @@ from ldapuserdir import LdapUserDir, __version__ as libversion, LdapUserDirError
|
||||
import ldap
|
||||
import sys
|
||||
import os
|
||||
import pwd
|
||||
from optparse import OptionParser
|
||||
import ConfigParser
|
||||
import getpass
|
||||
@@ -288,6 +289,7 @@ if ',' not in user_dn:
|
||||
user_dn = 'CN=' + user_dn + ',' + config['user_ou']
|
||||
|
||||
if flag_needprivileges and user_dn == config['default_user_dn']:
|
||||
loginname = pwd.getpwuid(os.getuid())[0]
|
||||
try:
|
||||
l_unpriv = LdapUserDir(config['serverurl'],
|
||||
config['default_user_dn'],
|
||||
@@ -295,13 +297,13 @@ if flag_needprivileges and user_dn == config['default_user_dn']:
|
||||
user_ou = config['user_ou'],
|
||||
logger = mylogger)
|
||||
try:
|
||||
user_dn = l_unpriv.systemuser2dn(os.getlogin())
|
||||
user_dn = l_unpriv.systemuser2dn(loginname)
|
||||
except LdapUserDirError, err:
|
||||
if str(err) == 'No such user':
|
||||
sys.stderr.write('''
|
||||
Error: Need priviledged user and cannot map your system user "%s"
|
||||
to LDAP DN for binding (you may want to use the explicit -D user_dn option)
|
||||
''' % os.getlogin() )
|
||||
''' % loginname)
|
||||
sys.exit(1)
|
||||
else:
|
||||
sys.stderr.write('Uncaught Error: %s' % str(err))
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package:
|
||||
name: ldapuserdir
|
||||
version: "2.1.3"
|
||||
version: "2.1.4"
|
||||
|
||||
source:
|
||||
path: ../../
|
||||
|
||||
@@ -1 +1 @@
|
||||
__version__ = "2.1.3"
|
||||
__version__ = "2.1.4"
|
||||
|
||||
Reference in New Issue
Block a user