From: Volker Lendecke Date: Fri, 1 Nov 2024 11:36:59 +0000 (+0100) Subject: torture4: Replace direct netlogon ping calls with netlogon_pings() X-Git-Tag: tdb-1.4.13~575 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4aff4c749b943c30ae9ff05fcdc54da78861f43a;p=thirdparty%2Fsamba.git torture4: Replace direct netlogon ping calls with netlogon_pings() Signed-off-by: Volker Lendecke Reviewed-by: Stefan Metzmacher --- diff --git a/source4/torture/ldap/netlogon.c b/source4/torture/ldap/netlogon.c index 221e4b102ce..e881bd9cdbe 100644 --- a/source4/torture/ldap/netlogon.c +++ b/source4/torture/ldap/netlogon.c @@ -487,58 +487,6 @@ static NTSTATUS tcp_ldap_rootdse(void *data, return NT_STATUS_OK; } -static NTSTATUS tcp_ldap_netlogon(void *conn, - TALLOC_CTX *mem_ctx, - struct cldap_netlogon *io) -{ - struct cldap_search search; - struct ldap_SearchResEntry *res; - NTSTATUS status; - DATA_BLOB *blob; - - ZERO_STRUCT(search); - search.in.attributes = (const char *[]) { "netlogon", NULL }; - search.in.filter = cldap_netlogon_create_filter(mem_ctx, io); - if (search.in.filter == NULL) { - return NT_STATUS_NO_MEMORY; - } - - status = tcp_ldap_rootdse(conn, mem_ctx, &search); - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - res = search.out.response; - if (res == NULL) { - return NT_STATUS_NOT_FOUND; - } - - if (res->num_attributes != 1 || - strcasecmp(res->attributes[0].name, "netlogon") != 0 || - res->attributes[0].num_values != 1 || - res->attributes[0].values->length < 2) { - return NT_STATUS_UNEXPECTED_NETWORK_ERROR; - } - - blob = res->attributes[0].values; - - io->out.netlogon = talloc(mem_ctx, struct netlogon_samlogon_response); - if (io->out.netlogon == NULL) { - return NT_STATUS_NO_MEMORY; - } - - status = pull_netlogon_samlogon_response(blob, - io->out.netlogon, - io->out.netlogon); - if (!NT_STATUS_IS_OK(status)) { - return status; - } - - map_netlogon_samlogon_response(io->out.netlogon); - - return NT_STATUS_OK; -} - static NTSTATUS udp_ldap_rootdse(void *data, TALLOC_CTX *mem_ctx, struct cldap_search *io) { @@ -680,26 +628,11 @@ bool torture_netlogon_tcp(struct torture_context *tctx) return false; } - ret &= test_ldap_netlogon(tctx, tcp_ldap_netlogon, conn, host); - ret &= test_ldap_netlogon_flags(tctx, tcp_ldap_netlogon, conn, host); ret &= test_netlogon_extra_attrs(tctx, tcp_ldap_rootdse, conn); return ret; } -static NTSTATUS udp_ldap_netlogon(void *data, - TALLOC_CTX *mem_ctx, - struct cldap_netlogon *io) -{ - struct cldap_socket *cldap = talloc_get_type(data, - struct cldap_socket); - NTSTATUS status = cldap_netlogon(cldap, mem_ctx, io); - if (NT_STATUS_IS_OK(status)) { - map_netlogon_samlogon_response(io->out.netlogon); - } - return status; -} - bool torture_netlogon_udp(struct torture_context *tctx) { const char *host = torture_setting_string(tctx, "host", NULL); @@ -726,8 +659,6 @@ bool torture_netlogon_udp(struct torture_context *tctx) status = cldap_socket_init(tctx, NULL, dest_addr, &cldap); CHECK_STATUS(status, NT_STATUS_OK); - ret &= test_ldap_netlogon(tctx, udp_ldap_netlogon, cldap, host); - ret &= test_ldap_netlogon_flags(tctx, udp_ldap_netlogon, cldap, host); ret &= test_netlogon_extra_attrs(tctx, udp_ldap_rootdse, cldap); ret &= test_netlogon_huawei(tctx, udp_ldap_rootdse, cldap);