1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-27 22:50:26 +03:00

s3-auth Add function to start any GENSEC mech by OID

Signed-off-by: Andrew Tridgell <tridge@samba.org>
This commit is contained in:
Andrew Bartlett 2011-07-26 14:40:33 +10:00
parent 23bbf4e758
commit 9f663270fd
2 changed files with 22 additions and 5 deletions

View File

@ -282,11 +282,27 @@ static int auth_ntlmssp_state_destructor(void *ptr)
return 0;
}
NTSTATUS auth_ntlmssp_start(struct auth_ntlmssp_state *auth_ntlmssp_state)
NTSTATUS auth_generic_start(struct auth_ntlmssp_state *auth_ntlmssp_state, const char *oid)
{
if (auth_ntlmssp_state->auth_context->gensec_start_mech_by_oid) {
return auth_ntlmssp_state->auth_context->gensec_start_mech_by_oid(auth_ntlmssp_state->gensec_security, GENSEC_OID_NTLMSSP);
return auth_ntlmssp_state->auth_context->gensec_start_mech_by_oid(auth_ntlmssp_state->gensec_security, oid);
}
if (strcmp(oid, GENSEC_OID_NTLMSSP) != 0) {
/* The caller will then free the auth_ntlmssp_state,
* undoing what was done in auth_ntlmssp_prepare().
*
* We can't do that logic here, as
* auth_ntlmssp_want_feature() may have been called in
* between.
*/
return NT_STATUS_NOT_IMPLEMENTED;
}
return NT_STATUS_OK;
}
NTSTATUS auth_ntlmssp_start(struct auth_ntlmssp_state *auth_ntlmssp_state)
{
return auth_generic_start(auth_ntlmssp_state, GENSEC_OID_NTLMSSP);
}

View File

@ -70,11 +70,12 @@ NTSTATUS auth_netlogond_init(void);
/* The following definitions come from auth/auth_ntlmssp.c */
NTSTATUS auth_ntlmssp_steal_session_info(TALLOC_CTX *mem_ctx,
struct auth_ntlmssp_state *auth_ntlmssp_state,
struct auth_session_info **session_info);
struct auth_ntlmssp_state *auth_ntlmssp_state,
struct auth_session_info **session_info);
NTSTATUS auth_ntlmssp_prepare(const struct tsocket_address *remote_address,
struct auth_ntlmssp_state **auth_ntlmssp_state);
struct auth_ntlmssp_state **auth_ntlmssp_state);
NTSTATUS auth_ntlmssp_start(struct auth_ntlmssp_state *auth_ntlmssp_state);
NTSTATUS auth_generic_start(struct auth_ntlmssp_state *auth_ntlmssp_state, const char *oid);
/* The following definitions come from auth/auth_sam.c */