From mboxrd@z Thu Jan 1 00:00:00 1970 From: kupcevic@sourceware.org Date: 3 Aug 2006 22:58:27 -0000 Subject: [Cluster-devel] conga/luci/utils luci_admin Message-ID: <20060803225827.17892.qmail@sourceware.org> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit CVSROOT: /cvs/cluster Module name: conga Changes by: kupcevic at sourceware.org 2006-08-03 22:58:26 Modified files: luci/utils : luci_admin Log message: luci: use python getpass library to prompt for passwords Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/utils/luci_admin.diff?cvsroot=cluster&r1=1.40&r2=1.41 --- conga/luci/utils/luci_admin 2006/08/03 21:19:13 1.40 +++ conga/luci/utils/luci_admin 2006/08/03 22:58:26 1.41 @@ -68,30 +68,18 @@ verbose = null def read_passwd(prompt, confirm_prompt): - import termios - - # If 1 is not standard in, it's your own fault. - attr = termios.tcgetattr(0) - orig_attr = attr[:] - attr[3] &= ~termios.ECHO - - try: - termios.tcsetattr(1, termios.TCSADRAIN, attr) - passwd = raw_input(prompt) - print - confirm = raw_input(confirm_prompt) - print "\n" - termios.tcsetattr(1, termios.TCSADRAIN, orig_attr) - except: - termios.tcsetattr(1, termios.TCSADRAIN, orig_attr) - sys.stderr.write('Error reading passwords.\n') - return None - - if passwd != confirm: - sys.stderr.write('The passwords don\'t match.\n') - return None + from getpass import getpass + while True: + s1 = getpass(prompt) + if len(s1) < 6: + print 'Password has to be@least 6 characters long' + continue + s2 = getpass(confirm_prompt) + if s1 != s2: + print 'Passwords mismatch, try again' + continue + return s1 - return passwd def restore_luci_db_fsattr(): @@ -987,18 +975,13 @@ sys.exit(1) print 'Initializing the Luci server\n' print 'Generating SSL certificates...' - if generate_ssl_certs() == False: sys.stderr.write('failed. exiting ...\n') sys.exit(1) - print '\nCreating the \'admin\' user' - + print '\nCreating the \'admin\' user\n' password = read_passwd('Enter password: ', 'Confirm password: ') - if not password: - sys.exit(1) - print "Passwords match. Setting the admin password...\n" - + print '\nPlease wait...' if not set_zope_passwd('admin', password): restore_luci_db_fsattr() print 'The admin password has been successfully set.' @@ -1008,7 +991,7 @@ print 'The Luci server has been successfully initialized' restart_message() - + return @@ -1020,12 +1003,8 @@ sys.exit(1) print 'Resetting the admin user\'s password\n' - - password = read_passwd('Enter password: ', 'Confirm password: ') - if not password: - sys.exit(1) - print "Passwords match. Resetting the admin password...\n" - + password = read_passwd('Enter new password: ', 'Confirm password: ') + print '\nPlease wait...' if not set_zope_passwd('admin', password): print 'The admin password has been successfully reset.' else: