mirror of
https://github.com/samba-team/samba.git
synced 2025-12-07 20:23:50 +03:00
r21911: Some more work on making the ncacn_np handling in smbd be less special.
(This used to be commit 52f32b7330)
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
86d77746db
commit
ab652246b9
@@ -1409,9 +1409,9 @@ static void dcesrv_task_init(struct task_server *task)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case NCACN_NP:
|
case NCACN_NP:
|
||||||
/* FIXME: status = dcesrv_add_ep_np(dce_ctx, e, task->event_ctx, task->model_ops);
|
status = dcesrv_add_ep_np(dce_ctx, e, task->event_ctx, task->model_ops);
|
||||||
if (!NT_STATUS_IS_OK(status)) goto failed;
|
if (!NT_STATUS_IS_OK(status)) goto failed;
|
||||||
*/ break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
status = NT_STATUS_NOT_SUPPORTED;
|
status = NT_STATUS_NOT_SUPPORTED;
|
||||||
|
|||||||
@@ -267,6 +267,52 @@ NTSTATUS dcesrv_add_ep_ncalrpc(struct dcesrv_context *dce_ctx, struct dcesrv_end
|
|||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
add a socket address to the list of events, one event per dcerpc endpoint
|
||||||
|
*/
|
||||||
|
static NTSTATUS add_socket_rpc_pipe_iface(struct dcesrv_context *dce_ctx, struct dcesrv_endpoint *e,
|
||||||
|
struct event_context *event_ctx, const struct model_ops *model_ops)
|
||||||
|
{
|
||||||
|
struct dcesrv_socket_context *dcesrv_sock;
|
||||||
|
NTSTATUS status;
|
||||||
|
|
||||||
|
if (e->ep_description->endpoint == NULL) {
|
||||||
|
DEBUG(0, ("Endpoint mandatory for named pipes\n"));
|
||||||
|
return NT_STATUS_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
dcesrv_sock = talloc(event_ctx, struct dcesrv_socket_context);
|
||||||
|
NT_STATUS_HAVE_NO_MEMORY(dcesrv_sock);
|
||||||
|
|
||||||
|
/* remember the endpoint of this socket */
|
||||||
|
dcesrv_sock->endpoint = e;
|
||||||
|
dcesrv_sock->dcesrv_ctx = talloc_reference(dcesrv_sock, dce_ctx);
|
||||||
|
|
||||||
|
status = NT_STATUS_OK;
|
||||||
|
#if 0
|
||||||
|
|
||||||
|
status = stream_setup_smb_pipe(event_ctx, model_ops, &dcesrv_stream_ops,
|
||||||
|
e->ep_description->endpoint, dcesrv_sock);
|
||||||
|
if (!NT_STATUS_IS_OK(status)) {
|
||||||
|
DEBUG(0,("service_setup_stream_socket(path=%s) failed - %s\n",
|
||||||
|
e->ep_description->endpoint, nt_errstr(status)));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
NTSTATUS dcesrv_add_ep_np(struct dcesrv_context *dce_ctx, struct dcesrv_endpoint *e,
|
||||||
|
struct event_context *event_ctx, const struct model_ops *model_ops)
|
||||||
|
{
|
||||||
|
NTSTATUS status;
|
||||||
|
|
||||||
|
status = add_socket_rpc_pipe_iface(dce_ctx, e, event_ctx, model_ops);
|
||||||
|
NT_STATUS_NOT_OK_RETURN(status);
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
add a socket address to the list of events, one event per dcerpc endpoint
|
add a socket address to the list of events, one event per dcerpc endpoint
|
||||||
*/
|
*/
|
||||||
@@ -324,5 +370,3 @@ NTSTATUS dcesrv_add_ep_tcp(struct dcesrv_context *dce_ctx, struct dcesrv_endpoin
|
|||||||
|
|
||||||
return NT_STATUS_OK;
|
return NT_STATUS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user