r1022: add the session_info() call to the dcerpc server auth backends
authorStefan Metzmacher <metze@samba.org>
Sat, 5 Jun 2004 02:27:30 +0000 (02:27 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:56:28 +0000 (12:56 -0500)
metze
(This used to be commit d1ab26b907f1eb2be31fe6946ffa5b8255fc6ac9)

source4/rpc_server/dcerpc_server.h
source4/rpc_server/dcesrv_crypto.c
source4/rpc_server/dcesrv_crypto_ntlmssp.c

index 386da6fc575e5a530776a34bdca6b8928f5c1673..bc5376b6cedcf29e213cc548078164bad4f080f1 100644 (file)
@@ -100,6 +100,7 @@ struct dcesrv_crypto_ops {
        NTSTATUS (*start)(struct dcesrv_auth *auth);
        NTSTATUS (*update)(struct dcesrv_auth *auth, TALLOC_CTX *out_mem_ctx,
                                const DATA_BLOB in, DATA_BLOB *out);
+       NTSTATUS (*session_info)(struct dcesrv_auth *auth, struct auth_session_info **session_info);
        NTSTATUS (*seal)(struct dcesrv_auth *auth, TALLOC_CTX *sig_mem_ctx,
                                uint8_t *data, size_t length, DATA_BLOB *sig);
        NTSTATUS (*sign)(struct dcesrv_auth *auth, TALLOC_CTX *sig_mem_ctx,
index 6d46388c97a6ab134fac3764829ca8ac41228cb4..b8dfe46835d0eef4175a68f6a0e921d90933f15c 100644 (file)
@@ -83,6 +83,14 @@ NTSTATUS dcesrv_crypto_update(struct dcesrv_auth *auth,
        return auth->crypto_ctx.ops->update(auth, out_mem_ctx, in, out);
 }
 
+/*
+  get auth_session_info state
+*/
+NTSTATUS dcesrv_crypto_session_info(struct dcesrv_auth *auth, struct auth_session_info **session_info) 
+{
+       return auth->crypto_ctx.ops->session_info(auth, session_info);
+}
+
 /*
   seal a packet
 */
index 0f1939ea1b1d78b1ff1b04770437379f6a33ab05..5fb6345599679734bdbcfd731873500bb1ebd193 100644 (file)
@@ -52,7 +52,17 @@ static NTSTATUS dcesrv_crypto_ntlmssp_update(struct dcesrv_auth *auth, TALLOC_CT
 {
        struct auth_ntlmssp_state *auth_ntlmssp_state = auth->crypto_ctx.private_data;
 
-       return ntlmssp_update(auth_ntlmssp_state->ntlmssp_state, out_mem_ctx, in, out);
+       return auth_ntlmssp_update(auth_ntlmssp_state, out_mem_ctx, in, out);
+}
+
+/*
+  get auth_session_info state
+*/
+static NTSTATUS dcesrv_crypto_ntlmssp_session_info(struct dcesrv_auth *auth, struct auth_session_info **session_info) 
+{
+       struct auth_ntlmssp_state *auth_ntlmssp_state = auth->crypto_ctx.private_data;
+
+       return auth_ntlmssp_get_session_info(auth_ntlmssp_state, session_info);
 }
 
 /*
@@ -118,6 +128,7 @@ static const struct dcesrv_crypto_ops dcesrv_crypto_ntlmssp_ops = {
        .auth_type      = DCERPC_AUTH_TYPE_NTLMSSP,
        .start          = dcesrv_crypto_ntlmssp_start,
        .update         = dcesrv_crypto_ntlmssp_update,
+       .session_info   = dcesrv_crypto_ntlmssp_session_info,
        .seal           = dcesrv_crypto_ntlmssp_seal,
        .sign           = dcesrv_crypto_ntlmssp_sign,
        .check_sig      = dcesrv_crypto_ntlmssp_check_sig,