diff options
author | Volker Lendecke <vl@samba.org> | 2008-06-23 08:38:27 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2008-06-24 10:31:36 +0200 |
commit | 9ff4001245d718515cb90036659109e23833e5fe (patch) | |
tree | 1dee67731ee10d0766e69d0ee144a7f0814720a2 | |
parent | c5401a2a46da9a7523f4363be14805eb893ea0f4 (diff) | |
download | samba-9ff4001245d718515cb90036659109e23833e5fe.tar.gz samba-9ff4001245d718515cb90036659109e23833e5fe.tar.bz2 samba-9ff4001245d718515cb90036659109e23833e5fe.zip |
Remove "conn" from pipes_struct
For spoolss, we need the client's IP address
(This used to be commit 64a4dfaa826cf9319ef3f5c65023352bf8af539e)
-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; } |