]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
winbindd: always use winbind_add_failed_connection_entry() wrapper
authorStefan Metzmacher <metze@samba.org>
Wed, 16 Feb 2022 13:18:50 +0000 (14:18 +0100)
committerGünther Deschner <gd@samba.org>
Wed, 30 Jul 2025 09:09:40 +0000 (09:09 +0000)
We should not use add_failed_connection_entry() directly.

BUG: https://bugzilla.samba.org/show_bug.cgi?id=14981

Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Guenther Deschner <gd@samba.org>
source3/winbindd/winbindd_cm.c
source3/winbindd/winbindd_pam.c
source3/winbindd/winbindd_proto.h

index 15a2f60c532191eabaac1b200c02a5a1b80bb9aa..c5ea918cff79fa0d91048e278a161895d9ae6643 100644 (file)
@@ -322,7 +322,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)
index 49e8e845c0f85066278273fe2709ddf00c2d4bc3..792d69a613c7524165df9197d4800386705e39ca 100644 (file)
@@ -1705,10 +1705,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 */
index 3734ab49086416bbaa20982cee502847f350d826..45e20ba3a81ec82e681da1f30f69b9dda73672a4 100644 (file)
@@ -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,