[MOD] STR #2393: _cupsAdminSetServerSettings bug withshare_printers/remote_printers
Kurt Pfeifle
kurt.pfeifle at infotec.com
Fri May 25 04:28:31 PDT 2007
> Setting one option unsets the other. Here is the patch.
I was about to fill in a similar thing in an STR, when I discovered this report. (But to me it does not look as clean-cut as "setting one option unsets the other"). Since I've already wrote up the thingie in my hotel room last night, I'll just copy it here, because I think it provides additional information:
------------- snip ------------------------------------------------------
The web interface configuration of "Basic Server Settings" does not work reliably for CUPS 1.2.11. (I'm using openSUSE-made packages for 10.2, provided by http://software.opensuse.org/download/Printing/openSUSE_10.2/).
I started playing with the web interface options on the localhost:631/admin page. I clicked "Edit Configuration File", then "Use Default Configuration File" and "Save Changes". (Which probably means that I now have the original CUPS-provided file, unless SUSE packagers have fiddled with that [which I think is unlikely]).
It comes back with these settings in the web interface:
[x] Show printers shared by other systems
[ ] Share published printers connected to this system
[ ] Allow remote administration
[ ] Allow users to cancel any job (not just their own)
[ ] Save debugging information for troubleshooting
(which I will name "settings=10000" for brevity from now on). If change these settings to these:
[x] Show printers shared by other systems
[x] Share published printers connected to this system
[x] Allow remote administration
[ ] Allow users to cancel any job (not just their own)
[x] Save debugging information for troubleshooting
(which I will name "settings=11101") after the cupsd restart, they return like this:
[ ] Show printers shared by other systems
[x] Share published printers connected to this system
[x] Allow remote administration
[ ] Allow users to cancel any job (not just their own)
[x] Save debugging information for troubleshooting
("settings=01101"). Since this is obviously not what I asked for, I tested a few more variants to see if more things go wrong. Summary Table of some results :
"INPUT" --> "OUTPUT"
-------------------------
11101 --> 01101 (flaw) change in 1st from 1 to 0
10101 --> 10001 (flaw) change in 3rd from 1 to 0
(a) 11001 --> 01101 (flaw) change in 1st from 1 to 0, and in 3rd from 0 to 1
(b) 11001 --> 01001 (flaw) change in 1st from 1 to 0 # another result sometimes
(c) 11001 --> 10001 (flaw) change in 2nd from 1 to 0 # another result sometimes
00101 --> 10001 (flaw) change in 1st from 0 to 1, and in 3rd from 1 to 0
(a) 11101 --> 10101 (flaw) change in 2nd from 1 to 0
(b) 11101 --> 01101 (flaw) change in 1st from 1 to 0 # another result sometimes
(a) 10001 --> 00001 (flaw) change in 1st from 1 to 0 # another result sometimes
(a) 10001 --> 10001 (flawless)
01101 --> 01101 (flawless)
00001 --> 00001 (flawless)
00010 --> 00010 (flawless)
00100 --> 00010 (flawless)
---------------------
Another thing I noticed in the course of playing with the web interface: it changed a part of the <Policy default> section. At one time it went from this representation:
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
to this representation:
<Limit CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
<Limit Cancel-Job>
Order deny,allow
Require user @OWNER @SYSTEM
</Limit>
which is basically the same (so no bug).... but isn't it "dangerous" to try and re-write the policy settings, if not even the basic stuff works reliably?
I could post my cupsd.conf file, but since you can reproduce this bug by using the default one provided by the web interface, this shouldn't be necessary.
------------- snip ------------------------------------------------------
So, the "additional information" from my experiments is that there may be conditions where the 3rd checkbox ("Allow remote administration") can unintentionally/automatically change from "on" to "off" (or the reverse way) as well.
I'm sorry, I can't test the patch right now since I do not have an environment that allows me to compile stuff.
More information about the cups
mailing list