fedora-accounts export-aliases.py, 1.9, 1.10 export-shell-accounts.sh, 1.8, 1.9 reset-password.cgi, 1.8, 1.9 run-make-components.sh, 1.3, 1.4 userbox.cgi, 1.38, 1.39
Toshio Ernie Kuratomi (toshio)
fedora-extras-commits at redhat.com
Wed Jun 13 03:53:41 UTC 2007
Author: toshio
Update of /cvs/fedora/fedora-accounts
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv32088
Modified Files:
export-aliases.py export-shell-accounts.sh reset-password.cgi
run-make-components.sh userbox.cgi
Log Message:
* Assorted fixes that have accumulated over time.
- export-alias.py: Rewritten parsing of email addresses.
- export-shell-accounts.sh: Added torrent and bastion.
- reset-password.cgi: Better language to describe the resetting of passwords.
- run-make-components.sh: Don't analyze owners.epel.list as well as
owners.list.
- userbox.cgi: Fix indentation of many lines.
Index: export-aliases.py
===================================================================
RCS file: /cvs/fedora/fedora-accounts/export-aliases.py,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- export-aliases.py 8 Oct 2006 20:26:39 -0000 1.9
+++ export-aliases.py 13 Jun 2007 03:53:39 -0000 1.10
@@ -3,7 +3,6 @@
import sys, os, errno
import website
import getopt
-import re
opts, args = getopt.getopt(sys.argv[1:], '', ('usage', 'help'))
if len(args) != 3 or ('--usage','') in opts or ('--help','') in opts:
@@ -36,7 +35,8 @@
while 1:
arow = dbc.fetchone()
if not arow: break
- if re.compile("^[A-Z0-9._-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$", re.IGNORECASE).match(arow[1]):
+ x = arow[1].find('@')
+ if x >= 0 and arow[1][x:] != ('@' + local_domain):
fh_aliases_new.write('%s: %s\n' % (arow[0], arow[1]))
fh_aliases_new.write('%s: %s\n' % (arow[2].replace(' ', '.').lower(), arow[0]))
Index: export-shell-accounts.sh
===================================================================
RCS file: /cvs/fedora/fedora-accounts/export-shell-accounts.sh,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- export-shell-accounts.sh 2 Mar 2007 20:55:51 -0000 1.8
+++ export-shell-accounts.sh 13 Jun 2007 03:53:39 -0000 1.9
@@ -1,6 +1,6 @@
#!/bin/sh
-for I in buildsign build cvs main web fpserv all; do
+for I in buildsign build cvs main web fpserv torrent all bastion; do
mkdir -p /var/www/html/admin/accounts/shell-accounts-$I
done
ESA=/var/www/html/admin/accounts/export-shell-accounts.py
@@ -11,8 +11,10 @@
$ESA /var/www/html/admin/accounts/shell-accounts-all sysadmin-build sysadmin-cvs sysadmin-main sysadmin-web
$ESA /var/www/html/admin/accounts/shell-accounts-buildsign sysadmin-build sysadmin-main extras_signers
$ESA /var/www/html/admin/accounts/shell-accounts-fpserv sysadmin-web sysadmin-main extras_signers
+$ESA /var/www/html/admin/accounts/shell-accounts-bastion sysadmin-web sysadmin-main sysadmin-general sysadmin-build sysadmin-cvs
+$ESA /var/www/html/admin/accounts/shell-accounts-torrent sysadmin-web sysadmin-main torrentadmin
-for I in buildsign build cvs main web fpserv all; do
+for I in buildsign build cvs main web fpserv torrent all bastion; do
pushd /var/www/html/admin/accounts/shell-accounts-$I &> /dev/null || exit 1
tar -czf /var/www/html/admin/accounts/shell-accounts-$I.tar.gz.new .
popd &> /dev/null
Index: reset-password.cgi
===================================================================
RCS file: /cvs/fedora/fedora-accounts/reset-password.cgi,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- reset-password.cgi 11 Jul 2006 09:13:08 -0000 1.8
+++ reset-password.cgi 13 Jun 2007 03:53:39 -0000 1.9
@@ -59,24 +59,17 @@
fhr, fh = popen2.popen2("/usr/sbin/sendmail -t")
fhr.close()
fh.write("""To: %s <%s>
-Subject: Fedora Account System Password Reset Request
+Subject: Fedora password reset
From: Fedora Account System <%s>
-You or someone posing as you has requested that your password in the
-Fedora Account System be reset.
+Please go to %sreset-password.cgi?username=%s&magic=%s&timeout=%s
+to retrieve a temporary password. This link is valid for the next 72 hours.
-To reset your password, enter the following URL in your browser:
-
-%sreset-password.cgi?username=%s&magic=%s&timeout=%s
-
-This will issue you a temporary password. This URL is valid for 72 hours.
-
-If you did not request a password reset, do nothing and your password will
-not be changed.
+-- The Fedora administrators
""" % (arow['human_name'], arow['email'], website.accounts_email,
website.accounts_url, arow['username'], gen_magic(arow['username'], the_timeout), the_timeout))
fh.close()
- print "A URL has been emailed to you. Please use it to retrieve a temporary password."
+ print "A URL has been e-mailed to you. Please click on it to retrieve a temporary password."
website.print_footer("Reset password")
sys.exit(0)
else:
@@ -88,12 +81,10 @@
else:
website.print_header("Reset password")
print """
-<p>Enter your account information to reset your password.</p>
-<form method="post" action="reset-password.cgi">
-<p>Username (or E-mail):</p>
-<input type="text" name="username" maxlength="80" size="24" value="%s">
-<p>Select "Reset" to have a URL emailed to you that will allow you to reset your password.</p>
-<input type="submit" value="Reset">
+Enter your account information to reset your password
+<form method=post action=reset-password.cgi>
+Username (or E-mail): <input type=text name=username maxlength=80 size=24 value="%s"><br>
+<input type=submit value="Reset">
</form>
""" % (username, )
Index: run-make-components.sh
===================================================================
RCS file: /cvs/fedora/fedora-accounts/run-make-components.sh,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- run-make-components.sh 26 Feb 2007 11:52:16 -0000 1.3
+++ run-make-components.sh 13 Jun 2007 03:53:39 -0000 1.4
@@ -9,8 +9,7 @@
for I in $REPOS; do
cvs -d :pserver:anonymous at cvs.fedora.redhat.com:/cvs/$I co -p owners/owners.list > $I.list 2>/dev/null
- cvs -d :pserver:anonymous at cvs.fedora.redhat.com:/cvs/$I co -p owners/owners.epel.list > $I.epel.list 2>/dev/null
- FILES="$FILES ${I}.list ${I}.epel.list"
+ FILES="$FILES ${I}.list"
done
$BINDIR/bz-make-components.py $FILES
Index: userbox.cgi
===================================================================
RCS file: /cvs/fedora/fedora-accounts/userbox.cgi,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -r1.38 -r1.39
--- userbox.cgi 27 Apr 2007 15:03:15 -0000 1.38
+++ userbox.cgi 13 Jun 2007 03:53:39 -0000 1.39
@@ -25,10 +25,10 @@
if not value or not value.strip():
return "Must be filled in"
if len(value) < 8 or len(value) > 16:
- return "Wrong length - must be 8-16 hex chars"
+ return "Wrong length - must be 8-16 hex chars"
m = re.match('[0-9a-f]+', value.lower())
if not m or m.end() < len(value):
- return "Invalid GPG KeyID"
+ return "Invalid GPG KeyID"
def check_notempty_onnew(form, field_info, value, action):
if action != 'create':
@@ -41,7 +41,7 @@
if action != 'create' and not value:
return
if not value or not value.strip():
- return
+ return "Must be filled in"
value = value.strip()
keylines = value.split('\n')
for keyline in keylines:
@@ -91,7 +91,7 @@
{'desc':'Facsimile', 'name':'facsimile', 'maxlen':128},
{'desc':'Affiliation', 'name':'affiliation', 'maxlen':64},
{'desc':'<a href="http://fedoraproject.org/wiki/DocsProject/UsingGpg/CreatingKeys">GPG KeyID</a>',
- 'name':'gpg_keyid', 'maxlen':16, 'check':check_gpg_keyid},
+ 'name':'gpg_keyid', 'maxlen':16, 'check':check_gpg_keyid},
{'desc':'SSHv2 Public Key (attach your ~/.ssh/id_dsa.pub file here)', 'name':'ssh_key', 'maxlen':2048, 'type':'file', 'check':check_sshkey, 'strip':1},
{'desc':'Password', 'name':'password', 'maxlen':20, 'check':check_notempty, 'type':'password',
'check':check_notempty_onnew, 'edit_reuse':0},
@@ -121,16 +121,16 @@
curval = fs.value
elif I.get('edit_reuse', 1):
curval = field_values.get(I['name'], '')
- if curval is None:
+ if curval is None:
curval = ''
if I.get('strip', 0):
- curval = curval.strip()
+ curval = curval.strip()
if got_submit:
cfunc = I.get('check')
if cfunc:
objection = cfunc(form, I, curval, action)
print "<tr><td align=left valign=top>"
- the_desc = I['desc']
+ the_desc = I['desc']
if not I.has_key('check'):
the_desc += ' (optional)'
if objection is not None and can_edit:
@@ -141,16 +141,16 @@
print "%s: " % the_desc
print "</td><td align=left>"
if not can_edit:
- print '<input type=hidden name="%s" value="%s">%s' % (I['name'], curval, curval)
- else:
- if I.get('type', 'text') != 'text':
+ print '<input type=hidden name="%s" value="%s">%s' % (I['name'], curval, curval)
+ else:
+ if I.get('type', 'text') != 'text':
print '<input type="%s" name="%s" value="%s">' % (I['type'], I['name'], curval)
- elif I['maxlen'] >= 1024:
- print '<textarea name="%s" rows=4 cols=60>%s</textarea>' % (I['name'], curval)
- else:
- print '<input type="text" name="%s" value="%s" maxlength=%s size=%s>' % (I['name'], curval,
- I['maxlen'],
- min(I['maxlen'], 60))
+ elif I['maxlen'] >= 1024:
+ print '<textarea name="%s" rows=4 cols=60>%s</textarea>' % (I['name'], curval)
+ else:
+ print '<input type="text" name="%s" value="%s" maxlength=%s size=%s>' % (I['name'], curval,
+ I['maxlen'],
+ min(I['maxlen'], 60))
if I.has_key('notes'):
print "</td></tr><tr><td colspan=2><i>%s</i>" % I['notes']
print "<br><br></td></tr>"
@@ -168,13 +168,13 @@
if not I.get('skip_empty', 1):
val = ''
if form.has_key(I['name']):
- fs = form[I['name']]
+ fs = form[I['name']]
val = fs.value
- if I.get('strip', 0):
- val = val.strip()
+ if I.get('strip', 0):
+ val = val.strip()
field_values[I['name']] = val
- field_values['approval_status'] = 'approved'
- field_values['username'] = field_values['username'].lower()
+ field_values['approval_status'] = 'approved'
+ field_values['username'] = field_values['username'].lower()
try:
dbc.execute("INSERT INTO person (username, human_name, email, gpg_keyid, ssh_key, password, comments, postal_address, affiliation, telephone, facsimile, approval_status) VALUES (%(username)s, %(human_name)s, %(email)s, %(gpg_keyid)s, %(ssh_key)s, %(password)s, %(comments)s, %(postal_address)s, %(affiliation)s, %(telephone)s, %(facsimile)s, %(approval_status)s)",
field_values)
@@ -196,10 +196,10 @@
if not form.has_key(Iname):
value = ''
else:
- fs = form[Iname]
+ fs = form[Iname]
value = fs.value
- if I.get('strip', 0):
- value = value.strip()
+ if I.get('strip', 0):
+ value = value.strip()
if value != arow[Iname] and (not I.get('skip_empty', 1) or value):
changes.append((Iname, value))
if not len(changes):
@@ -247,17 +247,17 @@
username = None
if action == 'edit' and (not form.has_key('username') or not form['username'].value):
- username = auth_username
+ username = auth_username
if form.has_key('username') and action != 'create':
username = form['username'].value
if username != auth_username and not website.have_group(dbh, auth_username, 'accounts'):
- print "Here are some of the main details about this user:"
+ print "Here are some of the main details about this user:"
- uinfo = website.get_user_info(dbh, username)
- grlist = website.get_user_groups(dbh, uinfo['id'], role_status=('unapproved', 'approved'))
- uinfo['grouplist'] = ' '.join(map(lambda x: '%s(%s/%s)' % (x[1], x[2], x[3]), grlist))
- print """
+ uinfo = website.get_user_info(dbh, username)
+ grlist = website.get_user_groups(dbh, uinfo['id'], role_status=('unapproved', 'approved'))
+ uinfo['grouplist'] = ' '.join(map(lambda x: '%s(%s/%s)' % (x[1], x[2], x[3]), grlist))
+ print """
%(username)s is %(human_name)s <<a href="mailto:%(email)s">%(email)s</a>>. Their GPG key ID is %(gpg_keyid)s.
<p>
Comments: %(comments)s
@@ -265,8 +265,8 @@
Member of groups: %(grouplist)s
""" % uinfo
- website.print_footer("Administrative Interface")
- sys.exit(1)
+ website.print_footer("Administrative Interface")
+ sys.exit(1)
if 0:
print """
@@ -281,7 +281,7 @@
got_errors = []
if got_submit:
- # Check that they can edit
+ # Check that they can edit
for I in fields:
if form.has_key(I['name']):
fs = form[I['name']]
@@ -303,7 +303,7 @@
print action_error
do_form(form, fields, action, got_submit)
if username and action=='edit':
- website.handle_group_mods(dbh, form, 'userbox.cgi', username,
+ website.handle_group_mods(dbh, form, 'userbox.cgi', username,
None, fixed_item='username', auth_username=auth_username)
website.print_footer("Fedora User")
More information about the fedora-extras-commits
mailing list