s3-rpc_server rename ntlmssp_server_auth_start() -> auth_generic_server_start()
[mat/samba.git] / source3 / rpc_server / dcesrv_ntlmssp.c
index 242695e0fd68ce14d5f19925c37a04521bc7a2a4..832837458190fb5203370518a63d7b33976de615 100644 (file)
 
 #include "includes.h"
 #include "rpc_server/dcesrv_ntlmssp.h"
-#include "../auth/ntlmssp/ntlmssp.h"
 #include "ntlmssp_wrap.h"
 #include "auth.h"
 #include "auth/gensec/gensec.h"
 
-NTSTATUS ntlmssp_server_auth_start(TALLOC_CTX *mem_ctx,
+NTSTATUS auth_generic_server_start(TALLOC_CTX *mem_ctx,
+                                  const char *oid,
                                   bool do_sign,
                                   bool do_seal,
                                   bool is_dcerpc,
@@ -35,12 +35,12 @@ NTSTATUS ntlmssp_server_auth_start(TALLOC_CTX *mem_ctx,
                                   const struct tsocket_address *remote_address,
                                   struct gensec_security **ctx)
 {
-       struct auth_ntlmssp_state *a = NULL;
+       struct auth_generic_state *a = NULL;
        NTSTATUS status;
 
-       status = auth_ntlmssp_prepare(remote_address, &a);
+       status = auth_generic_prepare(remote_address, &a);
        if (!NT_STATUS_IS_OK(status)) {
-               DEBUG(0, (__location__ ": auth_ntlmssp_prepare failed: %s\n",
+               DEBUG(0, (__location__ ": auth_generic_prepare failed: %s\n",
                          nt_errstr(status)));
                return status;
        }
@@ -49,13 +49,17 @@ NTSTATUS ntlmssp_server_auth_start(TALLOC_CTX *mem_ctx,
                gensec_want_feature(a->gensec_security, GENSEC_FEATURE_SIGN);
        }
        if (do_seal) {
-               /* Always implies both sign and seal for ntlmssp */
+               gensec_want_feature(a->gensec_security, GENSEC_FEATURE_SIGN);
                gensec_want_feature(a->gensec_security, GENSEC_FEATURE_SEAL);
        }
 
-       status = auth_ntlmssp_start(a);
+       if (is_dcerpc) {
+               gensec_want_feature(a->gensec_security, GENSEC_FEATURE_DCE_STYLE);
+       }
+
+       status = auth_generic_start(a, oid);
        if (!NT_STATUS_IS_OK(status)) {
-               DEBUG(0, (__location__ ": auth_ntlmssp_start failed: %s\n",
+               DEBUG(0, (__location__ ": auth_generic_start failed: %s\n",
                          nt_errstr(status)));
                return status;
        }