[Da-tools-commits] ./debian/userdir-ldap r493: Patch by Thomas Viehmann: remove code copy of getpass
Martin Zobel-Helas
zobel at debian.org
Sun Dec 14 01:12:28 UTC 2008
------------------------------------------------------------
revno: 493
committer: Martin Zobel-Helas <zobel at debian.org>
branch nick: userdir-ldap
timestamp: Sun 2008-12-14 02:12:28 +0100
message:
Patch by Thomas Viehmann: remove code copy of getpass
modified:
debian/changelog
ud-info
userdir_ldap.py
-------------- next part --------------
=== modified file 'debian/changelog'
--- a/debian/changelog 2008-12-14 01:00:05 +0000
+++ b/debian/changelog 2008-12-14 01:12:28 +0000
@@ -6,6 +6,9 @@
only boolean values are acceptable
* ud-generate: Add IPv6 addresses to debianhosts
(Patch by Thomas Viehmann)
+ * ud-info, userdir_ldap.py: remove function getpass and use the one
+ from python standard library getpass
+ (Patch by Thomas Viehmann)
--
=== modified file 'ud-info'
--- a/ud-info 2008-12-14 00:44:38 +0000
+++ b/ud-info 2008-12-14 01:12:28 +0000
@@ -18,13 +18,13 @@
# restricted variables.
# Copyright (c) 1999-2001 Jason Gunthorpe <jgg at debian.org>
-# Copyright (c) 2004-2005,7 Joey Schulze <joey at infodrom.org>
+# Copyright (c) 2004-2005,7,8 Joey Schulze <joey at infodrom.org>
# Copyright (c) 2001-2006 Ryan Murray <rmurray at debian.org>
# Copyright (c) 2008 Peter Palfrader <peter at palfrader.org>
# Copyright (c) 2008 Martin Zobel-Helas <zobel at debian.org>
# Copyright (c) 2008 Marc 'HE' Brockschmidt <he at debian.org>
# Copyright (c) 2008 Mark Hymers <mhy at debian.org>
-# Copyright (c) 2008 Joey Schulze <joey at infodrom.org>
+# Copyright (c) 2008 Thomas Viehmann <tv at beamnet.de>
#
# 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
@@ -40,7 +40,7 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-import time, os, pwd, sys, getopt, ldap, crypt, readline, copy;
+import time, os, pwd, sys, getopt, ldap, crypt, readline, copy, getpass
from userdir_ldap import *;
RootMode = 0;
@@ -346,17 +346,21 @@
print "as '" + BindUser + "'";
else:
print;
-if (BindUser != ""):
- Password = getpass(BindUser + "'s password: ");
# Connect to the ldap server
l = connectLDAP()
-UserDn = "uid=" + BindUser + "," + BaseDn;
if (BindUser != ""):
- l.simple_bind_s(UserDn,Password);
+ Password = getpass.getpass(BindUser + "'s password: ")
+ UserDn = "uid=" + BindUser + "," + BaseDn
else:
- l.simple_bind_s("","");
-UserDn = "uid=" + User + "," + BaseDn;
+ Password = ""
+ UserDn = ""
+try:
+ l.simple_bind_s(UserDn,Password)
+except ldap.LDAPError,e:
+ print >> sys.stderr, "LDAP error:", e.args[0]['desc']
+ print >> sys.stderr, " ", e.args[0]['info']
+ sys.exit(1)
# Enable changing of supplementary gid's
if (RootMode == 1):
@@ -417,8 +421,8 @@
print "contain spaces and other special characters. No checking is done on the";
print "strength of the passwords so pick good ones please!";
- Pass1 = getpass(User + "'s new password: ");
- Pass2 = getpass(User + "'s new password again: ");
+ Pass1 = getpass.getpass(User + "'s new password: ")
+ Pass2 = getpass.getpass(User + "'s new password again: ")
if Pass1 != Pass2:
print "Passwords did not match";
raw_input("Press a key");
=== modified file 'userdir_ldap.py'
--- a/userdir_ldap.py 2008-12-02 22:43:51 +0000
+++ b/userdir_ldap.py 2008-12-14 01:12:28 +0000
@@ -2,6 +2,7 @@
# Copyright (c) 2001-2003 Ryan Murray <rmurray at debian.org>
# Copyright (c) 2004-2005 Joey Schulze <joey at infodrom.org>
# Copyright (c) 2008 Peter Palfrader <peter at palfrader.org>
+# Copyright (c) 2008 Thomas Viehmann <tv at beamnet.de>
#
# 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
@@ -18,7 +19,7 @@
# 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, pwd, os;
+import termios, re, imp, ldap, sys, crypt, rfc822, pwd, os, getpass
import userdir_gpg
import hmac
import sha as sha1_module
@@ -117,28 +118,6 @@
l.start_tls_s();
return l;
-# Function to prompt for a password
-def getpass(prompt = "Password: "):
- import termios, sys;
- fd = sys.stdin.fileno();
- old = termios.tcgetattr(fd);
- new = termios.tcgetattr(fd);
- new[3] = new[3] & ~termios.ECHO; # lflags
- try:
- termios.tcsetattr(fd, termios.TCSADRAIN, new);
- try:
- passwd = raw_input(prompt);
- except KeyboardInterrupt:
- termios.tcsetattr(fd, termios.TCSADRAIN, old);
- print
- sys.exit(0)
- except EOFError:
- passwd = ""
- finally:
- termios.tcsetattr(fd, termios.TCSADRAIN, old);
- print;
- return passwd;
-
def passwdAccessLDAP(BaseDn, AdminUser):
"""
Ask for the AdminUser's password and connect to the LDAP server.
@@ -146,7 +125,7 @@
"""
print "Accessing LDAP directory as '" + AdminUser + "'";
while (1):
- Password = getpass(AdminUser + "'s password: ");
+ Password = getpass.getpass(AdminUser + "'s password: ")
if len(Password) == 0:
sys.exit(0)
More information about the Da-tools-commits
mailing list