From: msweet Date: Wed, 9 Mar 2016 15:45:21 +0000 (+0000) Subject: The scheduler did not return non-shared printers to local clients unless X-Git-Tag: v2.2b1~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cd1a83eac87d93aa5d825445ee0a6cc0858abe2b;p=thirdparty%2Fcups.git The scheduler did not return non-shared printers to local clients unless they connected to the domain socket () git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@13128 a1ca3aef-8c08-0410-bb20-df032aa958be --- diff --git a/CHANGES.txt b/CHANGES.txt index 32a2dcd934..a51b57fedc 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 () - The scheduler now reads the spool directory if one or more job cache entries point to deleted jobs () - Added support for disc media sizes () diff --git a/scheduler/client.c b/scheduler/client.c index ec5d780447..d5611147c3 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...