removed os.getlogin() invocations

os.getlogin() fails if there is no controlling terminal (as in
a cron job)
This commit is contained in:
2018-01-03 12:13:08 +01:00
parent 76e74c146b
commit fbb9078e2a
3 changed files with 6 additions and 4 deletions

View File

@@ -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))

View File

@@ -1,6 +1,6 @@
package:
name: ldapuserdir
version: "2.1.3"
version: "2.1.4"
source:
path: ../../

View File

@@ -1 +1 @@
__version__ = "2.1.3"
__version__ = "2.1.4"