git subrepo commit (merge) mailcow/src/mailcow-dockerized

subrepo: subdir:   "mailcow/src/mailcow-dockerized"
  merged:   "02ae5285"
upstream: origin:   "https://github.com/mailcow/mailcow-dockerized.git"
  branch:   "master"
  commit:   "649a5c01"
git-subrepo: version:  "0.4.3"
  origin:   "???"
  commit:   "???"
Change-Id: I870ad468fba026cc5abf3c5699ed1e12ff28b32b
diff --git a/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php b/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php
index bb0400e..af1474c 100644
--- a/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php
+++ b/mailcow/src/mailcow-dockerized/data/web/inc/functions.admin.inc.php
@@ -48,40 +48,17 @@
           return false;

         }

       }

-      if (!empty($password) && !empty($password2)) {

-        if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {

-          $_SESSION['return'][] = array(

-            'type' => 'danger',

-            'log' => array(__FUNCTION__, $_action, $_data_log),

-            'msg' => 'password_complexity'

-          );

-          return false;

-        }

-        if ($password != $password2) {

-          $_SESSION['return'][] = array(

-            'type' => 'danger',

-            'log' => array(__FUNCTION__, $_action, $_data_log),

-            'msg' => 'password_mismatch'

-          );

-          return false;

-        }

-        $password_hashed = hash_password($password);

-        $stmt = $pdo->prepare("INSERT INTO `admin` (`username`, `password`, `superadmin`, `active`)

-          VALUES (:username, :password_hashed, '1', :active)");

-        $stmt->execute(array(

-          ':username' => $username,

-          ':password_hashed' => $password_hashed,

-          ':active' => $active

-        ));

-      }

-      else {

-        $_SESSION['return'][] = array(

-          'type' => 'danger',

-          'log' => array(__FUNCTION__, $_action, $_data_log),

-          'msg' => 'password_empty'

-        );

+      if (password_check($password, $password2) !== true) {

         return false;

       }

+      $password_hashed = hash_password($password_new);

+      $stmt = $pdo->prepare("INSERT INTO `admin` (`username`, `password`, `superadmin`, `active`)

+        VALUES (:username, :password_hashed, '1', :active)");

+      $stmt->execute(array(

+        ':username' => $username,

+        ':password_hashed' => $password_hashed,

+        ':active' => $active

+      ));

       $_SESSION['return'][] = array(

         'type' => 'success',

         'log' => array(__FUNCTION__, $_action, $_data_log),

@@ -144,22 +121,9 @@
             continue;

           }

         }

-        if (!empty($password) && !empty($password2)) {

-          if (!preg_match('/' . $GLOBALS['PASSWD_REGEP'] . '/', $password)) {

-            $_SESSION['return'][] = array(

-              'type' => 'danger',

-              'log' => array(__FUNCTION__, $_action, $_data_log),

-              'msg' => 'password_complexity'

-            );

-            continue;

-          }

-          if ($password != $password2) {

-            $_SESSION['return'][] = array(

-              'type' => 'danger',

-              'log' => array(__FUNCTION__, $_action, $_data_log),

-              'msg' => 'password_mismatch'

-            );

-            continue;

+        if (!empty($password)) {

+          if (password_check($password, $password2) !== true) {

+            return false;

           }

           $password_hashed = hash_password($password);

           $stmt = $pdo->prepare("UPDATE `admin` SET `username` = :username_new, `active` = :active, `password` = :password_hashed WHERE `username` = :username");