This fixes a typo in handling of printers options in actualize_printers_list()
which caused a crash when number of printers exceeded number of options (#672689).
Prevent g-c-c from crashing because of different lengths of
arrays in which are informations about markers names, levels,
types and colors (rhbz#790430).
Show correct hostname for each remote printer. G-c-c gets
it from printer-uri-supported or from device-uri CUPS options now.
It also set 'printer-network' icon for remote printers to have them
easily recognizable from local printers.
Don't crash when exiting from new printer dialog due to external change
of panel (e.g. clicking "Network Settings" during run of the new printer
dialog). (rhbz #760587)
Store subscription id returned by g_dbus_connection_signal_subscribe()
and unsubscribe the signal with it when not needed any more. This should
fix rhbz #752168.
If a or b are NULL then (c && d) fails, and both a_normalized
and b_normalized are left uninitialised, possibly causing a crash
when we try to free them later.
Don't hide address entry when there is not firewalld available.
It is still possible that firewall is set up correctly and user
should be able to enter address of his network printer and
install it (rhbz #743694).
The lower-cased string needs to be checked against a lower-case
string, or it's never going to match (found by Bastien Nocera in
gnome-settings-daemon).
If available, use DBus method MissingExecutables which finds executables
needed by new printer. This method is available in system-config-printer
since version 1.3.5 (#654742). User is offered installation of packages
containing those missing executables then.
If available, use DBus method GroupPhysicalDevices which removes duplicates
from list of found devices. This method is available in system-config-printer
since version 1.3.5 (#654742).
If available, use DBus method GetBestDriver which determines the best PPD file
for the given printer. This method is available in system-config-printer
since version 1.3.5 (#654742).
This commit enables services mdns, ipp, ipp-client and samba-client on
firewall for 5 minutes for detection of network printers (#648784).
It enables required services permanently for printers selected by user
for addition then. It shows a notification for the permanent enable.
It uses firewalld, so if it is not installed or running it shows a warning
message to the user in the place where discovered printers will be shown
(both local and network). The warning disappears after the finish of
printers discovery (but not from network part if no printer was found).
Search for printers on address given by user using CUPS's SNMP backend.
This modification typically finds network printers publishing themselves
on port 9100.
Check successful installation of new printer by search
in list of destinations given by CUPS. Add index to the end
of name of new printer if the name is already used.