mirror of
https://github.com/systemd/systemd
synced 2024-10-15 04:24:19 +00:00
pwquality: add old password argument to quality_check_password
This would allow to use quality_check_password() in user_record_quality_check_password() which still uses sym_pwquality_check() directly.
This commit is contained in:
parent
0351d560a2
commit
bc0ef0e2c0
|
@ -156,7 +156,7 @@ int enroll_password(
|
|||
}
|
||||
}
|
||||
|
||||
r = quality_check_password(new_password, NULL, &error);
|
||||
r = quality_check_password(new_password, /* old */ NULL, /* user */ NULL, &error);
|
||||
if (r < 0) {
|
||||
if (ERRNO_IS_NOT_SUPPORTED(r))
|
||||
log_warning("Password quality check is not supported, proceeding anyway.");
|
||||
|
|
|
@ -790,7 +790,7 @@ static int prompt_root_password(int rfd) {
|
|||
break;
|
||||
}
|
||||
|
||||
r = quality_check_password(*a, "root", &error);
|
||||
r = quality_check_password(*a, /* old */ NULL, "root", &error);
|
||||
if (r < 0) {
|
||||
if (ERRNO_IS_NOT_SUPPORTED(r))
|
||||
log_warning("Password quality check is not supported, proceeding anyway.");
|
||||
|
|
|
@ -132,7 +132,7 @@ int suggest_passwords(void) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
int quality_check_password(const char *password, const char *username, char **ret_error) {
|
||||
int quality_check_password(const char *password, const char *old, const char *username, char **ret_error) {
|
||||
_cleanup_(sym_pwquality_free_settingsp) pwquality_settings_t *pwq = NULL;
|
||||
char buf[PWQ_MAX_ERROR_MESSAGE_LEN];
|
||||
void *auxerror;
|
||||
|
@ -144,7 +144,7 @@ int quality_check_password(const char *password, const char *username, char **re
|
|||
if (r < 0)
|
||||
return log_debug_errno(r, "Failed to allocate libpwquality context: %m");
|
||||
|
||||
r = sym_pwquality_check(pwq, password, NULL, username, &auxerror);
|
||||
r = sym_pwquality_check(pwq, password, old, username, &auxerror);
|
||||
if (r < 0) {
|
||||
|
||||
if (ret_error) {
|
||||
|
|
|
@ -24,7 +24,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(pwquality_settings_t*, sym_pwquality_free_setti
|
|||
void pwq_maybe_disable_dictionary(pwquality_settings_t *pwq);
|
||||
int pwq_allocate_context(pwquality_settings_t **ret);
|
||||
int suggest_passwords(void);
|
||||
int quality_check_password(const char *password, const char *username, char **ret_error);
|
||||
int quality_check_password(const char *password, const char *old, const char *username, char **ret_error);
|
||||
|
||||
#else
|
||||
|
||||
|
@ -32,7 +32,7 @@ static inline int suggest_passwords(void) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
static inline int quality_check_password(const char *password, const char *username, char **ret_error) {
|
||||
static inline int quality_check_password(const char *password, const char *old, const char *username, char **ret_error) {
|
||||
if (ret_error)
|
||||
*ret_error = NULL;
|
||||
return 1; /* all good */
|
||||
|
|
Loading…
Reference in a new issue