Index: scheduler/ipp.c =================================================================== --- scheduler/ipp.c (revision 8525) +++ scheduler/ipp.c (working copy) @@ -7615,6 +7615,7 @@ const char *username; /* Current user */ char *first_printer_name; /* first-printer-name attribute */ cups_array_t *ra; /* Requested attributes array */ + int local; /* Local connection? */ cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_printers(%p[%d], %x)", con, @@ -7672,6 +7673,8 @@ else printer_mask = 0; + local = httpAddrLocalhost(&(con->http.hostaddr)); + if ((attr = ippFindAttribute(con->request, "printer-location", IPP_TAG_TEXT)) != NULL) location = attr->values[0].string.text; @@ -7704,6 +7707,9 @@ count < limit && printer; printer = (cupsd_printer_t *)cupsArrayNext(Printers)) { + if (!local && !printer->shared) + continue; + if ((!type || (printer->type & CUPS_PRINTER_CLASS) == type) && (printer->type & printer_mask) == printer_type && (!location ||