diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-06-14 08:12:50 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:56:39 -0500 |
commit | bccac81d8792f85ae37d4a6617a92e2fae75aa50 (patch) | |
tree | f0c16dd01073e4c7276a23b0b7a666b33e055053 /source4/rpc_server/dcesrv_crypto_ntlmssp.c | |
parent | 2fcf85920deb2bb3e564c7be611b2cec838afbf1 (diff) | |
download | samba-bccac81d8792f85ae37d4a6617a92e2fae75aa50.tar.gz samba-bccac81d8792f85ae37d4a6617a92e2fae75aa50.tar.bz2 samba-bccac81d8792f85ae37d4a6617a92e2fae75aa50.zip |
r1136: - added IDL for netr_LogonGetDomainInfo()
- added workstation to auth_session_info in rpc servers
- added session key fetch hook in crypto backends in dcesrv
- store and fetch seed as well as a session key in schannel ldb
- when a client uses schannel to setup a netlogon pipe connection we
also need to setup the credentials from the schannel negotiation so
credentials chaining works
- added server side netr_LogonGetDomainInfo() call
(This used to be commit a35459387de3b6a422c5af6f658338fc7e4314b0)
Diffstat (limited to 'source4/rpc_server/dcesrv_crypto_ntlmssp.c')
-rw-r--r-- | source4/rpc_server/dcesrv_crypto_ntlmssp.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source4/rpc_server/dcesrv_crypto_ntlmssp.c b/source4/rpc_server/dcesrv_crypto_ntlmssp.c index 67242c3cc0..35029a0fee 100644 --- a/source4/rpc_server/dcesrv_crypto_ntlmssp.c +++ b/source4/rpc_server/dcesrv_crypto_ntlmssp.c @@ -109,6 +109,21 @@ static NTSTATUS dcesrv_crypto_ntlmssp_unseal(struct dcesrv_auth *auth, TALLOC_CT } /* + get the session key +*/ +static NTSTATUS dcesrv_crypto_ntlmssp_session_key(struct dcesrv_auth *auth, uint8_t session_key[16]) +{ + struct auth_ntlmssp_state *auth_ntlmssp_state = auth->crypto_ctx.private_data; + + if (auth_ntlmssp_state->ntlmssp_state->session_key.length != 16) { + return NT_STATUS_NO_USER_SESSION_KEY; + } + memcpy(session_key, auth_ntlmssp_state->ntlmssp_state->session_key.data, 16); + + return NT_STATUS_OK; +} + +/* end crypto state */ static void dcesrv_crypto_ntlmssp_end(struct dcesrv_auth *auth) @@ -131,6 +146,7 @@ static const struct dcesrv_crypto_ops dcesrv_crypto_ntlmssp_ops = { .sign = dcesrv_crypto_ntlmssp_sign, .check_sig = dcesrv_crypto_ntlmssp_check_sig, .unseal = dcesrv_crypto_ntlmssp_unseal, + .session_key = dcesrv_crypto_ntlmssp_session_key, .end = dcesrv_crypto_ntlmssp_end }; |