option to disable password checks for an agent, RT#40236
authorIvan Kohler <ivan@freeside.biz>
Fri, 5 Feb 2016 17:29:14 +0000 (09:29 -0800)
committerIvan Kohler <ivan@freeside.biz>
Fri, 5 Feb 2016 17:29:14 +0000 (09:29 -0800)
FS/FS/Conf.pm
FS/FS/Password_Mixin.pm

index 0e89008..e9d0ee6 100644 (file)
@@ -4270,6 +4270,14 @@ and customer address. Include units.',
   },
 
   {
+    'key'         => 'password-insecure',
+    'section'     => 'password',
+    'description' => 'Disable all password security checks and allow entry of insecure passwords.  NOT RECOMMENDED.',
+    'type'        => 'checkbox',
+    'per_agent'   => 1,
+  },
+
+  {
     'key'         => 'datavolume-forcemegabytes',
     'section'     => 'UI',
     'description' => 'All data volumes are expressed in megabytes',
index ee038db..a27dd54 100644 (file)
@@ -45,6 +45,9 @@ sub is_password_allowed {
   my $self = shift;
   my $password = shift;
 
+  my $cust_main = $self->cust_main;
+  return '' if $cust_main && $conf->config_bool('password-insecure', $cust_main->agentnum);
+
   # basic checks using Data::Password;
   # options for Data::Password
   $DICTIONARY = 4;   # minimum length of disallowed words
@@ -70,7 +73,6 @@ sub is_password_allowed {
   return '' unless $self->get($self->primary_key); # for validating new passwords pre-insert
 
   #check against customer fields
-  my $cust_main = $self->cust_main;
   if ($cust_main) {
     my @words;
     # words from cust_main