From a397801598eef4b0381a64a37af1845e9e85a50f Mon Sep 17 00:00:00 2001 From: Ralph Boehme Date: Tue, 1 Jul 2025 18:19:32 +0200 Subject: [PATCH] s3/libads: get rid of additional loop calling add_failed_connection_entry() Just call add_failed_connection_entry() in the initial loop at all places where we have a "bad" result. BUG: https://bugzilla.samba.org/show_bug.cgi?id=14981 Signed-off-by: Ralph Boehme Reviewed-by: Guenther Deschner --- source3/libads/ldap.c | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 82d47341221..af467cfe390 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -518,16 +518,24 @@ again: struct NETLOGON_SAM_LOGON_RESPONSE_EX *cldap_reply = NULL; char server[INET6_ADDRSTRLEN]; + print_sockaddr(server, sizeof(server), &req_sa_list[i]->u.ss); + if (responses[i] == NULL) { + add_failed_connection_entry( + domain, + server, + NT_STATUS_INVALID_NETWORK_RESPONSE); continue; } - print_sockaddr(server, sizeof(server), &req_sa_list[i]->u.ss); - if (responses[i]->ntver != NETLOGON_NT_VERSION_5EX) { DBG_NOTICE("realm=[%s] nt_version mismatch: 0x%08x for %s\n", ads->server.realm, responses[i]->ntver, server); + add_failed_connection_entry( + domain, + server, + NT_STATUS_INVALID_NETWORK_RESPONSE); continue; } @@ -595,16 +603,6 @@ again: } } - /* keep track of failures as all were not suitable */ - for (i = 0; i < num_requests; i++) { - char server[INET6_ADDRSTRLEN]; - - print_sockaddr(server, sizeof(server), &req_sa_list[i]->u.ss); - - add_failed_connection_entry(domain, server, - NT_STATUS_UNSUCCESSFUL); - } - status = NT_STATUS_NO_LOGON_SERVERS; DBG_WARNING("realm[%s] no valid response " "num_requests[%zu] for count[%zu] - %s\n", -- 2.47.2