summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/ntdomain.h3
-rw-r--r--source3/rpc_server/srv_pipe_hnd.c3
-rw-r--r--source3/rpc_server/srv_spoolss_nt.c5
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;
}