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 {