From: Stefan Metzmacher Date: Wed, 16 Feb 2022 13:18:50 +0000 (+0100) Subject: winbindd: always use winbind_add_failed_connection_entry() wrapper X-Git-Tag: samba-4.21.8~23 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=23eeafe43e90a62f586a521506ed3d3013852a4e;p=thirdparty%2Fsamba.git winbindd: always use winbind_add_failed_connection_entry() wrapper We should not use add_failed_connection_entry() directly. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14981 Signed-off-by: Stefan Metzmacher Reviewed-by: Ralph Boehme Reviewed-by: Guenther Deschner (cherry picked from commit 7fed75c495ead8f476c805b91cc6624ebf933427) --- diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c index 9e51ee2acfe..53800988306 100644 --- a/source3/winbindd/winbindd_cm.c +++ b/source3/winbindd/winbindd_cm.c @@ -320,7 +320,7 @@ void set_domain_online_request(struct winbindd_domain *domain) Add -ve connection cache entries for domain and realm. ****************************************************************/ -static void winbind_add_failed_connection_entry( +void winbind_add_failed_connection_entry( const struct winbindd_domain *domain, const char *server, NTSTATUS result) diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c index 450030fcbf1..8d68ed198e3 100644 --- a/source3/winbindd/winbindd_pam.c +++ b/source3/winbindd/winbindd_pam.c @@ -1709,10 +1709,9 @@ static NTSTATUS winbind_samlogon_retry_loop(struct winbindd_domain *domain, DEBUG(3, ("This is the third problem for this " "particular call, adding DC to the " "negative cache list: %s %s\n", domain->name, domain->dcname)); - add_failed_connection_entry(domain->name, + winbind_add_failed_connection_entry(domain, domain->dcname, result); - saf_delete(domain->name); } /* Only allow 3 retries */ diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h index e318911d192..9fc037eb04e 100644 --- a/source3/winbindd/winbindd_proto.h +++ b/source3/winbindd/winbindd_proto.h @@ -206,6 +206,10 @@ void winbind_msg_domain_online(struct messaging_context *msg_ctx, void set_domain_offline(struct winbindd_domain *domain); void set_domain_online_request(struct winbindd_domain *domain); +void winbind_add_failed_connection_entry( + const struct winbindd_domain *domain, + const char *server, + NTSTATUS result); struct cli_credentials; NTSTATUS winbindd_get_trust_credentials(struct winbindd_domain *domain,