summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source4/auth/gensec/ntlmssp.c46
1 files changed, 5 insertions, 41 deletions
diff --git a/source4/auth/gensec/ntlmssp.c b/source4/auth/gensec/ntlmssp.c
index c17352a469..5b40a412bd 100644
--- a/source4/auth/gensec/ntlmssp.c
+++ b/source4/auth/gensec/ntlmssp.c
@@ -325,9 +325,12 @@ static NTSTATUS gensec_ntlmssp_update(struct gensec_security *gensec_security, T
* @param ntlmssp_state NTLMSSP State
*/
-NTSTATUS ntlmssp_session_key(struct ntlmssp_state *ntlmssp_state,
- DATA_BLOB *session_key)
+NTSTATUS gensec_ntlmssp_session_key(struct gensec_security *gensec_security,
+ DATA_BLOB *session_key)
{
+ struct gensec_ntlmssp_state *gensec_ntlmssp_state = gensec_security->private_data;
+ struct ntlmssp_state *ntlmssp_state = gensec_ntlmssp_state->ntlmssp_state;
+
if (!ntlmssp_state->session_key.data) {
return NT_STATUS_NO_USER_SESSION_KEY;
}
@@ -337,24 +340,6 @@ NTSTATUS ntlmssp_session_key(struct ntlmssp_state *ntlmssp_state,
}
/**
- * End an NTLMSSP state machine
- *
- * @param ntlmssp_state NTLMSSP State, free()ed by this function
- */
-
-void ntlmssp_end(struct ntlmssp_state **ntlmssp_state)
-{
- (*ntlmssp_state)->ref_count--;
-
- if ((*ntlmssp_state)->ref_count == 0) {
- talloc_free(*ntlmssp_state);
- }
-
- *ntlmssp_state = NULL;
- return;
-}
-
-/**
* Determine correct target name flags for reply, given server role
* and negotiated flags
*
@@ -1440,17 +1425,6 @@ static NTSTATUS auth_ntlmssp_check_password(struct ntlmssp_state *ntlmssp_state,
return nt_status;
}
-static int gensec_ntlmssp_destroy(void *ptr)
-{
- struct gensec_ntlmssp_state *gensec_ntlmssp_state = ptr;
-
- if (gensec_ntlmssp_state->ntlmssp_state) {
- ntlmssp_end(&gensec_ntlmssp_state->ntlmssp_state);
- }
-
- return 0;
-}
-
static NTSTATUS gensec_ntlmssp_start(struct gensec_security *gensec_security)
{
struct gensec_ntlmssp_state *gensec_ntlmssp_state;
@@ -1465,8 +1439,6 @@ static NTSTATUS gensec_ntlmssp_start(struct gensec_security *gensec_security)
gensec_ntlmssp_state->server_info = NULL;
gensec_ntlmssp_state->have_features = 0;
- talloc_set_destructor(gensec_ntlmssp_state, gensec_ntlmssp_destroy);
-
gensec_security->private_data = gensec_ntlmssp_state;
return NT_STATUS_OK;
}
@@ -1560,14 +1532,6 @@ static NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_secur
return NT_STATUS_OK;
}
-static NTSTATUS gensec_ntlmssp_session_key(struct gensec_security *gensec_security,
- DATA_BLOB *session_key)
-{
- struct gensec_ntlmssp_state *gensec_ntlmssp_state = gensec_security->private_data;
-
- return ntlmssp_session_key(gensec_ntlmssp_state->ntlmssp_state, session_key);
-}
-
/**
* Return the credentials of a logged on user, including session keys
* etc.