From 9ff4001245d718515cb90036659109e23833e5fe Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 23 Jun 2008 08:38:27 +0200 Subject: Remove "conn" from pipes_struct For spoolss, we need the client's IP address (This used to be commit 64a4dfaa826cf9319ef3f5c65023352bf8af539e) --- source3/include/ntdomain.h | 3 ++- source3/rpc_server/srv_pipe_hnd.c | 3 ++- source3/rpc_server/srv_spoolss_nt.c | 5 ++--- 3 files changed, 6 insertions(+), 5 deletions(-) (limited to 'source3') diff --git a/source3/include/ntdomain.h b/source3/include/ntdomain.h index 46842c8b97..caf7e3431c 100644 --- a/source3/include/ntdomain.h +++ b/source3/include/ntdomain.h @@ -211,7 +211,8 @@ struct pipe_auth_data { typedef struct pipes_struct { struct pipes_struct *next, *prev; - connection_struct *conn; + char client_address[INET6_ADDRSTRLEN]; + uint16 vuid; /* points to the unauthenticated user that opened this pipe. */ fstring name; diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c index 22903aacba..1feed1550c 100644 --- a/source3/rpc_server/srv_pipe_hnd.c +++ b/source3/rpc_server/srv_pipe_hnd.c @@ -316,7 +316,8 @@ static void *make_internal_rpc_pipe_p(const char *pipe_name, DLIST_ADD(InternalPipes, p); - p->conn = conn; + memcpy(p->client_address, conn->client_address, + sizeof(p->client_address)); p->vuid = vuid; diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 06b3d4a07a..eaf563eaa9 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -2721,9 +2721,8 @@ WERROR _spoolss_rffpcnex(pipes_struct *p, SPOOL_Q_RFFPCNEX *q_u, SPOOL_R_RFFPCNE !get_printer_snum(p, handle, &snum, NULL) ) return WERR_BADFID; - if (!interpret_string_addr(&client_ss, - p->conn->client_address, - AI_NUMERICHOST)) { + if (!interpret_string_addr(&client_ss, p->client_address, + AI_NUMERICHOST)) { return WERR_SERVER_UNAVAILABLE; } -- cgit