s4:rpc_server/netlogon: use irpc_binding_handle_by_name()
authorStefan Metzmacher <metze@samba.org>
Fri, 3 Sep 2010 10:09:36 +0000 (12:09 +0200)
committerStefan Metzmacher <metze@samba.org>
Fri, 3 Sep 2010 15:00:20 +0000 (17:00 +0200)
metze

source4/rpc_server/netlogon/dcerpc_netlogon.c
source4/rpc_server/wscript_build

index a599822d9ea8ca539254d629f4c72ab17afc4b3b..7dc8a76dad2d751baaccda1e2dce5797bec43c4f 100644 (file)
@@ -31,7 +31,7 @@
 #include "libcli/security/security.h"
 #include "param/param.h"
 #include "lib/messaging/irpc.h"
-#include "librpc/gen_ndr/ndr_irpc.h"
+#include "librpc/gen_ndr/ndr_irpc_c.h"
 #include "../libcli/ldap/ldap_ndr.h"
 #include "cldap_server/cldap_server.h"
 #include "lib/tsocket/tsocket.h"
@@ -618,7 +618,7 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal
 
                if (strcmp(r->in.logon->generic->package_name.string, "Kerberos") == 0) {
                        NTSTATUS status;
-                       struct server_id *kdc;
+                       struct dcerpc_binding_handle *irpc_handle;
                        struct kdc_check_generic_kerberos check;
                        struct netr_GenericInfo2 *generic = talloc_zero(mem_ctx, struct netr_GenericInfo2);
                        NT_STATUS_HAVE_NO_MEMORY(generic);
@@ -629,8 +629,11 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal
 
                        r->out.validation->generic = generic;
 
-                       kdc = irpc_servers_byname(dce_call->msg_ctx, mem_ctx, "kdc_server");
-                       if ((kdc == NULL) || (kdc[0].id == 0)) {
+                       irpc_handle = irpc_binding_handle_by_name(mem_ctx,
+                                                                 dce_call->msg_ctx,
+                                                                 "kdc_server",
+                                                                 &ndr_table_irpc);
+                       if (irpc_handle == NULL) {
                                return NT_STATUS_NO_LOGON_SERVERS;
                        }
 
@@ -638,9 +641,9 @@ static NTSTATUS dcesrv_netr_LogonSamLogon_base(struct dcesrv_call_state *dce_cal
                                data_blob_const(r->in.logon->generic->data,
                                                r->in.logon->generic->length);
 
-                       status = irpc_call(dce_call->msg_ctx, kdc[0],
-                                          &ndr_table_irpc, NDR_KDC_CHECK_GENERIC_KERBEROS,
-                                          &check, mem_ctx);
+                       status = dcerpc_kdc_check_generic_kerberos_r(irpc_handle,
+                                                                    mem_ctx,
+                                                                    &check);
                        if (!NT_STATUS_IS_OK(status)) {
                                return status;
                        }
index ba6d2f575f8e168887d40150dffbe1b63dc9af23..dca6eaac08cb3e5770354c72ee8fc2df430d7db5 100644 (file)
@@ -80,7 +80,7 @@ bld.SAMBA_MODULE('dcerpc_netlogon',
        source='netlogon/dcerpc_netlogon.c',
        subsystem='dcerpc_server',
        init_function='dcerpc_server_netlogon_init',
-       deps='DCERPC_COMMON SCHANNELDB NDR_STANDARD auth_sam LIBSAMBA-HOSTCONFIG'
+       deps='DCERPC_COMMON RPC_NDR_IRPC SCHANNELDB NDR_STANDARD auth_sam LIBSAMBA-HOSTCONFIG'
        )