For spoolss, we need the client's IP address
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;
DLIST_ADD(InternalPipes, p);
- p->conn = conn;
+ memcpy(p->client_address, conn->client_address,
+ sizeof(p->client_address));
p->vuid = vuid;
!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;
}