diff options
author | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2016-03-09 15:45:21 +0000 |
---|---|---|
committer | msweet <msweet@a1ca3aef-8c08-0410-bb20-df032aa958be> | 2016-03-09 15:45:21 +0000 |
commit | cd1a83eac87d93aa5d825445ee0a6cc0858abe2b (patch) | |
tree | e76b4a89bc1fd94f0f009c1f54b4dd2466fef0e4 /scheduler/client.c | |
parent | 8ddb0f601e46c9c3c42cb1871f7e558d546d35f4 (diff) | |
download | cups-cd1a83eac87d93aa5d825445ee0a6cc0858abe2b.tar.gz |
The scheduler did not return non-shared printers to local clients unless
they connected to the domain socket (<rdar://problem/24566996>)
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13128 a1ca3aef-8c08-0410-bb20-df032aa958be
Diffstat (limited to 'scheduler/client.c')
-rw-r--r-- | scheduler/client.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/scheduler/client.c b/scheduler/client.c index ec5d78044..d5611147c 100644 --- a/scheduler/client.c +++ b/scheduler/client.c @@ -143,7 +143,12 @@ cupsdAcceptClient(cupsd_listener_t *lis)/* I - Listener socket */ * Save the connected address and port number... */ - con->clientaddr = lis->address; + addrlen = sizeof(con->clientaddr); + + if (getsockname(httpGetFd(con->http), (struct sockaddr *)&con->clientaddr, &addrlen) || addrlen == 0) + con->clientaddr = lis->address; + + cupsdLogClient(con, CUPSD_LOG_DEBUG, "Server address is \"%s\".", httpAddrString(&con->clientaddr, name, sizeof(name))); /* * Check the number of clients on the same address... |