diff --git a/lam/lib/account.inc b/lam/lib/account.inc index bc74db80..6379bd9e 100644 --- a/lam/lib/account.inc +++ b/lam/lib/account.inc @@ -1196,12 +1196,16 @@ function getExtendedLDAPErrorMessage($server) { * @return String error message */ function getDefaultLDAPErrorString($server) { - $extError = getExtendedLDAPErrorMessage($server); + $extError = htmlspecialchars(getExtendedLDAPErrorMessage($server)); + // Active Directory message translations + if ((strpos($extError, 'DSID-031A120C') !== false) && (strpos($extError, '5003') !== false)) { + $extError = _('Your password does not meet the password strength qualifications. Please retry with another one.') . '

' . $extError; + } $message = _('LDAP error, server says:') . ' ' . ldap_error($server); if (!empty($extError)) { $message .= ' - ' . $extError; } - return htmlspecialchars($message); + return $message; } /** diff --git a/lam/lib/modules/windowsUser.inc b/lam/lib/modules/windowsUser.inc index f27e6e44..73c5525b 100644 --- a/lam/lib/modules/windowsUser.inc +++ b/lam/lib/modules/windowsUser.inc @@ -1890,8 +1890,13 @@ class windowsUser extends baseModule implements passwordService { fclose($pipes[1]); $returnCode = proc_close($process); if ($returnCode != 0) { + $outputMessages = htmlspecialchars($outputMessages); + // Active Directory message translations + if ((strpos($outputMessages, 'DSID-03190F80') !== false) && (strpos($outputMessages, 'unicodePwd') !== false)) { + $outputMessages = _('Your password does not meet the password strength qualifications. Please retry with another one.') . '

' . $outputMessages; + } logNewMessage(LOG_ERR, 'Changing user password failed: ' . $outputMessages); - $return['messages'][] = array('ERROR', _('Unable to change password.'), htmlspecialchars($outputMessages)); + $return['messages'][] = array('ERROR', _('Unable to change password.'), $outputMessages); return; } else {