diff options
-rw-r--r-- | source3/include/ntdomain.h | 3 | ||||
-rw-r--r-- | source3/rpc_server/srv_pipe_hnd.c | 3 | ||||
-rw-r--r-- | source3/rpc_server/srv_spoolss_nt.c | 5 |
3 files changed, 6 insertions, 5 deletions
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; } |