From 557c98bd5f4e5268d4793d51037f59ef3482fe8c Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Wed, 3 May 2006 14:15:31 +0000 Subject: r15414: Support retrying different username/password combinations (This used to be commit 5de894fb8bac8efa5bff004dbfc2e8b386d4003b) --- source4/auth/credentials/credentials.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'source4/auth/credentials/credentials.c') diff --git a/source4/auth/credentials/credentials.c b/source4/auth/credentials/credentials.c index ee90c8228a..66b6c120cf 100644 --- a/source4/auth/credentials/credentials.c +++ b/source4/auth/credentials/credentials.c @@ -639,3 +639,24 @@ BOOL cli_credentials_is_anonymous(struct cli_credentials *cred) return False; } + +/** + * Mark the current password for a credentials struct as wrong. This will + * cause the password to be prompted again (if a callback is set). + * + * This will decremebt the number of times the password can be tried. + * + * @retval whether the credentials struct is finished + */ +BOOL cli_credentials_wrong_password(struct cli_credentials *cred) +{ + if (cred->password_obtained != CRED_CALLBACK_RESULT) { + return False; + } + + cred->password_obtained = CRED_CALLBACK; + + cred->tries--; + + return (cred->tries > 0); +} -- cgit