mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
r1010: make the dcesrv_crypto code a bit more generic...
fix type 'cyrpto' -> 'crypto' metze
This commit is contained in:
parent
49d545a820
commit
90f4777dfc
@ -94,7 +94,7 @@ struct dcesrv_handle {
|
||||
void (*destroy)(struct dcesrv_connection *, struct dcesrv_handle *);
|
||||
};
|
||||
|
||||
struct dcesrv_cyrpto_ops {
|
||||
struct dcesrv_crypto_ops {
|
||||
const char *name;
|
||||
uint8 auth_type;
|
||||
NTSTATUS (*start)(struct dcesrv_auth *auth);
|
||||
@ -116,7 +116,7 @@ struct dcesrv_auth {
|
||||
struct dcerpc_auth *auth_info;
|
||||
struct {
|
||||
void *private_data;
|
||||
const struct dcesrv_cyrpto_ops *ops;
|
||||
const struct dcesrv_crypto_ops *ops;
|
||||
} crypto_ctx;
|
||||
};
|
||||
|
||||
|
@ -34,8 +34,6 @@
|
||||
NTSTATUS dcesrv_crypto_select_type(struct dcesrv_connection *dce_conn,
|
||||
struct dcesrv_auth *auth)
|
||||
{
|
||||
NTSTATUS status;
|
||||
|
||||
if (auth->auth_info->auth_level != DCERPC_AUTH_LEVEL_INTEGRITY &&
|
||||
auth->auth_info->auth_level != DCERPC_AUTH_LEVEL_PRIVACY) {
|
||||
DEBUG(2,("auth_level %d not supported in dcesrv auth\n",
|
||||
@ -58,24 +56,13 @@ NTSTATUS dcesrv_crypto_select_type(struct dcesrv_connection *dce_conn,
|
||||
* maybe a dcesrv_crypto_find_backend_by_type() whould be better here
|
||||
* to make thinks more generic
|
||||
*/
|
||||
switch (auth->auth_info->auth_type) {
|
||||
|
||||
/* case DCERPC_AUTH_TYPE_SCHANNEL:
|
||||
status = dcesrv_crypto_schannel_get_ops(dce_conn, auth);
|
||||
break;
|
||||
*/
|
||||
case DCERPC_AUTH_TYPE_NTLMSSP:
|
||||
status = dcesrv_crypto_ntlmssp_get_ops(dce_conn, auth);
|
||||
break;
|
||||
|
||||
default:
|
||||
auth->crypto_ctx.ops = dcesrv_crypto_backend_bytype(auth->auth_info->auth_type);
|
||||
if (auth->crypto_ctx.ops == NULL) {
|
||||
DEBUG(2,("dcesrv auth_type %d not supported\n", auth->auth_info->auth_type));
|
||||
return NT_STATUS_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
DEBUG(4,("dcesrv_crypto_startup: %s\n", nt_errstr(status)));
|
||||
|
||||
return status;
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
/*
|
||||
@ -139,3 +126,17 @@ void dcesrv_crypto_end(struct dcesrv_auth *auth)
|
||||
{
|
||||
auth->crypto_ctx.ops->end(auth);
|
||||
}
|
||||
|
||||
const struct dcesrv_crypto_ops *dcesrv_crypto_backend_bytype(uint8_t auth_type)
|
||||
{
|
||||
switch (auth_type) {
|
||||
#if 0
|
||||
case DCERPC_AUTH_TYPE_SCHANNEL:
|
||||
return dcesrv_crypto_schannel_get_ops();
|
||||
#endif
|
||||
case DCERPC_AUTH_TYPE_NTLMSSP:
|
||||
return dcesrv_crypto_ntlmssp_get_ops();
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ static void dcesrv_crypto_ntlmssp_end(struct dcesrv_auth *auth)
|
||||
return;
|
||||
}
|
||||
|
||||
static const struct dcesrv_cyrpto_ops dcesrv_crypto_ntlmssp_ops = {
|
||||
static const struct dcesrv_crypto_ops dcesrv_crypto_ntlmssp_ops = {
|
||||
.name = "ntlmssp",
|
||||
.auth_type = DCERPC_AUTH_TYPE_NTLMSSP,
|
||||
.start = dcesrv_crypto_ntlmssp_start,
|
||||
@ -128,12 +128,7 @@ static const struct dcesrv_cyrpto_ops dcesrv_crypto_ntlmssp_ops = {
|
||||
/*
|
||||
startup the cryptographic side of an authenticated dcerpc server
|
||||
*/
|
||||
NTSTATUS dcesrv_crypto_ntlmssp_get_ops(struct dcesrv_connection *dce_conn,
|
||||
struct dcesrv_auth *auth)
|
||||
const struct dcesrv_crypto_ops *dcesrv_crypto_ntlmssp_get_ops(void)
|
||||
{
|
||||
NTSTATUS status = NT_STATUS_OK;
|
||||
|
||||
auth->crypto_ctx.ops = &dcesrv_crypto_ntlmssp_ops;
|
||||
|
||||
return status;
|
||||
return &dcesrv_crypto_ntlmssp_ops;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user