--- samba1/source/smbd/chgpasswd.c 2005-02-06 22:25:57.000000000 +0100 +++ samba2/source/smbd/chgpasswd.c 2005-07-13 14:36:31.000000000 +0200 @@ -1016,18 +1016,19 @@ return NT_STATUS_ACCOUNT_RESTRICTION; } - /* FIXME: AP_MIN_PASSWORD_LEN and lp_min_passwd_length() need to be merged - gd */ - if (account_policy_get(AP_MIN_PASSWORD_LEN, &min_len) && (str_charnum(new_passwd) < min_len)) { - DEBUG(1, ("user %s cannot change password - password too short\n", - username)); - DEBUGADD(1, (" account policy min password len = %d\n", min_len)); - return NT_STATUS_PASSWORD_RESTRICTION; -/* return NT_STATUS_PWD_TOO_SHORT; */ + if (account_policy_get(AP_MIN_PASSWORD_LEN, &min_len)) { + if (str_charnum(new_passwd) < min_len) { + DEBUG(1, ("user %s cannot change password - password too short\n", + username)); + DEBUGADD(1, (" account policy min password len = %d\n", min_len)); + return NT_STATUS_PASSWORD_RESTRICTION; +/* return NT_STATUS_PWD_TOO_SHORT; */ + } } /* Take the passed information and test it for minimum criteria */ /* Minimum password length */ - if (str_charnum(new_passwd) < lp_min_passwd_length()) { + else if (str_charnum(new_passwd) < lp_min_passwd_length()) { /* too short, must be at least MINPASSWDLENGTH */ DEBUG(1, ("Password Change: user %s, New password is shorter than minimum password length = %d\n", username, lp_min_passwd_length()));