]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
libads: Pass "required_flags" through ads_cldap_netlogon_5()
authorVolker Lendecke <vl@samba.org>
Mon, 28 Oct 2024 12:19:08 +0000 (13:19 +0100)
committerVolker Lendecke <vl@samba.org>
Mon, 11 Nov 2024 14:03:04 +0000 (14:03 +0000)
... down to netlogon_pings(). Passing 0 right now, this will change
for some callers

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/libads/cldap.c
source3/libads/cldap.h
source3/libads/ldap.c
source3/utils/net_ads.c

index 9989b7dba504bc7dfa7918e2e2abf9b52627801b..e0789c50dacceefc6ef904b0735cd71ede327a0f 100644 (file)
@@ -146,13 +146,15 @@ static bool ads_cldap_netlogon(TALLOC_CTX *mem_ctx,
 bool ads_cldap_netlogon_5(TALLOC_CTX *mem_ctx,
                          struct sockaddr_storage *ss,
                          const char *realm,
+                         uint32_t required_flags,
                          struct NETLOGON_SAM_LOGON_RESPONSE_EX *reply5)
 {
        uint32_t nt_version = NETLOGON_NT_VERSION_5 | NETLOGON_NT_VERSION_5EX;
        struct netlogon_samlogon_response *reply = NULL;
        bool ret;
 
-       ret = ads_cldap_netlogon(mem_ctx, ss, realm, nt_version, 0, &reply);
+       ret = ads_cldap_netlogon(
+               mem_ctx, ss, realm, nt_version, required_flags, &reply);
        if (!ret) {
                return false;
        }
index 913fc61656e632ad505aa7c8b6827219fea6dee5..0cde4c7ea49a4644d25dd74fab33d4f0b81621bc 100644 (file)
@@ -33,6 +33,7 @@ bool check_cldap_reply_required_flags(uint32_t ret_flags,
 bool ads_cldap_netlogon_5(TALLOC_CTX *mem_ctx,
                          struct sockaddr_storage *ss,
                          const char *realm,
+                         uint32_t required_flags,
                          struct NETLOGON_SAM_LOGON_RESPONSE_EX *reply5);
 
 #endif /* _LIBADS_CLDAP_H_ */
index ebfcc25e4620565f1f569375a4633cfcf6052129..2dded212b46fd65f29d116a96c5fb64a58767679 100644 (file)
@@ -389,7 +389,8 @@ static bool ads_try_connect(ADS_STRUCT *ads, bool gc,
        DBG_INFO("ads_try_connect: sending CLDAP request to %s (realm: %s)\n",
                 addr, ads->server.realm);
 
-       ok = ads_cldap_netlogon_5(frame, ss, ads->server.realm, &cldap_reply);
+       ok = ads_cldap_netlogon_5(
+               frame, ss, ads->server.realm, 0, &cldap_reply);
        if (!ok) {
                DBG_NOTICE("ads_cldap_netlogon_5(%s, %s) failed.\n",
                           addr, ads->server.realm);
index a7a9550935473dda6fa8b3118e96097e6172900a..e4fb6a90f4d2d76f6d646250d89eca992788b484 100644 (file)
@@ -361,10 +361,13 @@ static int net_ads_cldap_netlogon(struct net_context *c, ADS_STRUCT *ads)
 {
        char addr[INET6_ADDRSTRLEN];
        struct NETLOGON_SAM_LOGON_RESPONSE_EX reply;
+       bool ok;
 
        print_sockaddr(addr, sizeof(addr), &ads->ldap.ss);
 
-       if ( !ads_cldap_netlogon_5(talloc_tos(), &ads->ldap.ss, ads->server.realm, &reply ) ) {
+       ok = ads_cldap_netlogon_5(
+               talloc_tos(), &ads->ldap.ss, ads->server.realm, 0, &reply);
+       if (!ok) {
                d_fprintf(stderr, _("CLDAP query failed!\n"));
                return -1;
        }
@@ -832,8 +835,8 @@ static int net_ads_workgroup(struct net_context *c, int argc, const char **argv)
                ads->ldap.port = 389;
        }
 
-       ok = ads_cldap_netlogon_5(tmp_ctx,
-                                 &ads->ldap.ss, ads->server.realm, &reply);
+       ok = ads_cldap_netlogon_5(
+               tmp_ctx, &ads->ldap.ss, ads->server.realm, 0, &reply);
        if (!ok) {
                d_fprintf(stderr, _("CLDAP query failed!\n"));
                goto out;