diff options
author | ivan <ivan> | 2010-11-04 17:38:35 +0000 |
---|---|---|
committer | ivan <ivan> | 2010-11-04 17:38:35 +0000 |
commit | 696a5c1ac572c9327021d01d2d49121f1198c7da (patch) | |
tree | 3755648eddcaaf879872bc4afefc3bf4966909cd /FS/FS/svc_acct.pm | |
parent | 525583dc4bf34e3668871868b3374f590e4928a4 (diff) |
finish username-slash and username-equals, RT#10452
Diffstat (limited to 'FS/FS/svc_acct.pm')
-rw-r--r-- | FS/FS/svc_acct.pm | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm index 43ff2a5..94a839b 100644 --- a/FS/FS/svc_acct.pm +++ b/FS/FS/svc_acct.pm @@ -1243,16 +1243,14 @@ sub check { } my $ulen = $usernamemax || $self->dbdef_table->column('username')->length; - if ( $username_uppercase ) { - $recref->{username} =~ /^([a-z0-9_\-\.\&\%\:\/\=]{$usernamemin,$ulen})$/i - or return gettext('illegal_username'). " ($usernamemin-$ulen): ". $recref->{username}; - $recref->{username} = $1; - } else { - $recref->{username} =~ /^([a-z0-9_\-\.\&\%\:]{$usernamemin,$ulen})$/ - or return gettext('illegal_username'). " ($usernamemin-$ulen): ". $recref->{username}; - $recref->{username} = $1; - } + $recref->{username} =~ /^([a-z0-9_\-\.\&\%\:\/\=]{$usernamemin,$ulen})$/i + or return gettext('illegal_username'). " ($usernamemin-$ulen): ". $recref->{username}; + $recref->{username} = $1; + + unless ( $username_uppercase ) { + $recref->{username} =~ /[A-Z]/ and return gettext('illegal_username'); + } if ( $username_letterfirst ) { $recref->{username} =~ /^[a-z]/ or return gettext('illegal_username'); } elsif ( $username_letter ) { |