summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES.txt4
-rw-r--r--scheduler/client.c7
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...