... and here is what it turns into after I try to set up the same printer using KDE (after which I can no longer print).
It's actually too long to paste it all here, (over the 15000 character limit) so this is just the first half. If you're interested in the 2nd half, let know.
Code:
# CUPS configuration file, generated by CUPS configuration tool.
# This tool is part of KDEPrint, the printing framework for KDE
# since version 2.2.2 and is used by the CUPS supporting module
# in KDEPrint. The predecessors to KDEPrint in former KDE releases
# were KUPS and QtCUPS; they are deprecated and no longer maintained.
#
# Author: Michael Goffioul
#
# Web site: http://printing.kde.org/
#
########################################################################
# #
# This is the CUPS configuration file. If you are familiar with #
# Apache or any of the other popular web servers, we've followed the #
# same format. Any configuration variable used here has the same #
# semantics as the corresponding variable in Apache. If we need #
# different functionality then a different name is used to avoid #
# confusion... #
# #
########################################################################
#
# Server
# Server name (ServerName)
#
# The hostname of your server, as advertised to the world.
# By default CUPS will use the hostname of the system.
#
# To set the default server used by clients, see the client.conf file.
#
# ex: myhost.domain.com
#
#ServerName myhost.domain.com
# Server administrator (ServerAdmin)
#
# The email address to send all complaints or problems to.
# By default CUPS will use "root@hostname".
#
# ex: root@myhost.com
#
#ServerAdmin root@your.domain.com
# Classification (Classification)
#
# The classification level of the server. If set, this
# classification is displayed on all pages, and raw printing is disabled.
# The default is the empty string.
#
# ex: confidential
#
#Classification classified
Classification none
# Allow overrides (ClassifyOverride)
#
# Whether to allow users to override the classification
# on printouts. If enabled, users can limit banner pages to before or
# after the job, and can change the classification of a job, but cannot
# completely eliminate the classification or banners.
#
# The default is off.
#
#ClassifyOverride off
# Default character set (DefaultCharset)
#
# The default character set to use. If not specified,
# defaults to utf-8. Note that this can also be overridden in
# HTML documents...
#
# ex: utf-8
#
#DefaultCharset utf-8
DefaultCharset UTF-8
# Default language (DefaultLanguage)
#
# The default language if not specified by the browser.
# If not specified, the current locale is used.
#
# ex: en
#
#DefaultLanguage en
DefaultLanguage en
# Printcap file (Printcap)
#
# The name of the printcap file. Default is no filename.
# Leave blank to disable printcap file generation.
#
# ex: /etc/printcap
#
#Printcap /etc/printcap
Printcap /etc/printcap
PrintcapFormat BSD
# Security
# Remote root user (RemoteRoot)
#
# The name of the user assigned to unauthenticated accesses
# from remote systems. By default "remroot".
#
# ex: remroot
#
#RemoteRoot remroot
RemoteRoot remroot
# System group (SystemGroup)
#
# The group name for "System" (printer administration)
# access. The default varies depending on the operating system, but
# will be sys, system, or root (checked for in that order).
#
# ex: sys
#
#SystemGroup sys
SystemGroup sys root
# Encryption certificate (ServerCertificate)
#
# The file to read containing the server's certificate.
# Defaults to "/etc/cups/ssl/server.crt".
#
# ex: /etc/cups/ssl/server.crt
#
#ServerCertificate /etc/cups/ssl/server.crt
ServerCertificate /etc/cups/ssl/server.crt
# Encryption key (ServerKey)
#
# The file to read containing the server's key.
# Defaults to "/etc/cups/ssl/server.key".
#
# ex: /etc/cups/ssl/server.key
#
#ServerKey /etc/cups/ssl/server.key
ServerKey /etc/cups/ssl/server.key
# Access permissions
#
# Access permissions for each directory served by the scheduler.
# Locations are relative to DocumentRoot...
#
# AuthType: the authorization to use:
#
# None - Perform no authentication
# Basic - Perform authentication using the HTTP Basic method.
# Digest - Perform authentication using the HTTP Digest method.
#
# (Note: local certificate authentication can be substituted by
# the client for Basic or Digest when connecting to the
# localhost interface)
#
# AuthClass: the authorization class; currently only Anonymous, User,
# System (valid user belonging to group SystemGroup), and Group
# (valid user belonging to the specified group) are supported.
#
# AuthGroupName: the group name for "Group" authorization.
#
# Order: the order of Allow/Deny processing.
#
# Allow: allows access from the specified hostname, domain, IP address, or
# network.
#
# Deny: denies access from the specified hostname, domain, IP address, or
# network.
#
# Both "Allow" and "Deny" accept the following notations for addresses:
#
# All
# None
# *.domain.com
# .domain.com
# host.domain.com
# nnn.*
# nnn.nnn.*
# nnn.nnn.nnn.*
# nnn.nnn.nnn.nnn
# nnn.nnn.nnn.nnn/mm
# nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
#
# The host and domain address require that you enable hostname lookups
# with "HostNameLookups On" above.
#
# Encryption: whether or not to use encryption; this depends on having
# the OpenSSL library linked into the CUPS library and scheduler.
#
# Possible values:
#
# Always - Always use encryption (SSL)
# Never - Never use encryption
# Required - Use TLS encryption upgrade
# IfRequested - Use encryption if the server requests it
#
# The default value is "IfRequested".
#
#<Location [resource_name]>
#
# You may wish to limit access to printers and classes, either with Allow
# and Deny lines, or by requiring a username and password.
#
#
## Anonymous access (default)
#AuthType None
#
## Require a username and password (Basic authentication)
#AuthType Basic
#AuthClass User
#
## Require a username and password (Digest/MD5 authentication)
#AuthType Digest
#AuthClass User
#
## Restrict access to local domain
#Order Deny,Allow
#Deny From All
#Allow From .mydomain.com
#
## Use encryption if requested
#Encryption IfRequested
#</Location>
<Location />
Encryption IfRequested
Satisfy All
Order deny,allow
Deny From All
Allow From 127.0.0.1
Allow From 127.0.0.2
Allow From 192.168.2.3
Allow From @LOCAL
Allow From 192.168.2.*
</Location>
<Location /admin>
Encryption Required
Satisfy All
Order allow,deny
</Location>
<Location /admin/conf>
Require user @SYSTEM
Encryption IfRequested
Satisfy All
Order allow,deny
</Location>
# Network
# Hostname lookups (HostNameLookups)
#
# Whether or not to do lookups on IP addresses to get a
# fully-qualified hostname. This defaults to Off for performance reasons...
#
# ex: On
#
#HostNameLookups On
HostnameLookups Off
# Keep alive (KeepAlive)
#
# Whether or not to support the Keep-Alive connection
# option. Default is on.
#
# ex: On
#
#KeepAlive On
KeepAlive On
# Keep-alive timeout (KeepAliveTimeout)
#
# The timeout (in seconds) before Keep-Alive connections are
# automatically closed. Default is 60 seconds.
#
# ex: 60
#
#KeepAliveTimeout 60
KeepAliveTimeout 60
# Max clients (MaxClients)
#
# Controls the maximum number of simultaneous clients that
# will be handled. Defaults to 100.
#
# ex: 100
#
#MaxClients 100
MaxClients 100
# Max request size (MaxRequestSize)
#
# Controls the maximum size of HTTP requests and print files.
# Set to 0 to disable this feature (defaults to 0).
#
# ex: 0
#
#MaxRequestSize 0
MaxRequestSize 0m
# Client timeout (Timeout)
#
# The timeout (in seconds) before requests time out. Default is 300 seconds.
#
# ex: 300
#
#Timeout 300
Timeout 300
# Listen to (Port/Listen)
#
# Ports/addresses that are listened to. The default port 631 is reserved
# for the Internet Printing Protocol (IPP) and is what is used here.
#
# You can have multiple Port/Listen lines to listen to more than one
# port or address, or to restrict access.
#
# Note: Unfortunately, most web browsers don't support TLS or HTTP Upgrades
# for encryption. If you want to support web-based encryption you will
# probably need to listen on port 443 (the "HTTPS" port...).
#
# ex: 631, myhost:80, 1.2.3.4:631
#
# Port 80
# Port 631
# Listen hostname
# Listen hostname:80
# Listen hostname:631
# Listen 1.2.3.4
# Listen 1.2.3.4:631
#
#Port 631
Listen localhost:631
# Log
# Access log (AccessLog)
#
# The access log file; if this does not start with a leading /
# then it is assumed to be relative to ServerRoot. By default set to
# "/var/log/cups/access_log".
#
# You can also use the special name syslog to send the output to the
# syslog file or daemon.
#
# ex: /var/log/cups/access_log
#
#AccessLog /var/log/cups/access_log
AccessLog /var/log/cups/access_log
# Error log (ErrorLog)
#
# The error log file; if this does not start with a leading /
# then it is assumed to be relative to ServerRoot. By default set to
# "/var/log/cups/error_log".