-
Notifications
You must be signed in to change notification settings - Fork 467
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
Browse packets no longer sent after reload #1670
Comments
CUPS.org User: mike Everything looks OK here, looking into it some more... |
CUPS.org User: mike I can't reproduce this at all - can you get a cupsd.conf and error_log file from the user? |
CUPS.org User: twaugh.redhat https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=191217 now has the cupsd.conf used, as well as an error_log snippet. The important line is: E [09/May/2006:14:01:19 -0600] cupsdSendBrowseList: sendto failed for browser 1 - Bad file descriptor. It seems like this is what happens: In main.c at line 611, cupsdStopServer() calls cupsdStopBrowsing() which closes the browse socket and sets BrowseSocket to -1. Then, from main.c:617, while reading configuration, NumBrowsers gets set to 1. But later during cupsdReadConfiguration() (conf.c:938), the scheduler attempts to send 'delete' browse messages from cupsdDeletePrinter() (printers.c:681). This fails, because BrowseSocket == -1, and so at dirsvc.c:2608 we decrement NumBrowsers back to 0. Later, in cupsdStartBrowsing, we do open the browse socket -- but NumBrowsers is still 0 so it never gets used. Perhaps the key to reproducing this problem is having both 'BrowseDeny All' and 'BrowseAddress @Local' in cupsd.conf. |
CUPS.org User: twaugh.redhat Actually you need a specific 'BrowseAddress' network mask like 192.168.1.255 to trigger this. |
CUPS.org User: twaugh.redhat Attached is a fix that works for me. |
CUPS.org User: mike Actually, I'm opting to localize the check to cupsdSendBrowseDelete(), since we want to disable browsing if BrowseSocket is -1 after a successful startup. I also added corresponding checks for SLP as well... Let me know if this doesn't work for you... (And BTW, thanks for the clear debugging into the cause!) |
"cups-str1670.patch": --- cups-1.2.x/scheduler/dirsvc.c.str1670 2006-05-18 13:48:42.000000000 +0100
|
"str1670.patch": Index: dirsvc.c--- dirsvc.c (revision 5547)
#ifdef HAVE_OPENLDAP |
Version: 1.2.0
CUPS.org User: twaugh.redhat
Reloading cupsd (by sending it SIGHUP) causes browse packets to be stopped.
See RH Bugzilla bug #191217:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=191217
The text was updated successfully, but these errors were encountered: