-
Notifications
You must be signed in to change notification settings - Fork 195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CUPS discovers its own shared queues and creates temporary queues pointing to itself #176
Comments
@tillkamppeter Can you provide the output of |
Here we go:
The potential queues are now physically created and therefore listed by |
This is the call of
This is the callback function
|
|
OK, I think the Avahi rejection of local queues isn't working like it does with mDNSResponder. I will add a UUID array to reject identical UUIDs. |
UUID array, exactly what I also do in cups-browsed ... |
Also reported on Launchpad for Ubuntu. |
Hey all, I reached this issue after reading the above issue, and trying to investigate and maybe help resolve the issue. I'm not sure how is this issue related to the issue described in these reports:
My conclusion after reading the above reports, is that all of the suggested solutions essentially disable Avahi and hence makes it much harder to add printers to CUPS when one actually wants to add a printer discoverable from the local network. Interestingly, I also discovered that the issue is not directly due to Avahi's behavior, but to GNOME's request from CUPS to give a list of printers. I reached this conclusion after I checked whether the Hence I ask: Is there a way for GNOME to differentiate between printers that were actually configured by CUPS' web interface, and printers that cups simply discovers using Avahi? That would help the GNOME developers to fix the issue. |
Does this still happen in the CUPS 2.5 tree with its improved DNS-SD support? |
I have built 2.5.x from GIT master now, but it seems that it does not detect any services via DNS-SD any more (2.4.x does for me). Here are the available print destinations discovered by DNS-SD:
Now I check what CUPS is seeing:
And this is not caused by the So it seems to generally not detect services via DNS-SD. I have checked So this way I cannot test the presence or absence of ghost queues accompanying the permanent queues ... |
I create a CUPS queue on my locally installed CUPS and share it (turn sharing for CUPS on and also mark the printer itself shared). On remote machines it gets visible by that, as expected.
Now I call
cupsEnumDests()
like this:to let the callback function
add_dest_cb()
add all printers reported todest_list
.In the end the list contains all permanent queues which I have created and it also contains the IPP printers discovered in the network (advertsed via DNS-SD).
This is all OK, but
cupsEnumDests()
also discovers the shared printers on my local CUPS. So if I have created a queue namedprinter
and shared it and the host name of my local machine ismy_cups_server
,cupsEnumDests()
also lists a discovered printer making up a temporary queue namedprinter_my_cups_server
and when printing to it this queue gets created with the device URIipps://my_cups_server:631/printers/printer
making my CUPS daemon passing on a job to this queue to itself, into the queueprinter
.cupsEnumDests()
(or cupsd if it is doing the "dirty work" for this function) needs a filter to exclude temporary queues for sharedlocal (from the same cupsd) printers.
The text was updated successfully, but these errors were encountered: