summaryrefslogtreecommitdiff
path: root/source4/rpc_server/dcerpc_sock.c
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-03-22 16:23:19 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:59:05 -0500
commit0ff7e52340aa0e8319a9d0127ae8d6822e1ff301 (patch)
tree29767f4f5a14732ff595b7db039622f0de37f260 /source4/rpc_server/dcerpc_sock.c
parent080ed632edc910e30bc5bf37be9b2e8a0585a70d (diff)
downloadsamba-0ff7e52340aa0e8319a9d0127ae8d6822e1ff301.tar.gz
samba-0ff7e52340aa0e8319a9d0127ae8d6822e1ff301.tar.bz2
samba-0ff7e52340aa0e8319a9d0127ae8d6822e1ff301.zip
r14653: make sure we always have a valid session_info
metze (This used to be commit 42b3f83d1c5a4dced146cbc3861bcc838fda26c0)
Diffstat (limited to 'source4/rpc_server/dcerpc_sock.c')
-rw-r--r--source4/rpc_server/dcerpc_sock.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source4/rpc_server/dcerpc_sock.c b/source4/rpc_server/dcerpc_sock.c
index 79cf1113eb..587e8259f8 100644
--- a/source4/rpc_server/dcerpc_sock.c
+++ b/source4/rpc_server/dcerpc_sock.c
@@ -31,6 +31,7 @@
#include "lib/messaging/irpc.h"
#include "system/network.h"
#include "netif/netif.h"
+#include "auth/auth.h"
struct dcesrv_socket_context {
const struct dcesrv_endpoint *endpoint;
@@ -97,10 +98,20 @@ static void dcesrv_sock_accept(struct stream_connection *srv_conn)
struct dcesrv_socket_context *dcesrv_sock =
talloc_get_type(srv_conn->private, struct dcesrv_socket_context);
struct dcesrv_connection *dcesrv_conn = NULL;
+ struct auth_session_info *session_info = NULL;
+
+ status = auth_anonymous_session_info(srv_conn, &session_info);
+ if (!NT_STATUS_IS_OK(status)) {
+ DEBUG(0,("dcesrv_sock_accept: auth_anonymous_session_info failed: %s\n",
+ nt_errstr(status)));
+ stream_terminate_connection(srv_conn, nt_errstr(status));
+ return;
+ }
status = dcesrv_endpoint_connect(dcesrv_sock->dcesrv_ctx,
srv_conn,
dcesrv_sock->endpoint,
+ session_info,
srv_conn->event.ctx,
DCESRV_CALL_STATE_FLAG_MAY_ASYNC,
&dcesrv_conn);