diff options
-rw-r--r-- | CHANGES.txt | 4 | ||||
-rw-r--r-- | scheduler/client.c | 7 |
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index 32a2dcd93..a51b57fed 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,8 +1,10 @@ -CHANGES.txt - 2.2b1 - 2016-03-07 +CHANGES.txt - 2.2b1 - 2016-03-09 -------------------------------- CHANGES IN CUPS V2.2b1 + - The scheduler did not return non-shared printers to local clients + unless they connected to the domain socket (<rdar://problem/24566996>) - The scheduler now reads the spool directory if one or more job cache entries point to deleted jobs (<rdar://problem/24048846>) - Added support for disc media sizes (<rdar://problem/20219536>) 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... |