RT#39481: Password Maximum Length
authorJonathan Prykop <jonathan@freeside.biz>
Wed, 6 Jan 2016 04:19:26 +0000 (22:19 -0600)
committerJonathan Prykop <jonathan@freeside.biz>
Wed, 6 Jan 2016 04:19:26 +0000 (22:19 -0600)
FS/FS/ClientAPI/MyAccount/contact.pm
FS/FS/Password_Mixin.pm
FS/FS/svc_acct.pm
httemplate/edit/cust_main/first_pkg/svc_acct.html
httemplate/edit/svc_acct.cgi

index c893c10..dd3a40b 100644 (file)
@@ -26,12 +26,7 @@ sub contact_passwd {
 
   my $error = '';
 
-  # use these svc_acct length restrictions??
-  my $conf = new FS::Conf;
-  $error = 'Password too short.'
-    if length($p->{'new_password'}) < ($conf->config('passwordmin') || 6);
-  $error = 'Password too long.'
-    if length($p->{'new_password'}) > ($conf->config('passwordmax') || 8);
+  # length checks now in is_password_allowed
 
   $error ||= $contact->is_password_allowed($p->{'new_password'});
 
index 834fd6f..0f75960 100644 (file)
@@ -47,7 +47,7 @@ sub is_password_allowed {
   # options for Data::Password
   $DICTIONARY = 4;   # minimum length of disallowed words
   $MINLEN = $conf->config('passwordmin') || 6;
-  $MAXLEN = $conf->config('passwordmax') || 8;
+  $MAXLEN = $conf->config('passwordmax') || 12;
   $GROUPS = 4;       # must have all 4 'character groups': numbers, symbols, uppercase, lowercase
   # other options use the defaults listed below:
   # $FOLLOWING = 3;    # disallows more than 3 chars in a row, by alphabet or keyboard (ie abcd or asdf)
index 53b12f1..59d1e04 100644 (file)
@@ -72,7 +72,7 @@ FS::UID->install_callback( sub {
   $passwordmin = ( defined($passwordmin) && $passwordmin =~ /\d+/ )
                    ? $passwordmin
                    : 6;
-  $passwordmax = $conf->config('passwordmax') || 8;
+  $passwordmax = $conf->config('passwordmax') || 12;
   $username_letter = $conf->exists('username-letter');
   $username_letterfirst = $conf->exists('username-letterfirst');
   $username_noperiod = $conf->exists('username-noperiod');
index 8308af4..3644d62 100644 (file)
@@ -78,7 +78,7 @@ my $conf = new FS::Conf;
 
 my $ulen = dbdef->table('svc_acct')->column('username')->length;
 my $ulen2 = $ulen+2;
-my $passwordmax = $conf->config('passwordmax') || 8;
+my $passwordmax = $conf->config('passwordmax') || 12;
 my $pmax2 = $passwordmax + 2;
 
 </%init>
index 0cf0c20..ca26c6c 100755 (executable)
@@ -553,7 +553,7 @@ my $ulen =
   : dbdef->table('svc_acct')->column('username')->length;
 my $ulen2 = $ulen+2;
 
-my $pmax = max($conf->config('passwordmax') || 13);
+my $pmax = max($conf->config('passwordmax') || 12);
 my $pmax2 = $pmax+2;
 
 my $p1 = popurl(1);