summaryrefslogtreecommitdiffstats
path: root/adduser/rmuser.perl
diff options
context:
space:
mode:
authorWolfram Schneider <wosch@FreeBSD.org>1996-12-29 21:56:31 +0000
committerWolfram Schneider <wosch@FreeBSD.org>1996-12-29 21:56:31 +0000
commit25f63f421b80bfa998fecaa48de5b964c67f511d (patch)
treee030f96ad03a8058d27d6c3ff041e295cc742525 /adduser/rmuser.perl
parentcedac7220acc2b9c0720e5927a22008dabccf619 (diff)
downloadpw-darwin-25f63f421b80bfa998fecaa48de5b964c67f511d.tar.gz
pw-darwin-25f63f421b80bfa998fecaa48de5b964c67f511d.zip
Allow dash `-' (except for first char) and underscore `_' in usernames.
pointed out by: max
Diffstat (limited to 'adduser/rmuser.perl')
-rw-r--r--adduser/rmuser.perl6
1 files changed, 4 insertions, 2 deletions
diff --git a/adduser/rmuser.perl b/adduser/rmuser.perl
index c55862a..73b42ae 100644
--- a/adduser/rmuser.perl
+++ b/adduser/rmuser.perl
@@ -30,7 +30,7 @@
#
# Guy Helmer <ghelmer@alpha.dsu.edu>, 07/17/96
#
-# $Id: rmuser.perl,v 1.1 1996/11/17 03:51:33 wosch Exp $
+# $Id: rmuser.perl,v 1.2 1996/12/07 21:25:12 ache Exp $
sub LOCK_SH {0x01;}
sub LOCK_EX {0x02;}
@@ -101,6 +101,8 @@ if ($< != 0) {
if ($#ARGV == 0) {
# Username was given as a parameter
$login_name = pop(@ARGV);
+ die "Sorry, login name must contain alphanumeric characters only.\n"
+ if ($login_name !~ /^[a-z0-9_][a-z0-9_\-]*$/);
} else {
# Get the user name from the user
$login_name = &get_login_name;
@@ -229,7 +231,7 @@ sub get_login_name {
print "Enter login name for user to remove: ";
$login_name = <>;
chop $login_name;
- if (!($login_name =~ /[A-Za-z0-9_]/)) {
+ if (!($login_name =~ /^[a-z0-9_][a-z0-9_\-]*$/)) {
print STDERR "Sorry, login name must contain alphanumeric characters only.\n";
} elsif (length($login_name) > 16 || length($login_name) == 0) {
print STDERR "Sorry, login name must be 16 characters or less.\n";