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
commitd8f99db12f55e1f07f7eb60a408904a29aa56d65 (patch)
treee9fde85ad04ad8a55dfae38918f6a270bd846b4a /adduser/rmuser.perl
parent77f867733f1e90fa723677dada8e2b5914bbb57c (diff)
downloadpw-darwin-d8f99db12f55e1f07f7eb60a408904a29aa56d65.tar.gz
pw-darwin-d8f99db12f55e1f07f7eb60a408904a29aa56d65.tar.zst
pw-darwin-d8f99db12f55e1f07f7eb60a408904a29aa56d65.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";