Browse Source

[Web] use saved password policy for pwgen

FreddleSpl0it 2 years ago
parent
commit
c928948b15
2 changed files with 19 additions and 2 deletions
  1. 10 2
      data/web/js/build/013-mailcow.js
  2. 9 0
      data/web/json_api.php

+ 10 - 2
data/web/js/build/013-mailcow.js

@@ -12,14 +12,22 @@ $(document).ready(function() {
     $.notify({message: msg},{z_index: 20000, delay: auto_hide, type: type,placement: {from: "bottom",align: "right"},animate: {enter: 'animated fadeInUp',exit: 'animated fadeOutDown'}});
     $.notify({message: msg},{z_index: 20000, delay: auto_hide, type: type,placement: {from: "bottom",align: "right"},animate: {enter: 'animated fadeInUp',exit: 'animated fadeOutDown'}});
   }
   }
 
 
-  $(".generate_password").click(function( event ) {
+  $(".generate_password").click(async function( event ) {   
+    try { 
+      var password_policy = await window.fetch("/api/v1/get/passwordpolicy", { method:'GET', cache:'no-cache' });
+      var password_policy = await password_policy.json();
+      random_passwd_length = password_policy.length;
+    } catch(err) {
+      var random_passwd_length = 8;
+    }
+
     event.preventDefault();
     event.preventDefault();
     $('[data-hibp]').trigger('input');
     $('[data-hibp]').trigger('input');
     if (typeof($(this).closest("form").data('pwgen-length')) == "number") {
     if (typeof($(this).closest("form").data('pwgen-length')) == "number") {
       var random_passwd = GPW.pronounceable($(this).closest("form").data('pwgen-length'))
       var random_passwd = GPW.pronounceable($(this).closest("form").data('pwgen-length'))
     }
     }
     else {
     else {
-      var random_passwd = GPW.pronounceable(8)
+      var random_passwd = GPW.pronounceable(random_passwd_length)
     }
     }
     $(this).closest("form").find('[data-pwgen-field]').attr('type', 'text');
     $(this).closest("form").find('[data-pwgen-field]').attr('type', 'text');
     $(this).closest("form").find('[data-pwgen-field]').val(random_passwd);
     $(this).closest("form").find('[data-pwgen-field]').val(random_passwd);

+ 9 - 0
data/web/json_api.php

@@ -561,6 +561,15 @@ if (isset($_GET['query'])) {
                   echo '{}';
                   echo '{}';
                 }
                 }
               break;
               break;
+              default:
+                $password_complexity_rules = password_complexity('get');
+                if ($password_complexity_rules !== false) {
+                  process_get_return($password_complexity_rules);
+                }
+                else {
+                  echo '{}';
+                }
+              break;
             }
             }
           break;
           break;