Didier Raboud [Thu, 3 Dec 2020 11:32:54 +0000 (12:32 +0100)]
SERVERBIN: match host_os_name on *-gnu first, to catch kfreebsd-gnu before *bsd*
Debian's kfreebsd-gnu architectures (kfreebsd-amd64 and kfreebsd-i386) work as Debian/GNU systems, hence with a /usr/lib/cups SERVERBIN, not a /usr/libexec/cups.
Zdenek Dohnal [Wed, 25 Nov 2020 08:31:31 +0000 (09:31 +0100)]
[Fedora] cups.service.in: Start cupsd after NIS is started
If an user has a NIS group as SystemGroup in cups-files.conf, then cupsd fails to start if it is activated before ypbind service. Setting 'After=ypbind.service' sets unit's order to cupsd being started after ypbind.
Zdenek Dohnal [Wed, 25 Nov 2020 07:12:32 +0000 (08:12 +0100)]
[Fedora] cups.service.in: Use 'notify' service type and run after network.target
1) If the service is defined with 'simple' type, the result of 'systemctl' is 0 regardless of actual startup result, because it reports success/failure of forking process (even before cupsd is started). This way errors due bad configuration or programming errors are masked during systemctl invocation.
The 'notify' type depends on executable sending a 'Im running' type of message to systemd after successful start and systemctl's return code depends whether this message came or not, which solves the issue.
2) The service needs to be started after all units needed for network.target are activated. This prevents starting cupsd before we have ports ready.
Fedora bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=1153660 (adding network.target)
https://bugzilla.redhat.com/show_bug.cgi?id=1088918 (change of the service type)
Michael R Sweet [Sun, 22 Nov 2020 13:49:56 +0000 (08:49 -0500)]
"make test" now runs the automated test suite.
"make debugtest" now runs the automated test suite with debug printfs enabled.
The old "check" and "debugcheck" targets are still active, however "test" is the
canonical test suite target for most open source projects and CI environments.
The old "test" target behavior is available by running "make testserver" - as
before you can choose to run a more agressive automated test or just run the
test server in the background.
Till Kamppeter [Wed, 26 Aug 2020 11:03:00 +0000 (13:03 +0200)]
Fix fax numbers supplied via GTK print dialog, removing a "Custom." prefix; do not choke if the GTK dialog sends "None" as phone number or pre-dial prefix
Till Kampetter [Tue, 9 Aug 2016 16:11:35 +0000 (18:11 +0200)]
Do not use host names for broadcasting print queues and
managing print queues broadcasted from other servers by default. Many
networks do not have valid host names for all machines.
Bug-Ubuntu: https://bugs.launchpad.net/bugs/449586
Patch-Name: do-not-broadcast-with-hostnames.patch
Tim Waugh [Tue, 9 Aug 2016 16:11:30 +0000 (18:11 +0200)]
Let snmp backend also use manufacturer-specific MIBs
… of HP and Ricoh to obtain the device IDs of network-connected
printers. This way we get more reliable information about make and model
and in addition the supported page description languages, which allows one to
identify whether an optional PostScript add-on is installed or for an
unsupported printer which generic PPD is the best choice (requested by
Ricoh).
Bug: https://github.com/apple/cups/issues/3552
Patch-Name: Let-snmp-backend-also-use-manufacturer-specific-MIBs.patch
Till Kamppeter [Sat, 22 Feb 2020 13:28:58 +0000 (14:28 +0100)]
Fix scheduler cupsd.conf load
When running it without arguments it is supposed to read the local CUPS's
cupsd.conf and show a summary of the setting. in CUPS 2.3.1 it shows a mess
with a lot of HTML inside and this is due to the fact that when loading the
file via HTTP using the /admin/cups/cupsd.conf path the scheduler calls the
admin.cgi program which returns the admin front page of the web admin
interface. cupsctl then tries to interpret that as the config file and displays
garbage. Even worse is if you run cupsctl with command line argument (one of
the five switches or a key=value pair) to change a setting. It seems to load
cupsd.conf again and gets again the HTML code of the web interface page.
cupsctl tries to interpret this again, producing garbage, adds the
user-supplied setting and writes all this back into cupsd.conf. Then it tries
to restart the scheduler which fails due to the broken config file.
The problem is that in the file scheduler/client.conf, in the function
get_file() the URI from the client is at first checked whether it begins with
"/admin/" and in this case the CGI program admin.cgi is responsible. Only after
that the check for "/admin/conf/cupsd.conf" comes and is never reached.
I have changed the order now appropriately and this way cupsctl works again.
Note that the problem only occurs if the web interface is active and the
cupsctl command is issued by a non-root user.
This is a regression caused by issue #5652.