]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
Doco updates...
authormike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Thu, 5 Jul 2001 15:34:47 +0000 (15:34 +0000)
committermike <mike@7a7537e8-13f0-0310-91df-b6672ffda945>
Thu, 5 Jul 2001 15:34:47 +0000 (15:34 +0000)
Don't list GIMP-print or Foomatic drivers in the printer wizard.

git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@1824 7a7537e8-13f0-0310-91df-b6672ffda945

28 files changed:
INSTALL.txt
LICENSE.html
LICENSE.txt
README.txt
cups.list.in
cups.spec
doc/cmp.html
doc/cmp.pdf
doc/idd.html
doc/idd.pdf
doc/ipp.pdf
doc/sam.html
doc/sam.pdf
doc/sam.shtml
doc/sdd.html
doc/sdd.pdf
doc/spm.html
doc/spm.pdf
doc/sps.html
doc/sps.pdf
doc/ssr.html
doc/ssr.pdf
doc/stp.html
doc/stp.pdf
doc/sum.html
doc/sum.pdf
doc/svd.html
doc/svd.pdf

index bcfb5e2654f3219dfe345f9fce9e9295fb8b089b..40a84780ef53c660746043faa5ca4140d2178d67 100644 (file)
@@ -1,4 +1,4 @@
-INSTALL - CUPS v1.1.7 - 05/01/2001
+INSTALL - CUPS v1.1.9 - 07/06/2001
 ----------------------------------
 
 This file describes how to compile and install CUPS from source
@@ -72,6 +72,14 @@ SSL and TLS support require the OpenSSL library, available at:
 
     http://www.openssl.org
 
+If the OpenSSL header files and libraries are not in a standard
+location, specify the locations of these files using the
+--with-openssl-includes and --with-openssl-libs directives:
+
+    ./configure --enable-ssl \
+        --with-openssl-includes=/foo/bar/include \
+        --with-openssl-libs=/foo/bar/lib
+
 See the file "ENCRYPTION.txt" for information on using the
 encryption support in CUPS.
 
@@ -79,7 +87,7 @@ Once you have configured things, just type:
 
     make ENTER
 
-or if you have FreeBSD:
+or if you have FreeBSD, NetBSD, or OpenBSD type:
 
     gmake ENTER
 
@@ -94,7 +102,7 @@ your local system:
 
     make install ENTER
 
-or for FreeBSD:
+or for FreeBSD, NetBSD, or OpenBSD:
 
     gmake install ENTER
 
@@ -124,16 +132,19 @@ or
 
     gmake <format> ENTER
 
-for FreeBSD, where <format> is one of the following:
+for FreeBSD, NetBSD, and OpenBSD.  The <format> target is one of
+the following:
 
     epm      - Builds a portable shell script and tar file based
                distribution.  This format will also backup your
               existing printing system if you decide to remove
               CUPS at some future time.
-    rpm      - Builds a RPM binary distribution.
+    aix      - Builds an AIX binary distribution.
+    bsd      - Builds a *BSD binary distribution.
     deb      - Builds a Debian binary distribution.
     depot    - Builds a HP-UX binary distribution.
     pkg      - Builds a Solaris binary distribution.
+    rpm      - Builds a RPM binary distribution.
     tardist  - Builds an IRIX binary distribution.
 
 
index 1bf924e80a4728fcdb9c712abdd0559901780add..c462fc7796b6d8ca82d17b024bd3973400ac27ad 100644 (file)
@@ -29,7 +29,7 @@ subdirectory of the CUPS source distribution and in the
 
 <P>The GNU GPL applies to the remainder of the CUPS distribution,
 including the "pstoraster" filter which is based upon GNU Ghostscript
-5.50 and the "pdftops" filter which is based upon Xpdf 0.90.
+5.50 and the "pdftops" filter which is based upon Xpdf 0.92.
 
 <P>For those not familiar with the GNU GPL, the license basically
 allows you to:
@@ -93,7 +93,7 @@ Fax: +1.415.492.9862<BR>
 EMail: <A HREF="mailto:info@arsoft.com">info@arsoft.com</A>
 </BLOCKQUOTE>
 
-<P>The "pdftops" filter is based on the Xpdf 0.90 software. For binary
+<P>The "pdftops" filter is based on the Xpdf 0.92 software. For binary
 distribution licensing of this software, please contact:
 
 <BLOCKQUOTE>
index e05c0456861809f16c4fb289ca1aae63d9d909a1..7f1c912988ac23ab80802b473fc5af93af211371 100644 (file)
@@ -22,7 +22,7 @@ distributions.
 
 The GNU GPL applies to the remainder of the CUPS distribution, including the
 "pstoraster" filter which is based upon GNU Ghostscript 5.50 and the
-"pdftops" filter which is based upon Xpdf 0.90.
+"pdftops" filter which is based upon Xpdf 0.92.
 
 For those not familiar with the GNU GPL, the license basically allows you
 to:
@@ -75,7 +75,7 @@ contact:
      Fax: +1.415.492.9862
      EMail: info@arsoft.com
 
-The "pdftops" filter is based on the Xpdf 0.90 software. For binary
+The "pdftops" filter is based on the Xpdf 0.92 software. For binary
 distribution licensing of this software, please contact:
 
      Derek B. Noonburg
index cd4131c99da791958793bade93d509c1c89decb1..4985991e77c3d00a01786ce9cc08f66a552a4a48 100644 (file)
@@ -1,4 +1,4 @@
-README - CUPS v1.1.8 - 05/22/2001
+README - CUPS v1.1.9 - 07/06/2001
 ---------------------------------
 
 Looking for compile instructions?  Read the file "INSTALL.txt"
@@ -55,7 +55,8 @@ SOFTWARE REQUIREMENTS
 The following operating system software is required to install
 one of the binary distributions from Easy Software Products:
 
-    - Digital UNIX (aka OSF1 aka Compaq Tru64 UNIX) 4.0 or higher
+    - AIX 4.3 or higher
+    - Compaq Tru64 UNIX (aka OSF1 aka Digital UNIX) 4.0 or higher
     - HP-UX 10.20 or higher
     - IRIX 5.3 or higher
     - Linux 2.0 with glibc2 or higher
@@ -188,14 +189,17 @@ the following commands:
 
 Similarly, for the other sample drivers you can use:
 
-    Driver                      PPD File
-    --------------------------  ------------
-    HP DeskJet Series           deskjet.ppd
-    HP LaserJet Series          laserjet.ppd
-    EPSON Stylus Color Series   stcolor.ppd
-    EPSON Stylus Photo Series   stphoto.ppd
-    EPSON 9-pin Series          epson9.ppd
-    EPSON 24-pin Series         epson24.ppd
+    Driver                         PPD File
+    -----------------------------  ------------
+    HP DeskJet Series              deskjet.ppd
+    HP New DeskJet Series          deskjet2.ppd
+    HP LaserJet Series             laserjet.ppd
+    EPSON Stylus Color Series      stcolor.ppd
+    EPSON Stylus Photo Series      stphoto.ppd
+    EPSON Stylus New Color Series  stcolor2.ppd
+    EPSON Stylus New Photo Series  stphoto2.ppd
+    EPSON 9-pin Series             epson9.ppd
+    EPSON 24-pin Series            epson24.ppd
 
 These sample drivers provide basic printing capabilities, but
 generally do not exercise the full potential of the printers or
@@ -246,8 +250,8 @@ The PostScript RIP software (pstoraster) is based on the GNU
 Ghostscript 5.50 core, Copyright 1986-1998 by Aladdin
 Enterprises.
 
-The PDF filter (pdftops) is based on the Xpdf 0.90 software,
-Copyright 1996-1999 by Derek B. Noonburg.
+The PDF filter (pdftops) is based on the Xpdf 0.92 software,
+Copyright 1996-2001 by Derek B. Noonburg.
 
 This software is based in part on the work of the Independent
 JPEG Group.
index 8b47c7507e2a8c0d7c06f1cab5972ca94947b4b9..75dfa1de3dcdc1bda630c821baa954bf8dd284e2 100644 (file)
@@ -1,5 +1,5 @@
 #
-# "$Id: cups.list.in,v 1.3 2001/07/02 20:55:15 mike Exp $"
+# "$Id: cups.list.in,v 1.4 2001/07/05 15:34:37 mike Exp $"
 #
 #   ESP Package Manager (EPM) file list for the Common UNIX Printing
 #   System (CUPS).
@@ -32,7 +32,9 @@
 %version 1.1.9
 %incompat printpro
 %provides cups
+%provides cupsys
 %provides cups-devel
+%provides cupsys-devel
 %provides cups-pstoraster
 %provides libcups1
 %provides libcups.so.2
@@ -351,5 +353,5 @@ f 0444 root sys $AMANDIR/man$MAN8DIR/lpmove.$MAN8EXT man/lpmove.man
 i 0555 root sys cups cups.sh
 
 #
-# End of "$Id: cups.list.in,v 1.3 2001/07/02 20:55:15 mike Exp $".
+# End of "$Id: cups.list.in,v 1.4 2001/07/05 15:34:37 mike Exp $".
 #
index eb0be436d967b9a16394cf8a02c8b01261250702..701ca8f57989dd170ff707157ed2b117766eddfe 100644 (file)
--- a/cups.spec
+++ b/cups.spec
@@ -1,5 +1,5 @@
 #
-# "$Id: cups.spec,v 1.33 2001/05/30 16:01:30 mike Exp $"
+# "$Id: cups.spec,v 1.34 2001/07/05 15:34:37 mike Exp $"
 #
 #   RPM "spec" file for the Common UNIX Printing System (CUPS).
 #
@@ -39,7 +39,7 @@ BuildRoot: /var/tmp/%{name}-root
 Conflicts: lpr, LPRng
 Provides: libcups.so.2
 Provides: libcupsimage.so.2
-Provides: cupsd
+Provides: cups
 
 %package devel
 Summary: Common Unix Printing System - development environment
@@ -215,5 +215,5 @@ rm -rf $RPM_BUILD_ROOT
 /usr/share/cups/pstoraster/*
 
 #
-# End of "$Id: cups.spec,v 1.33 2001/05/30 16:01:30 mike Exp $".
+# End of "$Id: cups.spec,v 1.34 2001/07/05 15:34:37 mike Exp $".
 #
index a950f872b8bb64694827d519ac4817469bb86b4c..022fb4702246a19f357c5dc039ce01454264fe9f 100644 (file)
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <HTML>
 <HEAD>
-<TITLE> CUPS Configuration Management Plan</TITLE>
+<TITLE>CUPS Configuration Management Plan</TITLE>
 <META NAME="author" CONTENT="Easy Software Products">
 <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved">
 <META NAME="docnumber" CONTENT="CUPS-CMP-1.1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
 <STYLE TYPE="text/css"><!--
-BODY { font-family: serif; font-size: 11.0pt }
-H1 { font-family: sans-serif; font-size: 20.0pt }
-H2 { font-family: sans-serif; font-size: 17.0pt }
-H3 { font-family: sans-serif; font-size: 14.0pt }
-H4 { font-family: sans-serif; font-size: 11.0pt }
-H5 { font-family: sans-serif; font-size: 9.0pt }
-H6 { font-family: sans-serif; font-size: 8.0pt }
-SUB { font-size: 8.0pt }
-SUP { font-size: 8.0pt }
-PRE { font-size: 9.0pt }
+BODY { font-family: serif }
+H1 { font-family: sans-serif }
+H2 { font-family: sans-serif }
+H3 { font-family: sans-serif }
+H4 { font-family: sans-serif }
+H5 { font-family: sans-serif }
+H6 { font-family: sans-serif }
+SUB { font-size: smaller }
+SUP { font-size: smaller }
+PRE { font-family: monospace }
 --></STYLE>
 </HEAD>
 <BODY>
-<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
-<H1> CUPS Configuration Management Plan</H1></A><BR>
+<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
+<H1>CUPS Configuration Management Plan</H1></A><BR>
 CUPS-CMP-1.1<BR>
 Easy Software Products<BR>
 Copyright 1997-2001, All Rights Reserved<BR>
@@ -116,28 +116,28 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <B><A HREF="#8">C Software Trouble Report Form</A></B><HR>
 <H1><A NAME="1">1 Scope</A></H1>
 <H2><A NAME="1_1">1.1 Identification</A></H2>
- This configuration management plan document provides the guidelines 
-for development and maintenance of the Common UNIX Printing System 
-(&quot;CUPS&quot;) Version 1.1 software. 
+ This configuration management plan document provides the guidelines for
+ development and maintenance of the Common UNIX Printing System (&quot;CUPS&quot;)
+ Version 1.1 software.
 <H2><A NAME="1_2">1.2 System Overview</A></H2>
-<P>CUPS provides a portable printing layer for UNIX&reg;-based operating 
-systems. It has been developed by <A HREF="http://www.easysw.com">Easy 
-Software Products</A> to promote a standard printing solution for all 
-UNIX vendors and users. CUPS provides the System V and Berkeley 
-command-line interfaces. </P>
-<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for 
-managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server 
-Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are 
-also supported with reduced functionality. CUPS adds network printer 
-browsing and PostScript Printer Description (&quot;PPD&quot;) based printing 
-options to support real-world printing under UNIX. </P>
-<P>CUPS also includes a customized version of GNU Ghostscript 
-(currently based off GNU Ghostscript 5.50) and an image file RIP that 
-are used to support non-PostScript printers. Sample drivers for HP and 
-EPSON printers are included that use these filters. </P>
+<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
+ systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
+ Software Products</A> to promote a standard printing solution for all
+ UNIX vendors and users. CUPS provides the System V and Berkeley
+ command-line interfaces.</P>
+<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
+ managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
+ Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
+ also supported with reduced functionality. CUPS adds network printer
+ browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
+ options to support real-world printing under UNIX.</P>
+<P>CUPS also includes a customized version of GNU Ghostscript (currently
+ based off GNU Ghostscript 5.50) and an image file RIP that are used to
+ support non-PostScript printers. Sample drivers for HP and EPSON
+ printers are included that use these filters.</P>
 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
- This configuration management document is organized into the following 
-sections: 
+ This configuration management document is organized into the following
+ sections:
 <UL>
 <LI>1 - Scope</LI>
 <LI>2 - References</LI>
@@ -149,74 +149,74 @@ sections:
 </UL>
 <H1><A NAME="2">2 References</A></H1>
 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
-<P>The following CUPS documentation is referenced by this document: </P>
-<UL>
-<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
-<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
-<LI>CUPS-IPP-1.1: CUPS Implementation of IPP </LI>
-<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
-<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
-<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
-<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
-<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
-<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
-<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
+<P>The following CUPS documentation is referenced by this document:</P>
+<UL>
+<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI>
+<LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI>
+<LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI>
+<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI>
+<LI>CUPS-SDD-1.1: CUPS Software Design Description</LI>
+<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI>
+<LI>CUPS-SSR-1.1: CUPS Software Security Report</LI>
+<LI>CUPS-STP-1.1: CUPS Software Test Plan</LI>
+<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI>
+<LI>CUPS-SVD-1.1: CUPS Software Version Description</LI>
 </UL>
 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
-<P>The following non-CUPS documents are referenced by this document: </P>
+<P>The following non-CUPS documents are referenced by this document:</P>
 <UL>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
-Adobe  PostScript Printer Description File Format Specification, 
Version 4.3.</A></LI>
+Adobe PostScript Printer Description File Format Specification, Version
+ 4.3.</A></LI>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
-Adobe  PostScript Language Reference, Third Edition.</A></LI>
-<LI>IPP: Job and Printer Set Operations </LI>
-<LI>IPP/1.1: Encoding and Transport </LI>
-<LI>IPP/1.1: Implementers Guide </LI>
-<LI>IPP/1.1: Model and Semantics </LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line 
-Printer Daemon Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design 
-Goals for an Internet Printing Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale 
-for the Structure of the Model and Protocol</A> for the Internet 
-Printing Protocol</LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping 
-between LPD and IPP Protocols</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext 
-Transfer Protocol -- HTTP/1.1</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP 
-Authentication: Basic and Digest Access</A> Authentication </LI>
+Adobe PostScript Language Reference, Third Edition.</A></LI>
+<LI>IPP: Job and Printer Set Operations</LI>
+<LI>IPP/1.1: Encoding and Transport</LI>
+<LI>IPP/1.1: Implementers Guide</LI>
+<LI>IPP/1.1: Model and Semantics</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
+ Daemon Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
+ for an Internet Printing Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
+ for the Structure of the Model and Protocol</A> for the Internet
+ Printing Protocol</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
+ between LPD and IPP Protocols</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
+ Transfer Protocol -- HTTP/1.1</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
+ Authentication: Basic and Digest Access</A> Authentication</LI>
 </UL>
 <H1><A NAME="3">3 File Management</A></H1>
 <H2><A NAME="3_1">3.1 Directory Structure</A></H2>
- Each source file shall be placed a sub-directory corresponding to the 
-software sub-system it belongs to (&quot;scheduler&quot;, &quot;cups&quot;, etc.) To remain 
-compatible with older UNIX filesystems, directory names shall not 
-exceed 16 characters in length. 
+ Each source file shall be placed a sub-directory corresponding to the
+ software sub-system it belongs to (&quot;scheduler&quot;, &quot;cups&quot;, etc.) To remain
+ compatible with older UNIX filesystems, directory names shall not
+ exceed 16 characters in length.
 <H2><A NAME="3_2">3.2 Source Files</A></H2>
- Source files shall be documented and formatted as described in 
-Appendix B, Coding Requirements. 
+ Source files shall be documented and formatted as described in Appendix
+ B, Coding Requirements.
 <H2><A NAME="3_3">3.3 Configuration Management</A></H2>
- Source files shall be placed under the control of the Concurrent 
-Versions System (&quot;CVS&quot;) software. Source files shall be &quot;checked in&quot; 
-with each change so that modifications can be tracked. 
-<P>Documentation on the CVS software is included with the whitepaper, 
-&quot;CVS II: Parallelizing Software Development&quot;. </P>
+ Source files shall be placed under the control of the Concurrent
+ Versions System (&quot;CVS&quot;) software. Source files shall be &quot;checked in&quot;
+ with each change so that modifications can be tracked.
+<P>Documentation on the CVS software is included with the whitepaper,
+ &quot;CVS II: Parallelizing Software Development&quot;.</P>
 <H1><A NAME="4">4 Trouble Report Processing</A></H1>
- A Software Trouble Report (&quot;STR&quot;) shall be submitted every time a user 
-or vendor experiences a problem with the CUPS software. Trouble reports 
-are maintained in a database with one of the following states: 
+ A Software Trouble Report (&quot;STR&quot;) shall be submitted every time a user
+ or vendor experiences a problem with the CUPS software. Trouble reports
+ are maintained in a database with one of the following states:
 <OL>
 <LI>STR is closed with complete resolution</LI>
 <LI>STR is closed without resolution</LI>
 <LI>STR is active</LI>
 <LI>STR is pending (new STR or additional information available)</LI>
 </OL>
- Trouble reports shall be processed using the following steps. 
+ Trouble reports shall be processed using the following steps.
 <H2><A NAME="4_1">4.1 Classification</A></H2>
- When a trouble report is received it must be classified at one of the 
-following levels: 
+ When a trouble report is received it must be classified at one of the
+ following levels:
 <OL>
 <LI>Request for enhancement</LI>
 <LI>Documentation error</LI>
@@ -224,61 +224,61 @@ following levels:
 <LI>Unable to print to a printer</LI>
 <LI>Unable to print at all</LI>
 </OL>
- The scope of the problem should also be determined as: 
+ The scope of the problem should also be determined as:
 <OL>
 <LI>Specific to a machine</LI>
 <LI>Specific to an operating system</LI>
 <LI>Applies to all machines and operating systems</LI>
 </OL>
 <H2><A NAME="4_2">4.2 Identification</A></H2>
- Once the level and scope of the trouble report is determined the 
-software sub-system(s) involved with the problem are determined. This 
-may involve additional communication with the user or vendor to isolate 
-the problem to a specific cause. 
-<P>When the sub-system(s) involved have been identified, an engineer 
-will then determine the change(s) needed and estimate the time required 
-for the change(s). </P>
+ Once the level and scope of the trouble report is determined the
+ software sub-system(s) involved with the problem are determined. This
+ may involve additional communication with the user or vendor to isolate
+ the problem to a specific cause.
+<P>When the sub-system(s) involved have been identified, an engineer
+ will then determine the change(s) needed and estimate the time required
+ for the change(s).</P>
 <H2><A NAME="4_3">4.3 Correction</A></H2>
- Corrections are scheduled based upon the severity and complexity of 
-the problem. Once all changes have been made, documented, and tested 
-successfully a new software release snapshot is generated. Additional 
-tests are added as necessary for proper testing of the changes. 
+ Corrections are scheduled based upon the severity and complexity of the
+ problem. Once all changes have been made, documented, and tested
+ successfully a new software release snapshot is generated. Additional
+ tests are added as necessary for proper testing of the changes.
 <H2><A NAME="4_4">4.4 Notification</A></H2>
- The user or vendor is notified when the fix is available or if the 
-problem was caused by user error. 
+ The user or vendor is notified when the fix is available or if the
+ problem was caused by user error.
 <H1><A NAME="5">5 Software Releases</A></H1>
 <H2><A NAME="5_1">5.1 Version Numbering</A></H2>
- CUPS uses a three-part version number separated by periods to 
-represent the major, minor, and patch release numbers: 
+ CUPS uses a three-part version number separated by periods to represent
+ the major, minor, and patch release numbers:
 <UL>
 <PRE>
 major.minor.patch
 1.1.0
 </PRE>
 </UL>
- Beta-test releases are indentified by appending the letter B followed 
-by the build number: 
+ Beta-test releases are indentified by appending the letter B followed
+ by the build number:
 <UL>
 <PRE>
 major.minor.patchbbuild
 1.1.0b1
 </PRE>
 </UL>
- A CVS snapshot is generated for every beta and final release and uses 
-the version number preceded by the letter &quot;v&quot; and with the decimal 
-points replaced by underscores: 
+ A CVS snapshot is generated for every beta and final release and uses
+ the version number preceded by the letter &quot;v&quot; and with the decimal
+ points replaced by underscores:
 <UL>
 <PRE>
 v1_0_0b1
 v1_0_0
 </PRE>
 </UL>
- Each change that corrects a fault in a software sub-system increments 
-the patch release number. If a change affects the software design of 
-CUPS then the minor release number will be incremented and the patch 
-release number reset to 0. If CUPS is completely redesigned the major 
-release number will be incremented and the minor and patch release 
-numbers reset to 0: 
+ Each change that corrects a fault in a software sub-system increments
+ the patch release number. If a change affects the software design of
+ CUPS then the minor release number will be incremented and the patch
+ release number reset to 0. If CUPS is completely redesigned the major
+ release number will be incremented and the minor and patch release
+ numbers reset to 0:
 <UL>
 <PRE>
 1.1.0b1    First beta release
@@ -293,82 +293,82 @@ numbers reset to 0:
 </PRE>
 </UL>
 <H2><A NAME="5_2">5.2 Generation</A></H2>
- Software releases shall be generated for each successfully completed 
-software trouble report. All object and executable files shall be 
-deleted prior to performing a full build to ensure that source files 
-are recompiled. 
+ Software releases shall be generated for each successfully completed
+ software trouble report. All object and executable files shall be
+ deleted prior to performing a full build to ensure that source files
+ are recompiled.
 <H2><A NAME="5_3">5.3 Testing</A></H2>
- Software testing shall be conducted according to the CUPS Software 
-Test Plan, CUPS-STP-1.1. Failed tests cause STRs to be generated to 
-correct the problems found. 
+ Software testing shall be conducted according to the CUPS Software Test
+ Plan, CUPS-STP-1.1. Failed tests cause STRs to be generated to correct
+ the problems found.
 <H2><A NAME="5_4">5.4 Release</A></H2>
- When testing has been completed successfully a new distribution image 
-is created from the current CVS code &quot;snapshot&quot;. No production release 
-shall contain software that has not passed the appropriate software 
-tests. 
+ When testing has been completed successfully a new distribution image
+ is created from the current CVS code &quot;snapshot&quot;. No production release
+ shall contain software that has not passed the appropriate software
+ tests.
 <H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1>
 <H2><A NAME="6_1">A.1 Terms</A></H2>
 <DL>
-<DT>C </DT>
-<DD>A computer language. </DD>
-<DT>parallel </DT>
-<DD>Sending or receiving data more than 1 bit at a time. </DD>
-<DT>pipe </DT>
-<DD>A one-way communications channel between two programs. </DD>
-<DT>serial </DT>
-<DD>Sending or receiving data 1 bit at a time. </DD>
-<DT>socket </DT>
-<DD>A two-way network communications channel. </DD>
+<DT>C</DT>
+<DD>A computer language.</DD>
+<DT>parallel</DT>
+<DD>Sending or receiving data more than 1 bit at a time.</DD>
+<DT>pipe</DT>
+<DD>A one-way communications channel between two programs.</DD>
+<DT>serial</DT>
+<DD>Sending or receiving data 1 bit at a time.</DD>
+<DT>socket</DT>
+<DD>A two-way network communications channel.</DD>
 </DL>
 <H2><A NAME="6_2">A.2 Acronyms</A></H2>
 <DL>
-<DT>ASCII </DT>
-<DD>American Standard Code for Information Interchange </DD>
-<DT>CUPS </DT>
-<DD>Common UNIX Printing System </DD>
-<DT>ESC/P </DT>
-<DD>EPSON Standard Code for Printers </DD>
-<DT>FTP </DT>
-<DD>File Transfer Protocol </DD>
-<DT>HP-GL </DT>
-<DD>Hewlett-Packard Graphics Language </DD>
-<DT>HP-PCL </DT>
-<DD>Hewlett-Packard Page Control Language </DD>
-<DT>HP-PJL </DT>
-<DD>Hewlett-Packard Printer Job Language </DD>
-<DT>IETF </DT>
-<DD>Internet Engineering Task Force </DD>
-<DT>IPP </DT>
-<DD>Internet Printing Protocol </DD>
-<DT>ISO </DT>
-<DD>International Standards Organization </DD>
-<DT>LPD </DT>
-<DD>Line Printer Daemon </DD>
-<DT>MIME </DT>
-<DD>Multimedia Internet Mail Exchange </DD>
-<DT>PPD </DT>
-<DD>PostScript Printer Description </DD>
-<DT>SMB </DT>
-<DD>Server Message Block </DD>
-<DT>TFTP </DT>
-<DD>Trivial File Transfer Protocol </DD>
+<DT>ASCII</DT>
+<DD>American Standard Code for Information Interchange</DD>
+<DT>CUPS</DT>
+<DD>Common UNIX Printing System</DD>
+<DT>ESC/P</DT>
+<DD>EPSON Standard Code for Printers</DD>
+<DT>FTP</DT>
+<DD>File Transfer Protocol</DD>
+<DT>HP-GL</DT>
+<DD>Hewlett-Packard Graphics Language</DD>
+<DT>HP-PCL</DT>
+<DD>Hewlett-Packard Page Control Language</DD>
+<DT>HP-PJL</DT>
+<DD>Hewlett-Packard Printer Job Language</DD>
+<DT>IETF</DT>
+<DD>Internet Engineering Task Force</DD>
+<DT>IPP</DT>
+<DD>Internet Printing Protocol</DD>
+<DT>ISO</DT>
+<DD>International Standards Organization</DD>
+<DT>LPD</DT>
+<DD>Line Printer Daemon</DD>
+<DT>MIME</DT>
+<DD>Multimedia Internet Mail Exchange</DD>
+<DT>PPD</DT>
+<DD>PostScript Printer Description</DD>
+<DT>SMB</DT>
+<DD>Server Message Block</DD>
+<DT>TFTP</DT>
+<DD>Trivial File Transfer Protocol</DD>
 </DL>
 <H1><A NAME="7">B Coding Requirements</A></H1>
- These coding requirements provide detailed information on source file 
-formatting and documentation content. These guidelines shall be applied 
-to all C and C++ source files provided with CUPS. 
+ These coding requirements provide detailed information on source file
+ formatting and documentation content. These guidelines shall be applied
+ to all C and C++ source files provided with CUPS.
 <H2><A NAME="7_1">B.1 Source Files</A></H2>
 <H3><A NAME="7_1_1">B.1.1 Naming</A></H3>
- All source files names shall be 16 characters or less in length to 
-ensure compatibility with older UNIX filesystems. Source files 
-containing functions shall have an extension of &quot;.c&quot; for ANSI C and 
-&quot;.cxx&quot; for C++ source files. All other &quot;include&quot; files shall have an 
-extension of &quot;.h&quot;. 
+ All source files names shall be 16 characters or less in length to
+ ensure compatibility with older UNIX filesystems. Source files
+ containing functions shall have an extension of &quot;.c&quot; for ANSI C and
+ &quot;.cxx&quot; for C++ source files. All other &quot;include&quot; files shall have an
+ extension of &quot;.h&quot;.
 <H3><A NAME="7_1_2">B.1.2 Documentation</A></H3>
- The top of each source file shall contain a header giving the name of 
-the file, the purpose or nature of the source file, the copyright and 
-licensing notice, and the functions contained in the file.  The file 
-name and revision information is provided by the CVS &quot;$Id$&quot; tag: 
+ The top of each source file shall contain a header giving the name of
+ the file, the purpose or nature of the source file, the copyright and
+ licensing notice, and the functions contained in the file. The file
+ name and revision information is provided by the CVS &quot;$Id$&quot; tag:
 <UL>
 <PRE>
 /*
@@ -403,10 +403,10 @@ name and revision information is provided by the CVS &quot;$Id$&quot; tag:
  */
 </PRE>
 </UL>
- The bottom of each source file shall contain a trailer giving the name 
-of the file using the CVS &quot;$Id$&quot; tag. The primary purpose of this is to 
-mark the end of a source file; if the trailer is missing it is possible 
-that code has been lost near the end of the file: 
+ The bottom of each source file shall contain a trailer giving the name
+ of the file using the CVS &quot;$Id$&quot; tag. The primary purpose of this is to
+ mark the end of a source file; if the trailer is missing it is possible
+ that code has been lost near the end of the file:
 <UL>
 <PRE>
 /*
@@ -416,17 +416,17 @@ that code has been lost near the end of the file:
 </UL>
 <H2><A NAME="7_2">B.2 Functions</A></H2>
 <H3><A NAME="7_2_1">B.2.1 Naming</A></H3>
- Functions with a global scope shall be capitalized (&quot;DoThis&quot;, 
-&quot;DoThat&quot;, &quot;DoSomethingElse&quot;, etc.) The only exception to this rule 
-shall be the CUPS interface library functions which may begin with a 
-prefix word in lowercase (&quot;cupsDoThis&quot;, &quot;cupsDoThat&quot;, etc.) 
-<P>Functions with a local scope shall be declared &quot;static&quot; and be 
-lowercase with underscores between words (&quot;do_this&quot;, &quot;do_that&quot;, 
-&quot;do_something_else&quot;, etc.) </P>
+ Functions with a global scope shall be capitalized (&quot;DoThis&quot;, &quot;DoThat&quot;,
+ &quot;DoSomethingElse&quot;, etc.) The only exception to this rule shall be the
+ CUPS interface library functions which may begin with a prefix word in
+ lowercase (&quot;cupsDoThis&quot;, &quot;cupsDoThat&quot;, etc.)
+<P>Functions with a local scope shall be declared &quot;static&quot; and be
+ lowercase with underscores between words (&quot;do_this&quot;, &quot;do_that&quot;,
+ &quot;do_something_else&quot;, etc.)</P>
 <H3><A NAME="7_2_2">B.2.2 Documentation</A></H3>
- Each function shall begin with a comment header describing what the 
-function does, the possible input limits (if any), and the possible 
-output values (if any), and any special information needed: 
+ Each function shall begin with a comment header describing what the
+ function does, the possible input limits (if any), and the possible
+ output values (if any), and any special information needed:
 <UL>
 <PRE>
 /*
@@ -445,12 +445,12 @@ do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 1.1) */
 </UL>
 <H2><A NAME="7_3">B.3 Methods</A></H2>
 <H3><A NAME="7_3_1">B.3.1 Naming</A></H3>
- Methods shall be in lowercase with underscores between words 
-(&quot;do_this&quot;, &quot;do_that&quot;, &quot;do_something_else&quot;, etc.) 
+ Methods shall be in lowercase with underscores between words
+ (&quot;do_this&quot;, &quot;do_that&quot;, &quot;do_something_else&quot;, etc.)
 <H3><A NAME="7_3_2">B.3.2 Documentation</A></H3>
- Each method shall begin with a comment header describing what the 
-method does, the possible input limits (if any), and the possible 
-output values (if any), and any special information needed: 
+ Each method shall begin with a comment header describing what the
+ method does, the possible input limits (if any), and the possible
+ output values (if any), and any special information needed:
 <UL>
 <PRE>
 /*
@@ -469,19 +469,19 @@ class::do_this(float x) /* I - Power value (0.0 &lt;= x &lt;= 1.0) */
 </UL>
 <H2><A NAME="7_4">B.4 Variables</A></H2>
 <H3><A NAME="7_4_1">B.4.1 Naming</A></H3>
- Variables with a global scope shall be capitalized (&quot;ThisVariable&quot;, 
-&quot;ThatVariable&quot;, &quot;ThisStateVariable&quot;, etc.) The only exception to this 
-rule shall be the CUPS interface library global variables which must 
-begin with the prefix &quot;cups&quot; (&quot;cupsThisVariable&quot;, &quot;cupsThatVariable&quot;, 
-etc.) Global variables shall be replaced by function arguments whenever 
-possible. 
-<P>Variables with a local scope shall be lowercase with underscores 
-between words (&quot;this_variable&quot;, &quot;that_variable&quot;, etc.) Any local 
-variables shared by functions within a source file shall be declared 
-&quot;static&quot;. </P>
+ Variables with a global scope shall be capitalized (&quot;ThisVariable&quot;,
+ &quot;ThatVariable&quot;, &quot;ThisStateVariable&quot;, etc.) The only exception to this
+ rule shall be the CUPS interface library global variables which must
+ begin with the prefix &quot;cups&quot; (&quot;cupsThisVariable&quot;, &quot;cupsThatVariable&quot;,
+ etc.) Global variables shall be replaced by function arguments whenever
+ possible.
+<P>Variables with a local scope shall be lowercase with underscores
+ between words (&quot;this_variable&quot;, &quot;that_variable&quot;, etc.) Any local
+ variables shared by functions within a source file shall be declared
+ &quot;static&quot;.</P>
 <H3><A NAME="7_4_2">B.4.2 Documentation</A></H3>
- Each variable shall be declared on a separate line and shall be 
-immediately followed by a comment block describing the variable: 
+ Each variable shall be declared on a separate line and shall be
+ immediately followed by a comment block describing the variable:
 <UL>
 <PRE>
 int this_variable;   /* The current state of this */
@@ -490,11 +490,11 @@ int that_variable;   /* The current state of that */
 </UL>
 <H2><A NAME="7_5">B.5 Types</A></H2>
 <H3><A NAME="7_5_1">B.5.1 Naming</A></H3>
- All type names shall be lowercase with underscores between words and 
-&quot;_t&quot; appended to the end of the name (&quot;this_type_t&quot;, &quot;that_type_t&quot;, 
-etc.) 
+ All type names shall be lowercase with underscores between words and
+ &quot;_t&quot; appended to the end of the name (&quot;this_type_t&quot;, &quot;that_type_t&quot;,
+ etc.)
 <H3><A NAME="7_5_2">B.5.2 Documentation</A></H3>
- Each type shall have a comment block immediately before the typedef: 
+ Each type shall have a comment block immediately before the typedef:
 <UL>
 <PRE>
 /*
@@ -505,13 +505,13 @@ typedef int cups_this_type_t;
 </UL>
 <H2><A NAME="7_6">B.6 Structures</A></H2>
 <H3><A NAME="7_6_1">B.6.1 Naming</A></H3>
- All structure names shall be lowercase with underscores between words 
-and &quot;_str&quot; appended to the end of the name (&quot;this_struct_str&quot;, 
-&quot;that_struct_str&quot;, etc.) 
+ All structure names shall be lowercase with underscores between words
+ and &quot;_str&quot; appended to the end of the name (&quot;this_struct_str&quot;,
+ &quot;that_struct_str&quot;, etc.)
 <H3><A NAME="7_6_2">B.6.2 Documentation</A></H3>
- Each structure shall have a comment block immediately before the 
-struct and each member shall be documented in accordance with the 
-variable naming policy above: 
+ Each structure shall have a comment block immediately before the struct
+ and each member shall be documented in accordance with the variable
+ naming policy above:
 <UL>
 <PRE>
 /*
@@ -526,12 +526,12 @@ struct cups_this_struct_str
 </UL>
 <H2><A NAME="7_7">B.7 Classes</A></H2>
 <H3><A NAME="7_7_1">B.7.1 Naming</A></H3>
- All class names shall be lowercase with underscores between words 
-(&quot;this_class&quot;, &quot;that_class&quot;, etc.) 
+ All class names shall be lowercase with underscores between words
+ (&quot;this_class&quot;, &quot;that_class&quot;, etc.)
 <H3><A NAME="7_7_2">B.7.2 Documentation</A></H3>
- Each class shall have a comment block immediately before the class and 
-each member shall be documented in accordance with the variable naming 
-policy above: 
+ Each class shall have a comment block immediately before the class and
+ each member shall be documented in accordance with the variable naming
+ policy above:
 <UL>
 <PRE>
 /*
@@ -546,14 +546,14 @@ class cups_this_class
 </UL>
 <H2><A NAME="7_8">B.8 Constants</A></H2>
 <H3><A NAME="7_8_1">B.8.1 Naming</A></H3>
- All constant names shall be uppercase with underscored between words 
-(&quot;THIS_CONSTANT&quot;, &quot;THAT_CONSTANT&quot;, etc.) Constants defined for the CUPS 
-interface library must begin with an uppercase prefix 
-(&quot;CUPS_THIS_CONSTANT&quot;, &quot;CUPS_THAT_CONSTANT&quot;, etc.) 
-<P>Typed enumerations shall be used whenever possible to allow for type 
-checking by the compiler. </P>
+ All constant names shall be uppercase with underscored between words
+ (&quot;THIS_CONSTANT&quot;, &quot;THAT_CONSTANT&quot;, etc.) Constants defined for the CUPS
+ interface library must begin with an uppercase prefix
+ (&quot;CUPS_THIS_CONSTANT&quot;, &quot;CUPS_THAT_CONSTANT&quot;, etc.)
+<P>Typed enumerations shall be used whenever possible to allow for type
+ checking by the compiler.</P>
 <H3><A NAME="7_8_2">B.8.2 Documentation</A></H3>
- Comment blocks shall immediately follow each constant: 
+ Comment blocks shall immediately follow each constant:
 <UL>
 <PRE>
 enum
@@ -565,8 +565,8 @@ enum
 </UL>
 <H2><A NAME="7_9">B.9 Code</A></H2>
 <H3><A NAME="7_9_1">B.9.1 Documentation</A></H3>
- All source code shall utilize block comments within functions to 
-describe the operations being performed by a group of statements: 
+ All source code shall utilize block comments within functions to
+ describe the operations being performed by a group of statements:
 <UL>
 <PRE>
 /*
@@ -593,10 +593,10 @@ do
 </UL>
 <H3><A NAME="7_9_2">B.9.2 Style</A></H3>
 <H4 TYPE="a">B.9.2.a Indentation</H4>
- All code blocks enclosed by brackets shall begin with the opening 
-brace on a new line. The code then follows starting on a new line after 
-the brace and is indented 2 spaces. The closing brace is then placed on 
-a new line following the code at the original indentation: 
+ All code blocks enclosed by brackets shall begin with the opening brace
+ on a new line. The code then follows starting on a new line after the
+ brace and is indented 2 spaces. The closing brace is then placed on a
+ new line following the code at the original indentation:
 <UL>
 <PRE>
 {
@@ -614,10 +614,9 @@ a new line following the code at the original indentation:
 }
 </PRE>
 </UL>
- Single-line statements following &quot;do&quot;, &quot;else&quot;, &quot;for&quot;, &quot;if&quot;, and 
-&quot;while&quot; shall be indented 2 spaces as well. Blocks of code in a 
-&quot;switch&quot; block shall be indented 4 spaces after each &quot;case&quot; and 
-&quot;default&quot; case: 
+ Single-line statements following &quot;do&quot;, &quot;else&quot;, &quot;for&quot;, &quot;if&quot;, and &quot;while&quot;
+ shall be indented 2 spaces as well. Blocks of code in a &quot;switch&quot; block
+ shall be indented 4 spaces after each &quot;case&quot; and &quot;default&quot; case:
 <UL>
 <PRE>
 switch (array[i])
@@ -633,20 +632,20 @@ switch (array[i])
 </PRE>
 </UL>
 <H4>B.9.2.b Spacing</H4>
- A space shall follow each reserved word (&quot;if&quot;, &quot;while&quot;, etc.) Spaces 
-shall not be inserted between a function name and the arguments in 
-parenthesis. 
+ A space shall follow each reserved word (&quot;if&quot;, &quot;while&quot;, etc.) Spaces
+ shall not be inserted between a function name and the arguments in
+ parenthesis.
 <H4>B.9.2.c Return Values</H4>
- Parenthesis shall surround values returned from a function using 
-&quot;return&quot;: 
+ Parenthesis shall surround values returned from a function using
+ &quot;return&quot;:
 <UL>
 <PRE>
 return (STATE_IDLE);
 </PRE>
 </UL>
 <H4>B.9.2.d Loops</H4>
- Whenever convenient loops should count downward to zero to improve 
-program performance: 
+ Whenever convenient loops should count downward to zero to improve
+ program performance:
 <UL>
 <PRE>
 for (i = sizeof(array) / sizeof(array[0]) - 1; i &gt;= 0; i --)
@@ -658,19 +657,19 @@ for (i = sizeof(array) / sizeof(array[0]) - 1; i &gt;= 0; i --)
 <TABLE WIDTH="80%">
 <TR><TH ALIGN="RIGHT">Summary of Problem:</TH><TD ALIGN="LEFT">
 ________________________________________</TD></TR>
-<TR><TH ALIGN="RIGHT">Problem Severity:</TH><TD ALIGN="LEFT">__1=RFE 
-<BR> __2=Documentation-Error 
-<BR> __3=Unable-to-Print-a-File 
-<BR> __4=Unable-to-Print-to-a-Printer 
+<TR><TH ALIGN="RIGHT">Problem Severity:</TH><TD ALIGN="LEFT">__1=RFE
+<BR> __2=Documentation-Error
+<BR> __3=Unable-to-Print-a-File
+<BR> __4=Unable-to-Print-to-a-Printer
 <BR> __5=Unable-to-Print-at-All</TD></TR>
-<TR><TH ALIGN="RIGHT">Problem Scope:</TH><TD ALIGN="LEFT">__1=Machine 
-__2=Operating-System __3=All</TD></TR>
+<TR><TH ALIGN="RIGHT">Problem Scope:</TH><TD ALIGN="LEFT">__1=Machine
+ __2=Operating-System __3=All</TD></TR>
 <TR><TH ALIGN="RIGHT" VALIGN="TOP">Detailed Description of Problem:</TH><TD
-ALIGN="LEFT">________________________________________ 
-<BR> ________________________________________ 
-<BR> ________________________________________ 
-<BR> ________________________________________ 
-<BR> ________________________________________ 
+ALIGN="LEFT">________________________________________
+<BR> ________________________________________
+<BR> ________________________________________
+<BR> ________________________________________
+<BR> ________________________________________
 <BR> ________________________________________</TD></TR>
 </TABLE>
 </CENTER>
index dec3171ee41cfa19ff869065d926ef44400098c7..8137665dfca85f6f4f302c5b97e71cc3c5aed6f3 100644 (file)
Binary files a/doc/cmp.pdf and b/doc/cmp.pdf differ
index e8505391a0b8c841facd71403488bbcabf33ef48..dba4fa674dd87f282c53f99cdc7012a7466a75ee 100644 (file)
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <HTML>
 <HEAD>
-<TITLE> CUPS Interface Design Description</TITLE>
+<TITLE>CUPS Interface Design Description</TITLE>
 <META NAME="author" CONTENT="Easy Software Products">
 <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved">
 <META NAME="docnumber" CONTENT="CUPS-IDD-1.1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
 <STYLE TYPE="text/css"><!--
-BODY { font-family: serif; font-size: 11.0pt }
-H1 { font-family: sans-serif; font-size: 20.0pt }
-H2 { font-family: sans-serif; font-size: 17.0pt }
-H3 { font-family: sans-serif; font-size: 14.0pt }
-H4 { font-family: sans-serif; font-size: 11.0pt }
-H5 { font-family: sans-serif; font-size: 9.0pt }
-H6 { font-family: sans-serif; font-size: 8.0pt }
-SUB { font-size: 8.0pt }
-SUP { font-size: 8.0pt }
-PRE { font-size: 9.0pt }
+BODY { font-family: serif }
+H1 { font-family: sans-serif }
+H2 { font-family: sans-serif }
+H3 { font-family: sans-serif }
+H4 { font-family: sans-serif }
+H5 { font-family: sans-serif }
+H6 { font-family: sans-serif }
+SUB { font-size: smaller }
+SUP { font-size: smaller }
+PRE { font-family: monospace }
 --></STYLE>
 </HEAD>
 <BODY>
-<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
-<H1> CUPS Interface Design Description</H1></A><BR>
+<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
+<H1>CUPS Interface Design Description</H1></A><BR>
 CUPS-IDD-1.1<BR>
 Easy Software Products<BR>
 Copyright 1997-2001, All Rights Reserved<BR>
@@ -91,197 +91,197 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <HR>
 <H1><A NAME="1">1 Scope</A></H1>
 <H2><A NAME="1_1">1.1 Identification</A></H2>
-<P>This interface design description document provides detailed file 
-formats, message formats, and program conventions for the Common UNIX 
-Printing System (&quot;CUPS&quot;) Version 1.1. </P>
+<P>This interface design description document provides detailed file
+ formats, message formats, and program conventions for the Common UNIX
+ Printing System (&quot;CUPS&quot;) Version 1.1.</P>
 <H2><A NAME="1_2">1.2 System Overview</A></H2>
-<P>CUPS provides a portable printing layer for UNIX&reg;-based operating 
-systems. It has been developed by <A HREF="http://www.easysw.com">Easy 
-Software Products</A> to promote a standard printing solution for all 
-UNIX vendors and users. CUPS provides the System V and Berkeley 
-command-line interfaces. </P>
-<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for 
-managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server 
-Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are 
-also supported with reduced functionality. CUPS adds network printer 
-browsing and PostScript Printer Description (&quot;PPD&quot;) based printing 
-options to support real-world printing under UNIX. </P>
-<P>CUPS also includes a customized version of GNU Ghostscript 
-(currently based off GNU Ghostscript 5.50) and an image file RIP that 
-are used to support non-PostScript printers. Sample drivers for HP and 
-EPSON printers are included that use these filters. </P>
+<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
+ systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
+ Software Products</A> to promote a standard printing solution for all
+ UNIX vendors and users. CUPS provides the System V and Berkeley
+ command-line interfaces.</P>
+<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
+ managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
+ Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
+ also supported with reduced functionality. CUPS adds network printer
+ browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
+ options to support real-world printing under UNIX.</P>
+<P>CUPS also includes a customized version of GNU Ghostscript (currently
+ based off GNU Ghostscript 5.50) and an image file RIP that are used to
+ support non-PostScript printers. Sample drivers for HP and EPSON
+ printers are included that use these filters.</P>
 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
-<P>This interface design description document is organized into the 
-following sections: </P>
+<P>This interface design description document is organized into the
+ following sections:</P>
 <UL>
-<LI>1 - Scope </LI>
-<LI>2 - References </LI>
-<LI>3 - Internal Interfaces </LI>
-<LI>4 - External Interfaces </LI>
-<LI>5 - Directories </LI>
-<LI>A - Glossary </LI>
+<LI>1 - Scope</LI>
+<LI>2 - References</LI>
+<LI>3 - Internal Interfaces</LI>
+<LI>4 - External Interfaces</LI>
+<LI>5 - Directories</LI>
+<LI>A - Glossary</LI>
 </UL>
 <H1><A NAME="2">2 References</A></H1>
 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
-<P>The following CUPS documentation is referenced by this document: </P>
+<P>The following CUPS documentation is referenced by this document:</P>
 <UL>
-<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
-<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
-<LI>CUPS-IPP-1.1: CUPS Implementation of IPP </LI>
-<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
-<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
-<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
-<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
-<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
-<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
-<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
+<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI>
+<LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI>
+<LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI>
+<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI>
+<LI>CUPS-SDD-1.1: CUPS Software Design Description</LI>
+<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI>
+<LI>CUPS-SSR-1.1: CUPS Software Security Report</LI>
+<LI>CUPS-STP-1.1: CUPS Software Test Plan</LI>
+<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI>
+<LI>CUPS-SVD-1.1: CUPS Software Version Description</LI>
 </UL>
 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
-<P>The following non-CUPS documents are referenced by this document: </P>
+<P>The following non-CUPS documents are referenced by this document:</P>
 <UL>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
-Adobe  PostScript Printer Description File Format Specification, 
Version 4.3.</A></LI>
+Adobe PostScript Printer Description File Format Specification, Version
+ 4.3.</A></LI>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
-Adobe  PostScript Language Reference, Third Edition.</A></LI>
-<LI>IPP: Job and Printer Set Operations </LI>
-<LI>IPP/1.1: Encoding and Transport </LI>
-<LI>IPP/1.1: Implementers Guide </LI>
-<LI>IPP/1.1: Model and Semantics </LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line 
-Printer Daemon Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design 
-Goals for an Internet Printing Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale 
-for the Structure of the Model and Protocol</A> for the Internet 
-Printing Protocol</LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping 
-between LPD and IPP Protocols</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext 
-Transfer Protocol -- HTTP/1.1</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP 
-Authentication: Basic and Digest Access</A> Authentication </LI>
+Adobe PostScript Language Reference, Third Edition.</A></LI>
+<LI>IPP: Job and Printer Set Operations</LI>
+<LI>IPP/1.1: Encoding and Transport</LI>
+<LI>IPP/1.1: Implementers Guide</LI>
+<LI>IPP/1.1: Model and Semantics</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
+ Daemon Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
+ for an Internet Printing Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
+ for the Structure of the Model and Protocol</A> for the Internet
+ Printing Protocol</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
+ between LPD and IPP Protocols</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
+ Transfer Protocol -- HTTP/1.1</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
+ Authentication: Basic and Digest Access</A> Authentication</LI>
 </UL>
 <H1><A NAME="3">3 Internal Interfaces</A></H1>
 <H2><A NAME="3_1">3.1 Character Set Files</A></H2>
-<P>The character set files define a mapping between 8-bit characters 
-and the Unicode character set, or between Unicode and printer fonts. 
-They are named using the IETF charset names defined in RFCnnnn.  These 
-files are ASCII text, the content of which is described below. Comments 
-can be included by using the <TT>#</TT> character in the first column 
-of a line. </P>
+<P>The character set files define a mapping between 8-bit characters and
+ the Unicode character set, or between Unicode and printer fonts. They
+ are named using the IETF charset names defined in RFCnnnn. These files
+ are ASCII text, the content of which is described below. Comments can
+ be included by using the <TT>#</TT> character in the first column of a
+ line.</P>
 <H3><A NAME="3_1_1">3.1.1 8-Bit Character Set Files</A></H3>
-<P>8-bit character set files start with a line reading: </P>
+<P>8-bit character set files start with a line reading:</P>
 <UL>
 <PRE>
 charset 8bit
 </PRE>
 </UL>
-<P>Following this are lines that define the font information: </P>
+<P>Following this are lines that define the font information:</P>
 <UL>
 <PRE>
 first last direction width normal bold italic bold-italic
 </PRE>
 </UL>
-<P><VAR>First</VAR> and <VAR>last</VAR> are the first and last glyphs 
-in the font mapping that correspond to that font; a maximum of 256 
-characters can be mapped within each group, with a maximum of 256 
-mappings (this is a PostScript limitation.) The glyph values are 
-hexadecimal. </P>
-<P><VAR>Direction</VAR> is the string &quot;ltor&quot;, &quot;rtol&quot;, or &quot;rtola&quot; 
-indicating left-to-right, right-to-left, or right-to-left Arabic text. </P>
-<P><VAR>Width</VAR> is the string &quot;single&quot; or &quot;double&quot;; double means 
-that the glyphs are twice as wide as ASCII characters in the Courier 
-typeface. </P>
-<P><VAR>Normal, bold, italic</VAR>, and <VAR>bold-italic</VAR> are the 
-typefaces to use for each presentation.  If characters are only 
-available in a single style then only one typeface should be listed 
-(e.g. &quot;Symbol&quot;.) Each font that is listed will be used (and downloaded 
-if needed) when printing. </P>
-<P>The remaining lines define a character to Unicode glyph mapping for 
-the character set. The character and glyph values are hexadecimal: </P>
+<P><VAR>First</VAR> and<VAR> last</VAR> are the first and last glyphs in
+ the font mapping that correspond to that font; a maximum of 256
+ characters can be mapped within each group, with a maximum of 256
+ mappings (this is a PostScript limitation.) The glyph values are
+ hexadecimal.</P>
+<P><VAR>Direction</VAR> is the string &quot;ltor&quot;, &quot;rtol&quot;, or &quot;rtola&quot;
+ indicating left-to-right, right-to-left, or right-to-left Arabic text.</P>
+<P><VAR>Width</VAR> is the string &quot;single&quot; or &quot;double&quot;; double means
+ that the glyphs are twice as wide as ASCII characters in the Courier
+ typeface.</P>
+<P><VAR>Normal, bold, italic</VAR>, and<VAR> bold-italic</VAR> are the
+ typefaces to use for each presentation. If characters are only
+ available in a single style then only one typeface should be listed
+ (e.g. &quot;Symbol&quot;.) Each font that is listed will be used (and downloaded
+ if needed) when printing.</P>
+<P>The remaining lines define a character to Unicode glyph mapping for
+ the character set. The character and glyph values are hexadecimal:</P>
 <UL>
 <PRE>
 xx yyyy
 </PRE>
 </UL>
 <H3><A NAME="3_1_2">3.1.2 Unicode Character Set Files</A></H3>
-<P>Unicode character set files start with a line reading: </P>
+<P>Unicode character set files start with a line reading:</P>
 <UL>
 <PRE>
 charset encoding
 </PRE>
 </UL>
-<P><VAR>Encoding</VAR> is the encoding to use for the text; currently 
-only the string &quot;utf8&quot; is supported. </P>
-<P>Following this are lines defining the font information: </P>
+<P><VAR>Encoding</VAR> is the encoding to use for the text; currently
+ only the string &quot;utf8&quot; is supported.</P>
+<P>Following this are lines defining the font information:</P>
 <UL>
 <PRE>
 first last direction width normal bold italic bold-italic
 </PRE>
 </UL>
-<P><VAR>First</VAR> and <VAR>last</VAR> are the first and last glyphs 
-in the font mapping that correspond to that font; a maximum of 256 
-characters can be mapped within each group, with a maximum of 256 
-mappings (this is a PostScript limitation.) The glyph values are 
-hexadecimal. </P>
-<P><VAR>Direction</VAR> is the string &quot;ltor&quot;, &quot;rtol&quot;, or &quot;rtola&quot; 
-indicating left-to-right, right-to-left, or right-to-left Arabic text. </P>
-<P><VAR>Width</VAR> is the string &quot;single&quot; or &quot;double&quot;; double means 
-that the glyphs are twice as wide as ASCII characters in the Courier 
-typeface. </P>
-<P><VAR>Normal, bold, italic</VAR>, and <VAR>bold-italic</VAR> are the 
-typefaces to use for each presentation.  If characters are only 
-available in a single style then only one typeface should be listed 
-(e.g. &quot;Symbol&quot;.) Each font that is listed will be used (and downloaded 
-if needed) when printing. </P>
+<P><VAR>First</VAR> and<VAR> last</VAR> are the first and last glyphs in
+ the font mapping that correspond to that font; a maximum of 256
+ characters can be mapped within each group, with a maximum of 256
+ mappings (this is a PostScript limitation.) The glyph values are
+ hexadecimal.</P>
+<P><VAR>Direction</VAR> is the string &quot;ltor&quot;, &quot;rtol&quot;, or &quot;rtola&quot;
+ indicating left-to-right, right-to-left, or right-to-left Arabic text.</P>
+<P><VAR>Width</VAR> is the string &quot;single&quot; or &quot;double&quot;; double means
+ that the glyphs are twice as wide as ASCII characters in the Courier
+ typeface.</P>
+<P><VAR>Normal, bold, italic</VAR>, and<VAR> bold-italic</VAR> are the
+ typefaces to use for each presentation. If characters are only
+ available in a single style then only one typeface should be listed
+ (e.g. &quot;Symbol&quot;.) Each font that is listed will be used (and downloaded
+ if needed) when printing.</P>
 <H2><A NAME="3_2">3.2 Language Files</A></H2>
-<P>The language files define the default character set and a collection 
-of text messages in that language. They are named by prefixing the 
-string &quot;cups_&quot; to the front of the language specifier (e.g. &quot;cups_en&quot;, 
-&quot;cups_fr&quot;, etc.) Each file consists of two or more lines of ASCII text. </P>
-<P>The first line identifies the character set to be used for the 
-messages. The currently recognized values are: </P>
+<P>The language files define the default character set and a collection
+ of text messages in that language. They are named by prefixing the
+ string &quot;cups_&quot; to the front of the language specifier (e.g. &quot;cups_en&quot;,
+ &quot;cups_fr&quot;, etc.) Each file consists of two or more lines of ASCII text.</P>
+<P>The first line identifies the character set to be used for the
+ messages. The currently recognized values are:</P>
 <UL>
-<LI>iso-8859-1 </LI>
-<LI>iso-8859-2 </LI>
-<LI>iso-8859-3 </LI>
-<LI>iso-8859-4 </LI>
-<LI>iso-8859-5 </LI>
-<LI>iso-8859-6 </LI>
-<LI>iso-8859-7 </LI>
-<LI>iso-8859-8 </LI>
-<LI>iso-8859-9 </LI>
-<LI>iso-8859-10 </LI>
-<LI>iso-8859-13 </LI>
-<LI>iso-8859-14 </LI>
-<LI>iso-8859-15 </LI>
-<LI>us-ascii </LI>
-<LI>utf-8 </LI>
-<LI>windows-874 </LI>
-<LI>windows-1250 </LI>
-<LI>windows-1251 </LI>
-<LI>windows-1252 </LI>
-<LI>windows-1253 </LI>
-<LI>windows-1254 </LI>
-<LI>windows-1255 </LI>
-<LI>windows-1256 </LI>
-<LI>windows-1257 </LI>
-<LI>windows-1258 </LI>
+<LI>iso-8859-1</LI>
+<LI>iso-8859-2</LI>
+<LI>iso-8859-3</LI>
+<LI>iso-8859-4</LI>
+<LI>iso-8859-5</LI>
+<LI>iso-8859-6</LI>
+<LI>iso-8859-7</LI>
+<LI>iso-8859-8</LI>
+<LI>iso-8859-9</LI>
+<LI>iso-8859-10</LI>
+<LI>iso-8859-13</LI>
+<LI>iso-8859-14</LI>
+<LI>iso-8859-15</LI>
+<LI>us-ascii</LI>
+<LI>utf-8</LI>
+<LI>windows-874</LI>
+<LI>windows-1250</LI>
+<LI>windows-1251</LI>
+<LI>windows-1252</LI>
+<LI>windows-1253</LI>
+<LI>windows-1254</LI>
+<LI>windows-1255</LI>
+<LI>windows-1256</LI>
+<LI>windows-1257</LI>
+<LI>windows-1258</LI>
 </UL>
-<P>The second and succeeding lines define text messages. If the message 
-text is preceded by a number, then the current message number is 
-updated and the text after the number is used. </P>
+<P>The second and succeeding lines define text messages. If the message
+ text is preceded by a number, then the current message number is
+ updated and the text after the number is used.</P>
 <H2><A NAME="3_3">3.3 MIME Files</A></H2>
-<P>CUPS uses two MIME files in its standard configuration. </P>
+<P>CUPS uses two MIME files in its standard configuration.</P>
 <H3><A NAME="3_3_1">3.3.1 mime.types</A></H3>
-<P>The mime.types file defines the recognized file types and consists 
-of 1 or more lines of ASCII text. Comment lines start with the pound 
-(&quot;#&quot;) character. The backslash (&quot;\&quot;) character can be used at the end 
-of a line to continue that line to the next. </P>
-<P>Each non-blank line starts with a MIME type identifier 
-(&quot;super/type&quot;) as registered with the IANA. All text following the MIME 
-type is treated as a series of type recognition rules: </P>
+<P>The mime.types file defines the recognized file types and consists of
+ 1 or more lines of ASCII text. Comment lines start with the pound (&quot;#&quot;)
+ character. The backslash (&quot;\&quot;) character can be used at the end of a
+ line to continue that line to the next.</P>
+<P>Each non-blank line starts with a MIME type identifier (&quot;super/type&quot;)
+ as registered with the IANA. All text following the MIME type is
+ treated as a series of type recognition rules:</P>
 <UL>
 <PRE>
 mime-type := super &quot;/&quot; type { SP rule }*
@@ -303,31 +303,31 @@ operator := &quot;+&quot; |       [ logical AND ]
            &quot;!&quot;         [ unary NOT ]
 </PRE>
 </UL>
-<P>The <CODE>int</CODE> and <CODE>short</CODE> rules match look for 
-integers in network byte order (a.k.a. big-endian) with the 
-most-significant byte first. </P>
+<P>The <CODE>int</CODE> and <CODE>short</CODE> rules match look for
+ integers in network byte order (a.k.a. big-endian) with the
+ most-significant byte first.</P>
 <H3><A NAME="3_3_2">3.3.2 mime.convs</A></H3>
-<P>The mime.types file defines the recognized file filters and consists 
-of 1 or more lines of ASCII text. Comment lines start with the pound 
-(&quot;#&quot;) character. </P>
-<P>Each non-blank line starts with two MIME type identifiers 
-(&quot;super/type&quot;) representing the source and destination types. Following 
-the MIME types are a cost value (0 to 100) and the filter program to 
-use. If the filter program is not specified using the full path then it 
-must reside in the CUPS filter directory: </P>
+<P>The mime.types file defines the recognized file filters and consists
+ of 1 or more lines of ASCII text. Comment lines start with the pound
+ (&quot;#&quot;) character.</P>
+<P>Each non-blank line starts with two MIME type identifiers
+ (&quot;super/type&quot;) representing the source and destination types. Following
+ the MIME types are a cost value (0 to 100) and the filter program to
+ use. If the filter program is not specified using the full path then it
+ must reside in the CUPS filter directory:</P>
 <UL>
 <PRE>
 super/type SP super/type2 SP cost SP program
 </PRE>
 </UL>
 <H2><A NAME="3_4">3.4 Option Files</A></H2>
-<P>CUPS maintains user-defined printer and option files for each 
-printer and user on the system. The printers and options defined in the 
-system option file (<CODE>/etc/cups/lpoptions</CODE>) are loaded first, 
-followed by the user option file (<CODE>$HOME/.lpoptions</CODE>). 
-Options in the user file replace those defined in the system file for 
-the same destination. Each line in the files can be one of the 
-following: </P>
+<P>CUPS maintains user-defined printer and option files for each printer
+ and user on the system. The printers and options defined in the system
+ option file (<CODE>/etc/cups/lpoptions</CODE>) are loaded first,
+ followed by the user option file (<CODE>$HOME/.lpoptions</CODE>).
+ Options in the user file replace those defined in the system file for
+ the same destination. Each line in the files can be one of the
+ following:</P>
 <UL>
 <PRE>
 Dest name option=value option=value ... option=value
@@ -336,300 +336,295 @@ Default name option=value option=value ... option=value
 Default name/instance option=value option=value ... option=value
 </PRE>
 </UL>
-<P>The line beginning with &quot;Default&quot; indicates the default destination 
-for print jobs; a default line in the user option file overrides the 
-default defined in the system option file. </P>
-<P><VAR>Name</VAR> is the name of a printer known to the local server. </P>
-<P><VAR>Instance</VAR> can be any string of letters, numbers, and the 
-underscore up to 127 characters in length. </P>
-<P>The remainder of the line contains a list of space-separated options 
-and their values. </P>
+<P>The line beginning with &quot;Default&quot; indicates the default destination
+ for print jobs; a default line in the user option file overrides the
+ default defined in the system option file.</P>
+<P><VAR>Name</VAR> is the name of a printer known to the local server.</P>
+<P><VAR>Instance</VAR> can be any string of letters, numbers, and the
+ underscore up to 127 characters in length.</P>
+<P>The remainder of the line contains a list of space-separated options
+ and their values.</P>
 <H2><A NAME="3_5">3.5 PostScript Printer Description Files</A></H2>
-<P>PostScript Printer Description (&quot;PPD&quot;) files describe the 
-capabilities of each printer and are used by CUPS to support 
-printer-specific features and intelligent filtering. </P>
+<P>PostScript Printer Description (&quot;PPD&quot;) files describe the
+ capabilities of each printer and are used by CUPS to support
+ printer-specific features and intelligent filtering.</P>
 <H3><A NAME="3_5_1">3.5.1 PPD Specification</A></H3>
-<P>The PPD file format is described in <A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
- Adobe TechNote #5003: PostScript Printer Description File Format 
-Specification Version 4.3</A>. </P>
+<P>The PPD file format is described in<A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
+ Adobe TechNote #5003: PostScript Printer Description File Format
+ Specification Version 4.3</A>.</P>
 <H3><A NAME="3_5_2">3.5.2 CUPS Extensions to PPD Files</A></H3>
-<P>CUPS adds several new attributes that are described below. </P>
+<P>CUPS adds several new attributes that are described below.</P>
 <H4>3.5.2.1 cupsFilter</H4>
-<P>This string attribute provides a conversion rule of the form: </P>
+<P>This string attribute provides a conversion rule of the form:</P>
 <UL>
 <PRE>
 source/type cost program
 </PRE>
 </UL>
-<P>The destination type is assumed to the printer's type. If a printer 
-supports the source type directly the special filter program &quot;-&quot; may be 
-specified. </P>
+<P>The destination type is assumed to the printer's type. If a printer
+ supports the source type directly the special filter program &quot;-&quot; may be
+ specified.</P>
 <H4>3.5.2.2 cupsManualCopies</H4>
-<P>This boolean attribute notifies the RIP filters that the destination 
-printer does not support copy generation in hardware. The default value 
-is false. </P>
+<P>This boolean attribute notifies the RIP filters that the destination
+ printer does not support copy generation in hardware. The default value
+ is false.</P>
 <H4>3.5.2.3 cupsModelNumber</H4>
-<P>This integer attribute specifies a printer-specific model number. 
-This number can be used by a filter program to adjust the output for a 
-specific model of printer. </P>
+<P>This integer attribute specifies a printer-specific model number.
+ This number can be used by a filter program to adjust the output for a
+ specific model of printer.</P>
 <H4>3.5.2.4 cupsProfile</H4>
-<P>This string attribute specifies a color profile of the form: </P>
+<P>This string attribute specifies a color profile of the form:</P>
 <UL>
 <PRE>
 resolution/type density gamma m00 m01 m02 m10 m11 m12 m20 m21 m22
 </PRE>
 </UL>
-<P>The <I>resolution</I> and <I>type</I> values may be &quot;-&quot; to act as a 
-wildcard. Otherwise they must match one of the <CODE>Resolution</CODE>
- or <CODE>MediaType</CODE> attributes defined in the PPD file. </P>
-<P>The <I>density</I> and <I>gamma</I> values define gamma and density 
-adjustment function such that: </P>
+<P>The<I> resolution</I> and<I> type</I> values may be &quot;-&quot; to act as a
+ wildcard. Otherwise they must match one of the <CODE>Resolution</CODE>
+ or <CODE>MediaType</CODE> attributes defined in the PPD file.</P>
+<P>The<I> density</I> and<I> gamma</I> values define gamma and density
+ adjustment function such that:</P>
 <UL>
 <PRE>
 f(x) = density * x<SUP>gamma</SUP>
 </PRE>
 </UL>
-<P>The <I>m00</I> through <I>m22</I> values define a 3x3 transformation 
-matrix for the CMY color values. The density function is applied <I>
-after</I> the CMY transformation. </P>
+<P>The<I> m00</I> through<I> m22</I> values define a 3x3 transformation
+ matrix for the CMY color values. The density function is applied<I>
+ after</I> the CMY transformation.</P>
 <H4>3.5.2.5 cupsVersion</H4>
-<P>This required attribute describes which version of the CUPS IDD was 
-used for the PPD file extensions. Currently it must be the string &quot;1.0&quot; 
-or &quot;1.1&quot;. </P>
+<P>This required attribute describes which version of the CUPS IDD was
+ used for the PPD file extensions. Currently it must be the string &quot;1.0&quot;
+ or &quot;1.1&quot;.</P>
 <H2><A NAME="3_6">3.6 Scheduler Configuration Files</A></H2>
-<P>The scheduler reads three configuration files that define the 
-available printers, classes, and services: </P>
+<P>The scheduler reads three configuration files that define the
+ available printers, classes, and services:</P>
 <DL>
-<DT>classes.conf </DT>
-<DD>This file defines all of the printer classes known to the  system. </DD>
-<DT>cupsd.conf </DT>
-<DD>This file defines the files, directories, passwords, etc.  used by 
-the scheduler. </DD>
-<DT>printers.conf </DT>
-<DD>This file defines all of the printers known to the system. </DD>
+<DT>classes.conf</DT>
+<DD>This file defines all of the printer classes known to the system.</DD>
+<DT>cupsd.conf</DT>
+<DD>This file defines the files, directories, passwords, etc. used by
+ the scheduler.</DD>
+<DT>printers.conf</DT>
+<DD>This file defines all of the printers known to the system.</DD>
 </DL>
 <H3><A NAME="3_6_1">3.6.1 classes.conf</A></H3>
-<P>The classes.conf file consists of 1 or more lines of ASCII text. 
- Comment lines start with the pound (&quot;#&quot;) character. </P>
-<P>Each non-blank line starts with the name of a configuration 
-directive followed by its value. The following directives are 
-understood: 
+<P>The classes.conf file consists of 1 or more lines of ASCII text.
+ Comment lines start with the pound (&quot;#&quot;) character.</P>
+<P>Each non-blank line starts with the name of a configuration directive
+ followed by its value. The following directives are understood:
 <CENTER>
 <TABLE BORDER="1" WIDTH="90%">
 <TR><TH WIDTH="25%">Directive</TH><TH>Description</TH></TR>
 <TR><TD>&lt;Class name&gt;
 <BR> &lt;/Class&gt;</TD><TD>Surrounds a class definition.</TD></TR>
 <TR><TD>&lt;DefaultClass name&gt;
-<BR> &lt;/Class&gt;</TD><TD>Surrounds a class definition for the default 
-destination.</TD></TR>
-<TR><TD>Accepting</TD><TD>Specifies whether the class is accepting new 
-jobs. May be  the names &quot;Yes&quot; or &quot;No&quot;.</TD></TR>
-<TR><TD>AllowUsers</TD><TD>Specifies a list of users that are allowed 
-to access the class.</TD></TR>
-<TR><TD>BannerStart</TD><TD>Specifies the banner that is printed before 
-other files in a  job.</TD></TR>
-<TR><TD>BannerEnd</TD><TD>Specifies the banner that is printed after 
-other files in a  job.</TD></TR>
-<TR><TD>DenyUsers</TD><TD>Specifies a list of users that are not 
-allowed to access the  class.</TD></TR>
+<BR> &lt;/Class&gt;</TD><TD>Surrounds a class definition for the default
+ destination.</TD></TR>
+<TR><TD>Accepting</TD><TD>Specifies whether the class is accepting new
+ jobs. May be the names &quot;Yes&quot; or &quot;No&quot;.</TD></TR>
+<TR><TD>AllowUsers</TD><TD>Specifies a list of users that are allowed to
+ access the class.</TD></TR>
+<TR><TD>BannerStart</TD><TD>Specifies the banner that is printed before
+ other files in a job.</TD></TR>
+<TR><TD>BannerEnd</TD><TD>Specifies the banner that is printed after
+ other files in a job.</TD></TR>
+<TR><TD>DenyUsers</TD><TD>Specifies a list of users that are not allowed
+ to access the class.</TD></TR>
 <TR><TD>Info</TD><TD>A textual description of the class.</TD></TR>
 <TR><TD>Location</TD><TD>A textual location of the class.</TD></TR>
-<TR><TD>Printer</TD><TD>Specifies a printer that is a member of the 
-class.</TD></TR>
-<TR><TD>State</TD><TD>Specifies the initial state of the class; can be 
-&quot;Idle&quot; or  &quot;Stopped&quot;.</TD></TR>
-<TR><TD>StateMessage</TD><TD>Specifies a textual message for the 
-current class state.</TD></TR>
+<TR><TD>Printer</TD><TD>Specifies a printer that is a member of the
+ class.</TD></TR>
+<TR><TD>State</TD><TD>Specifies the initial state of the class; can be
+ &quot;Idle&quot; or &quot;Stopped&quot;.</TD></TR>
+<TR><TD>StateMessage</TD><TD>Specifies a textual message for the current
+ class state.</TD></TR>
 </TABLE>
 </CENTER>
 </P>
 <H3><A NAME="3_6_2">3.6.2 cupsd.conf</A></H3>
-<P>The cupsd.conf file consists of 1 or more lines of ASCII text. 
- Comment lines start with the pound (&quot;#&quot;) character. </P>
-<P>Each non-blank line starts with the name of a configuration 
-directive followed by its value. The following directives are 
-understood: 
+<P>The cupsd.conf file consists of 1 or more lines of ASCII text.
+ Comment lines start with the pound (&quot;#&quot;) character.</P>
+<P>Each non-blank line starts with the name of a configuration directive
+ followed by its value. The following directives are understood:
 <CENTER>
 <TABLE BORDER="1" WIDTH="90%">
 <TR><TH WIDTH="25%">Directive</TH><TH>Default</TH><TH>Description</TH></TR>
-<TR><TD>AccessLog</TD><TD>access_log</TD><TD>Specifies the location of 
-the access log file. The special name  &quot;syslog&quot; can be used to send 
-access log information to the system  log.</TD></TR>
-<TR><TD>Allow</TD><TD>-</TD><TD>Allows connections from the specified 
-host, network, or  domain.</TD></TR>
-<TR><TD>AuthClass</TD><TD>-</TD><TD>Specifies what level of 
-authentication is required; may be  &quot;User&quot;, &quot;System&quot;, or &quot;Group&quot;.</TD></TR>
-<TR><TD>AuthType</TD><TD>None</TD><TD>Specifies the type of 
-authentication to perform; may be  &quot;None&quot;, &quot;Basic&quot;, or &quot;Digest&quot;.</TD></TR>
-<TR><TD>BrowseAddress</TD><TD>255.255.255.255</TD><TD>Specifies a 
-broadcast address to send CUPS browsing packets to.</TD></TR>
-<TR><TD>BrowseAllow</TD><TD>-</TD><TD>Specifies hosts or addresses from 
-which browsing information  should be used.</TD></TR>
-<TR><TD>BrowseDeny</TD><TD>-</TD><TD>Specifies hosts or addresses from 
-which browsing information  should not be used.</TD></TR>
-<TR><TD>BrowseInterval</TD><TD>30</TD><TD>Specifies the number of 
-seconds between browsing updates. A  browse interval of 0 seconds 
-disables outgoing packets.</TD></TR>
-<TR><TD>BrowseOrder</TD><TD>Allow,Deny</TD><TD>Specifies the order of 
-BrowseAllow and BrowseDeny directive  processing; can be &quot;Deny,Allow&quot; 
-to implicitly deny hosts unless  they are allowed by a BrowseAllow 
-line, or &quot;Allow,Deny&quot; to  implicitly allow hosts unless they are denied 
-by a BrowseDeny  line.</TD></TR>
-<TR><TD>BrowsePoll</TD><TD>-</TD><TD>Specifies a server to poll for 
-available printers and classes.</TD></TR>
-<TR><TD>BrowsePort</TD><TD>631</TD><TD>Specifies the UDP port number to 
-use for browse packets.</TD></TR>
-<TR><TD>BrowseRelay</TD><TD>-</TD><TD>Specifies a source and 
-destination address for relaying browser  information from one subnet 
-to another.</TD></TR>
-<TR><TD>BrowseShortNames</TD><TD>yes</TD><TD>Specifies whether or not 
-to provide short names (without the  &quot;@server&quot; part) for remote 
-printers.</TD></TR>
-<TR><TD>BrowseTimeout</TD><TD>300</TD><TD>Specifies the number of 
-seconds to wait until remote destinations  are removed from the local 
-destination list.</TD></TR>
-<TR><TD>Browsing</TD><TD>On</TD><TD>Specifies whether or not printer 
-and class browsing is enabled; can  be &quot;On&quot; or &quot;Off&quot;.</TD></TR>
-<TR><TD>DataDir</TD><TD>/usr/share/cups</TD><TD>Specifies the directory 
-where CUPS data files are stored.</TD></TR>
-<TR><TD>DefaultCharset</TD><TD>iso-8859-1</TD><TD>Specifies the default 
-character set.</TD></TR>
-<TR><TD>DefaultLanguage</TD><TD>current locale</TD><TD>Specifies the 
-default language.</TD></TR>
-<TR><TD>Deny</TD><TD>-</TD><TD>Refuses connections from the specified 
-host, network, or  domain.</TD></TR>
-<TR><TD>DocumentRoot</TD><TD>/usr/share/doc/cups</TD><TD>Specifies the 
-document data root directory.</TD></TR>
-<TR><TD>ErrorLog</TD><TD>error_log</TD><TD>Specifies the error log file 
-location. The special name  &quot;syslog&quot; can be used to send error log 
-information to the system  log.</TD></TR>
-<TR><TD>Group</TD><TD>root, sys, system</TD><TD>Specifies the group 
-name or ID that is used when running  external programs.</TD></TR>
-<TR><TD>HostNameLookups</TD><TD>Off</TD><TD>Specifies whether or not to 
-perform reverse IP address lookups to  get the actual hostname; may be 
-&quot;On&quot; or &quot;Off&quot;. Hostname lookups can  significantly degrade the 
-performance of the CUPS server if one or  more DNS servers is not 
-functioning properly.</TD></TR>
-<TR><TD>ImplicitClasses</TD><TD>On</TD><TD>Specifies whether or not to 
-automatically create printer classes  when more than one printer or 
-class of the same name is detected on  the network; may be &quot;On&quot; or 
-&quot;Off&quot;.</TD></TR>
-<TR><TD>KeepAlive</TD><TD>On</TD><TD>Specifies whether or not to use 
-the HTTP Keep-Alive feature; may  be &quot;On&quot; or &quot;Off&quot;.</TD></TR>
-<TR><TD>KeepAliveTimeout</TD><TD>30</TD><TD>Specifies the amount of 
-time to keep the HTTP connection alive  before closing it.</TD></TR>
+<TR><TD>AccessLog</TD><TD>access_log</TD><TD>Specifies the location of
+ the access log file. The special name &quot;syslog&quot; can be used to send
+ access log information to the system log.</TD></TR>
+<TR><TD>Allow</TD><TD>-</TD><TD>Allows connections from the specified
+ host, network, or domain.</TD></TR>
+<TR><TD>AuthClass</TD><TD>-</TD><TD>Specifies what level of
+ authentication is required; may be &quot;User&quot;, &quot;System&quot;, or &quot;Group&quot;.</TD></TR>
+<TR><TD>AuthType</TD><TD>None</TD><TD>Specifies the type of
+ authentication to perform; may be &quot;None&quot;, &quot;Basic&quot;, or &quot;Digest&quot;.</TD></TR>
+<TR><TD>BrowseAddress</TD><TD>255.255.255.255</TD><TD>Specifies a
+ broadcast address to send CUPS browsing packets to.</TD></TR>
+<TR><TD>BrowseAllow</TD><TD>-</TD><TD>Specifies hosts or addresses from
+ which browsing information should be used.</TD></TR>
+<TR><TD>BrowseDeny</TD><TD>-</TD><TD>Specifies hosts or addresses from
+ which browsing information should not be used.</TD></TR>
+<TR><TD>BrowseInterval</TD><TD>30</TD><TD>Specifies the number of
+ seconds between browsing updates. A browse interval of 0 seconds
+ disables outgoing packets.</TD></TR>
+<TR><TD>BrowseOrder</TD><TD>Allow,Deny</TD><TD>Specifies the order of
+ BrowseAllow and BrowseDeny directive processing; can be &quot;Deny,Allow&quot; to
+ implicitly deny hosts unless they are allowed by a BrowseAllow line, or
+ &quot;Allow,Deny&quot; to implicitly allow hosts unless they are denied by a
+ BrowseDeny line.</TD></TR>
+<TR><TD>BrowsePoll</TD><TD>-</TD><TD>Specifies a server to poll for
+ available printers and classes.</TD></TR>
+<TR><TD>BrowsePort</TD><TD>631</TD><TD>Specifies the UDP port number to
+ use for browse packets.</TD></TR>
+<TR><TD>BrowseRelay</TD><TD>-</TD><TD>Specifies a source and destination
+ address for relaying browser information from one subnet to another.</TD>
+</TR>
+<TR><TD>BrowseShortNames</TD><TD>yes</TD><TD>Specifies whether or not to
+ provide short names (without the &quot;@server&quot; part) for remote printers.</TD>
+</TR>
+<TR><TD>BrowseTimeout</TD><TD>300</TD><TD>Specifies the number of
+ seconds to wait until remote destinations are removed from the local
+ destination list.</TD></TR>
+<TR><TD>Browsing</TD><TD>On</TD><TD>Specifies whether or not printer and
+ class browsing is enabled; can be &quot;On&quot; or &quot;Off&quot;.</TD></TR>
+<TR><TD>DataDir</TD><TD>/usr/share/cups</TD><TD>Specifies the directory
+ where CUPS data files are stored.</TD></TR>
+<TR><TD>DefaultCharset</TD><TD>iso-8859-1</TD><TD>Specifies the default
+ character set.</TD></TR>
+<TR><TD>DefaultLanguage</TD><TD>current locale</TD><TD>Specifies the
+ default language.</TD></TR>
+<TR><TD>Deny</TD><TD>-</TD><TD>Refuses connections from the specified
+ host, network, or domain.</TD></TR>
+<TR><TD>DocumentRoot</TD><TD>/usr/share/doc/cups</TD><TD>Specifies the
+ document data root directory.</TD></TR>
+<TR><TD>ErrorLog</TD><TD>error_log</TD><TD>Specifies the error log file
+ location. The special name &quot;syslog&quot; can be used to send error log
+ information to the system log.</TD></TR>
+<TR><TD>Group</TD><TD>root, sys, system</TD><TD>Specifies the group name
+ or ID that is used when running external programs.</TD></TR>
+<TR><TD>HostNameLookups</TD><TD>Off</TD><TD>Specifies whether or not to
+ perform reverse IP address lookups to get the actual hostname; may be
+ &quot;On&quot; or &quot;Off&quot;. Hostname lookups can significantly degrade the
+ performance of the CUPS server if one or more DNS servers is not
+ functioning properly.</TD></TR>
+<TR><TD>ImplicitClasses</TD><TD>On</TD><TD>Specifies whether or not to
+ automatically create printer classes when more than one printer or
+ class of the same name is detected on the network; may be &quot;On&quot; or
+ &quot;Off&quot;.</TD></TR>
+<TR><TD>KeepAlive</TD><TD>On</TD><TD>Specifies whether or not to use the
+ HTTP Keep-Alive feature; may be &quot;On&quot; or &quot;Off&quot;.</TD></TR>
+<TR><TD>KeepAliveTimeout</TD><TD>30</TD><TD>Specifies the amount of time
+ to keep the HTTP connection alive before closing it.</TD></TR>
 <TR><TD>&lt;Location path&gt;
-<BR> &lt;/Location&gt;</TD><TD>-</TD><TD>Specifies a location to restrict 
-access to.</TD></TR>
-<TR><TD>LogLevel</TD><TD>info</TD><TD>Controls the amount of 
-information that is logged in the  error log file. Can be one of 
-&quot;debug&quot;, &quot;info&quot;, &quot;warn&quot;, &quot;error&quot;,  or &quot;none&quot;, in decreasing order or 
-verbosity.</TD></TR>
-<TR><TD>MaxClients</TD><TD>100</TD><TD>Specifies the maximum number of 
-simultaneous active clients.  This value is internally limited to 1/3 
-of the total number of  available file descriptors.</TD></TR>
-<TR><TD>MaxLogSize</TD><TD>0</TD><TD>Specifies the maximum size of the 
-access, error, and page  log files in bytes. If set to 0 then no 
-maximum size is set.  Log files are rotated automatically when this 
-size is  exceeded.</TD></TR>
-<TR><TD>MaxRequestSize</TD><TD>0</TD><TD>Specifies the maximum size of 
-HTTP requests in bytes. If set to 0  then there is no maximum.</TD></TR>
-<TR><TD>Order</TD><TD>Allow,Deny</TD><TD>Specifies the order of Allow 
-and Deny directive processing; can  be &quot;Deny,Allow&quot; to implicitly deny 
-hosts unless they are allowed by  an Allow line, or &quot;Allow,Deny&quot; to 
-implicitly allow hosts unless they  are denied by a Deny line.</TD></TR>
-<TR><TD>PageLog</TD><TD>page_log</TD><TD>Specifies the location of the 
-page log file. The special name  &quot;syslog&quot; can be used to send page log 
-information to the system  log.</TD></TR>
-<TR><TD>Port</TD><TD>631</TD><TD>Specifies a port number to listen to 
-for HTTP connections.</TD></TR>
-<TR><TD>Printcap</TD><TD>/etc/printcap</TD><TD>Specifies the location 
-of a Berkeley printcap file to update  with a list of current printers 
-and classes. If no filename is  supplied then this automatic generation 
-is disabled.</TD></TR>
-<TR><TD>RequestRoot</TD><TD>/var/spool/cups</TD><TD>Specifies the 
-location of request files.</TD></TR>
-<TR><TD>RIPCache</TD><TD>8m</TD><TD>Specifies the size of the memory 
-cache in bytes that is used by  RIP filters.</TD></TR>
-<TR><TD>ServerAdmin</TD><TD>root@ServerName</TD><TD>Specifies the 
-person to contact with problems.</TD></TR>
-<TR><TD>ServerName</TD><TD>hostname</TD><TD>Specifies the hostname that 
-is supplied to HTTP clients. This  is also used to determine the 
-default CUPS server for the CUPS IPP  client applications.</TD></TR>
-<TR><TD>ServerRoot</TD><TD>/etc/cups</TD><TD>Specifies the root 
-directory for server configuration files.</TD></TR>
-<TR><TD>SystemGroup</TD><TD>root, sys, system</TD><TD>Specifies the 
-group name used for System class authentication.</TD></TR>
-<TR><TD>TempDir</TD><TD>/var/tmp</TD><TD>Specifies the temporary 
-directory to use.</TD></TR>
-<TR><TD>Timeout</TD><TD>300</TD><TD>The timeout in seconds before 
-client connections are closed  in the middle of a request.</TD></TR>
-<TR><TD>User</TD><TD>lp</TD><TD>Specifies the user that is used when 
-running external programs.</TD></TR>
+<BR> &lt;/Location&gt;</TD><TD>-</TD><TD>Specifies a location to restrict
+ access to.</TD></TR>
+<TR><TD>LogLevel</TD><TD>info</TD><TD>Controls the amount of information
+ that is logged in the error log file. Can be one of &quot;debug&quot;, &quot;info&quot;,
+ &quot;warn&quot;, &quot;error&quot;, or &quot;none&quot;, in decreasing order or verbosity.</TD></TR>
+<TR><TD>MaxClients</TD><TD>100</TD><TD>Specifies the maximum number of
+ simultaneous active clients. This value is internally limited to 1/3 of
+ the total number of available file descriptors.</TD></TR>
+<TR><TD>MaxLogSize</TD><TD>0</TD><TD>Specifies the maximum size of the
+ access, error, and page log files in bytes. If set to 0 then no maximum
+ size is set. Log files are rotated automatically when this size is
+ exceeded.</TD></TR>
+<TR><TD>MaxRequestSize</TD><TD>0</TD><TD>Specifies the maximum size of
+ HTTP requests in bytes. If set to 0 then there is no maximum.</TD></TR>
+<TR><TD>Order</TD><TD>Allow,Deny</TD><TD>Specifies the order of Allow
+ and Deny directive processing; can be &quot;Deny,Allow&quot; to implicitly deny
+ hosts unless they are allowed by an Allow line, or &quot;Allow,Deny&quot; to
+ implicitly allow hosts unless they are denied by a Deny line.</TD></TR>
+<TR><TD>PageLog</TD><TD>page_log</TD><TD>Specifies the location of the
+ page log file. The special name &quot;syslog&quot; can be used to send page log
+ information to the system log.</TD></TR>
+<TR><TD>Port</TD><TD>631</TD><TD>Specifies a port number to listen to
+ for HTTP connections.</TD></TR>
+<TR><TD>Printcap</TD><TD>/etc/printcap</TD><TD>Specifies the location of
+ a Berkeley printcap file to update with a list of current printers and
+ classes. If no filename is supplied then this automatic generation is
+ disabled.</TD></TR>
+<TR><TD>RequestRoot</TD><TD>/var/spool/cups</TD><TD>Specifies the
+ location of request files.</TD></TR>
+<TR><TD>RIPCache</TD><TD>8m</TD><TD>Specifies the size of the memory
+ cache in bytes that is used by RIP filters.</TD></TR>
+<TR><TD>ServerAdmin</TD><TD>root@ServerName</TD><TD>Specifies the person
+ to contact with problems.</TD></TR>
+<TR><TD>ServerName</TD><TD>hostname</TD><TD>Specifies the hostname that
+ is supplied to HTTP clients. This is also used to determine the default
+ CUPS server for the CUPS IPP client applications.</TD></TR>
+<TR><TD>ServerRoot</TD><TD>/etc/cups</TD><TD>Specifies the root
+ directory for server configuration files.</TD></TR>
+<TR><TD>SystemGroup</TD><TD>root, sys, system</TD><TD>Specifies the
+ group name used for System class authentication.</TD></TR>
+<TR><TD>TempDir</TD><TD>/var/tmp</TD><TD>Specifies the temporary
+ directory to use.</TD></TR>
+<TR><TD>Timeout</TD><TD>300</TD><TD>The timeout in seconds before client
+ connections are closed in the middle of a request.</TD></TR>
+<TR><TD>User</TD><TD>lp</TD><TD>Specifies the user that is used when
+ running external programs.</TD></TR>
 </TABLE>
 </CENTER>
 </P>
 <H3><A NAME="3_6_3">3.6.3 printers.conf</A></H3>
-<P>The printers.conf file consists of 1 or more lines of ASCII text. 
- Comment lines start with the pound (&quot;#&quot;) character. </P>
-<P>Each non-blank line starts with the name of a configuration 
-directive followed by its value. The following directives are 
-understood: 
+<P>The printers.conf file consists of 1 or more lines of ASCII text.
+ Comment lines start with the pound (&quot;#&quot;) character.</P>
+<P>Each non-blank line starts with the name of a configuration directive
+ followed by its value. The following directives are understood:
 <CENTER>
 <TABLE BORDER="1" WIDTH="90%">
 <TR><TH WIDTH="25%">Directive</TH><TH>Description</TH></TR>
-<TR><TD>Accepting</TD><TD>Specifies whether the printer is accepting 
-new jobs. May be  the names &quot;Yes&quot; or &quot;No&quot;.</TD></TR>
+<TR><TD>Accepting</TD><TD>Specifies whether the printer is accepting new
+ jobs. May be the names &quot;Yes&quot; or &quot;No&quot;.</TD></TR>
 <TR><TD>&lt;DefaultPrinter name&gt;
-<BR> &lt;/Printer&gt;</TD><TD>Surrounds the printer definition for a default 
-destination.</TD></TR>
-<TR><TD>AllowUsers</TD><TD>Specifies a list of users that are allowed 
-to access the printer.</TD></TR>
-<TR><TD>BannerStart</TD><TD>Specifies the banner that is printed before 
-other files in a  job.</TD></TR>
-<TR><TD>BannerEnd</TD><TD>Specifies the banner that is printed after 
-other files in a  job.</TD></TR>
-<TR><TD>DenyUsers</TD><TD>Specifies a list of users that are not 
-allowed to access the  printer.</TD></TR>
-<TR><TD>DeviceURI</TD><TD>Specifies the device-uri attribute for the 
-printer.</TD></TR>
+<BR> &lt;/Printer&gt;</TD><TD>Surrounds the printer definition for a default
+ destination.</TD></TR>
+<TR><TD>AllowUsers</TD><TD>Specifies a list of users that are allowed to
+ access the printer.</TD></TR>
+<TR><TD>BannerStart</TD><TD>Specifies the banner that is printed before
+ other files in a job.</TD></TR>
+<TR><TD>BannerEnd</TD><TD>Specifies the banner that is printed after
+ other files in a job.</TD></TR>
+<TR><TD>DenyUsers</TD><TD>Specifies a list of users that are not allowed
+ to access the printer.</TD></TR>
+<TR><TD>DeviceURI</TD><TD>Specifies the device-uri attribute for the
+ printer.</TD></TR>
 <TR><TD>Info</TD><TD>A textual description of the printer.</TD></TR>
 <TR><TD>Location</TD><TD>A textual location of the printer.</TD></TR>
 <TR><TD>&lt;Printer name&gt;
 <BR> &lt;/Printer&gt;</TD><TD>Surrounds the printer definition.</TD></TR>
-<TR><TD>State</TD><TD>Specifies the initial state of the printer; can 
-be &quot;Idle&quot; or  &quot;Stopped&quot;.</TD></TR>
-<TR><TD>StateMessage</TD><TD>Specifies a textual message for the 
-current printer state.</TD></TR>
+<TR><TD>State</TD><TD>Specifies the initial state of the printer; can be
+ &quot;Idle&quot; or &quot;Stopped&quot;.</TD></TR>
+<TR><TD>StateMessage</TD><TD>Specifies a textual message for the current
+ printer state.</TD></TR>
 </TABLE>
 </CENTER>
 </P>
 <H1><A NAME="4">4 External Interfaces</A></H1>
 <H2><A NAME="4_1">4.1 AppSocket Protocol</A></H2>
-<P>The AppSocket protocol is an 8-bit clean TCP/IP socket connection. 
-The default IP service port is 9100. The URI method name is &quot;socket&quot;. </P>
-<P>The AppSocket protocol is used by the Hewlett Packard JetDirect 
-network interfaces and print servers, as well as many other vendors' 
-products. See the CUPS Software Administrators Manual for a list of 
-supported products. </P>
+<P>The AppSocket protocol is an 8-bit clean TCP/IP socket connection.
+ The default IP service port is 9100. The URI method name is &quot;socket&quot;.</P>
+<P>The AppSocket protocol is used by the Hewlett Packard JetDirect
+ network interfaces and print servers, as well as many other vendors'
+ products. See the CUPS Software Administrators Manual for a list of
+ supported products.</P>
 <H2><A NAME="4_2">4.2 CUPS Browsing Protocol</A></H2>
-<P>The CUPS Browsing Protocol is a UDP/IP-based broadcast service. By 
-default this service operates on IP service port 631. </P>
-<P>Each broadcast packet describes the state of a single printer or 
-class and is an ASCII text string of up to 1450 bytes ending with a 
-newline (0x0a). The string is formatted as follows: </P>
+<P>The CUPS Browsing Protocol is a UDP/IP-based broadcast service. By
+ default this service operates on IP service port 631.</P>
+<P>Each broadcast packet describes the state of a single printer or
+ class and is an ASCII text string of up to 1450 bytes ending with a
+ newline (0x0a). The string is formatted as follows:</P>
 <UL>
 <PRE>
 type SP state SP uri SP &quot;location&quot; SP &quot;info&quot; SP &quot;make-and-model&quot; NL
 </PRE>
 </UL>
-<P><VAR>State, uri, location, info</VAR>, and <VAR>make-and-model</VAR>
-, correspond to the IPP <CODE>printer-state</CODE>, <CODE>
+<P><VAR>State, uri, location, info</VAR>, and<VAR> make-and-model</VAR>,
+ correspond to the IPP <CODE>printer-state</CODE>, <CODE>
 printer-uri-supported</CODE>, <CODE>printer-location</CODE>, <CODE>
-printer-info</CODE>, and <CODE>printer-make-and-model</CODE>
- attributes. </P>
-<P><VAR>Type</VAR> is a hexadecimal number string representing 
-capability/type bits: 
+printer-info</CODE>, and <CODE>printer-make-and-model</CODE> attributes.</P>
+<P><VAR>Type</VAR> is a hexadecimal number string representing
+ capability/type bits:
 <CENTER>
 <TABLE BORDER="1" WIDTH="40%">
 <TR><TH WIDTH="8%">Bit</TH><TH>Description</TH></TR>
@@ -657,12 +652,12 @@ capability/type bits:
 </P>
 <H2><A NAME="4_3">4.3 CUPS Form File</A></H2>
 <P>CUPS Form files are XML files used by the CUPS <CODE>formtops</CODE>
- filter to produce dynamic banner pages and support preprinted forms. </P>
+ filter to produce dynamic banner pages and support preprinted forms.</P>
 <P>The MIME type for CUPS Form files is <CODE>application/vnd.cups-form</CODE>
-. </P>
+.</P>
 <H3><A NAME="4_3_1">4.3.1 CUPS Form DTD</A></H3>
-<P>The following DTD describes the available elements and attributes in 
-a CUPS Form file: 
+<P>The following DTD describes the available elements and attributes in
+ a CUPS Form file:
 <CENTER>
 <TABLE BORDER>
 <TR><TD>
@@ -840,27 +835,27 @@ a CUPS Form file:
 </CENTER>
 </P>
 <H2><A NAME="4_4">4.4 CUPS PostScript File</A></H2>
-<P>CUPS PostScript files are device-dependent Adobe PostScript program 
-files. The PostScript language is described in the <A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
- Adobe PostScript Language Reference Manual, Third Edition</A>. </P>
+<P>CUPS PostScript files are device-dependent Adobe PostScript program
+ files. The PostScript language is described in the<A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
+ Adobe PostScript Language Reference Manual, Third Edition</A>.</P>
 <P>The MIME type for CUPS PostScript files is <CODE>
-application/vnd.cups-postscript</CODE>. </P>
+application/vnd.cups-postscript</CODE>.</P>
 <H2><A NAME="4_5">4.5 CUPS Raster File</A></H2>
-<P>CUPS raster files are device-dependent raster image files that 
-contain a PostScript page device dictionary and device-dependent raster 
-imagery for each page in the document. These files are used to transfer 
-raster data from the PostScript and image file RIPs to device-dependent 
-filters that convert the raster data to a printable format. </P>
-<P>A raster file begins with a four byte synchronization word: 
-0x52615374 (&quot;RaSt&quot;) for big-endian architectures and 0x74536152 
-(&quot;tSaR&quot;) for little-endian architectures.  The writer of the raster 
-file will use the native word order, and the reader is responsible for 
-detecting a reversed word order file and swapping bytes as needed. The 
-CUPS Image Library raster functions perform this function 
-automatically. </P>
-<P>Following the synchronization word are a series of raster pages. 
- Each page starts with a page device dictionary header and is followed 
-immediately by the raster data for that page. 
+<P>CUPS raster files are device-dependent raster image files that
+ contain a PostScript page device dictionary and device-dependent raster
+ imagery for each page in the document. These files are used to transfer
+ raster data from the PostScript and image file RIPs to device-dependent
+ filters that convert the raster data to a printable format.</P>
+<P>A raster file begins with a four byte synchronization word:
+ 0x52615374 (&quot;RaSt&quot;) for big-endian architectures and 0x74536152
+ (&quot;tSaR&quot;) for little-endian architectures. The writer of the raster file
+ will use the native word order, and the reader is responsible for
+ detecting a reversed word order file and swapping bytes as needed. The
+ CUPS Image Library raster functions perform this function
+ automatically.</P>
+<P>Following the synchronization word are a series of raster pages. Each
+ page starts with a page device dictionary header and is followed
+ immediately by the raster data for that page.
 <CENTER>
 <TABLE BORDER="1" WIDTH="80%">
 <TR><TH WIDTH="10%">Bytes</TH><TH WIDTH="20%">Description</TH><TH>Values</TH>
@@ -872,8 +867,8 @@ immediately by the raster data for that page.
 </TR>
 <TR><TD>192-255</TD><TD>OutputType</TD><TD>Nul-terminated ASCII string</TD>
 </TR>
-<TR><TD>256-259</TD><TD>AdvanceDistance</TD><TD>0 to 2<SUP>32</SUP> - 1 
-points</TD></TR>
+<TR><TD>256-259</TD><TD>AdvanceDistance</TD><TD>0 to 2<SUP>32</SUP> - 1
+ points</TD></TR>
 <TR><TD>260-263</TD><TD>AdvanceMedia</TD><TD>0 = Never advance roll
 <BR> 1 = Advance roll after file
 <BR> 2 = Advance roll after job
@@ -888,13 +883,13 @@ points</TD></TR>
 <BR> 4 = Cut roll after page</TD></TR>
 <TR><TD>272-275</TD><TD>Duplex</TD><TD>0 = Print single-sided
 <BR> 1 = Print double-sided</TD></TR>
-<TR><TD>276-283</TD><TD>HWResolution</TD><TD>Horizontal and vertical 
-resolution in dots-per-inch.</TD></TR>
-<TR><TD>284-299</TD><TD>ImagingBoundingBox</TD><TD>Four integers giving 
-the left, bottom, right, and top positions  of the page bounding box in 
-points</TD></TR>
-<TR><TD>300-303</TD><TD>InsertSheet</TD><TD>0 = Do not insert separator 
-sheets
+<TR><TD>276-283</TD><TD>HWResolution</TD><TD>Horizontal and vertical
+ resolution in dots-per-inch.</TD></TR>
+<TR><TD>284-299</TD><TD>ImagingBoundingBox</TD><TD>Four integers giving
+ the left, bottom, right, and top positions of the page bounding box in
+ points</TD></TR>
+<TR><TD>300-303</TD><TD>InsertSheet</TD><TD>0 = Do not insert separator
+ sheets
 <BR> 1 = Insert separator sheets</TD></TR>
 <TR><TD>304-307</TD><TD>Jog</TD><TD>0 = Do no jog pages
 <BR> 1 = Jog pages after file
@@ -904,15 +899,15 @@ sheets
 <BR> 1 = Right edge is first
 <BR> 2 = Bottom edge is first
 <BR> 3 = Left edge is first</TD></TR>
-<TR><TD>312-319</TD><TD>Margins</TD><TD>Left and bottom origin of image 
-in points</TD></TR>
-<TR><TD>320-323</TD><TD>ManualFeed</TD><TD>0 = Do not manually feed 
-media
+<TR><TD>312-319</TD><TD>Margins</TD><TD>Left and bottom origin of image
+ in points</TD></TR>
+<TR><TD>320-323</TD><TD>ManualFeed</TD><TD>0 = Do not manually feed
+ media
 <BR> 1 = Manually feed media</TD></TR>
-<TR><TD>324-327</TD><TD>MediaPosition</TD><TD>Input slot position from 
-0 to N</TD></TR>
-<TR><TD>328-331</TD><TD>MediaWeight</TD><TD>Media weight in grams per 
-meter squared</TD></TR>
+<TR><TD>324-327</TD><TD>MediaPosition</TD><TD>Input slot position from 0
+ to N</TD></TR>
+<TR><TD>328-331</TD><TD>MediaWeight</TD><TD>Media weight in grams per
+ meter squared</TD></TR>
 <TR><TD>332-335</TD><TD>MirrorPrint</TD><TD>0 = Do not mirror prints
 <BR> 1 = Mirror prints</TD></TR>
 <TR><TD>336-339</TD><TD>NegativePrint</TD><TD>0 = Do not invert prints
@@ -927,24 +922,24 @@ meter squared</TD></TR>
 <TR><TD>352-359</TD><TD>PageSize</TD><TD>Width and length in points</TD></TR>
 <TR><TD>360-363</TD><TD>Separations</TD><TD>0 = Print composite image
 <BR> 1 = Print color separations</TD></TR>
-<TR><TD>364-367</TD><TD>TraySwitch</TD><TD>0 = Do not change trays if 
-selected tray is empty
+<TR><TD>364-367</TD><TD>TraySwitch</TD><TD>0 = Do not change trays if
+ selected tray is empty
 <BR> 1 = Change trays if selected tray is empty</TD></TR>
-<TR><TD>368-371</TD><TD>Tumble</TD><TD>0 = Do not rotate even pages 
-when duplexing
+<TR><TD>368-371</TD><TD>Tumble</TD><TD>0 = Do not rotate even pages when
+ duplexing
 <BR> 1 = Rotate even pages when duplexing</TD></TR>
 <TR><TD>372-375</TD><TD>cupsWidth</TD><TD>Width of page image in pixels</TD>
 </TR>
-<TR><TD>376-379</TD><TD>cupsHeight</TD><TD>Height of page image in 
-pixels</TD></TR>
+<TR><TD>376-379</TD><TD>cupsHeight</TD><TD>Height of page image in
+ pixels</TD></TR>
 <TR><TD>380-383</TD><TD>cupsMediaType</TD><TD>Driver-specific 0 to 2<SUP>
 32</SUP> - 1</TD></TR>
 <TR><TD>384-387</TD><TD>cupsBitsPerColor</TD><TD>1, 2, 4, 8 bits</TD></TR>
 <TR><TD>388-391</TD><TD>cupsBitsPerPixel</TD><TD>1 to 32 bits</TD></TR>
-<TR><TD>392-395</TD><TD>cupsBytesPerLine</TD><TD>1 to 2<SUP>32</SUP> - 
-1 bytes</TD></TR>
-<TR><TD>396-399</TD><TD>cupsColorOrder</TD><TD>0 = chunky pixels (CMYK 
-CMYK CMYK)
+<TR><TD>392-395</TD><TD>cupsBytesPerLine</TD><TD>1 to 2<SUP>32</SUP> - 1
+ bytes</TD></TR>
+<TR><TD>396-399</TD><TD>cupsColorOrder</TD><TD>0 = chunky pixels (CMYK
+ CMYK CMYK)
 <BR> 1 = banded pixels (CCC MMM YYY KKK)
 <BR> 2 = planar pixels (CCC... MMM... YYY... KKK...)</TD></TR>
 <TR><TD>400-403</TD><TD>cupsColorSpace</TD><TD>0 = white
@@ -969,118 +964,118 @@ CMYK CMYK)
 </CENTER>
 </P>
 <P>The MIME type for CUPS Raster files is <CODE>
-application/vnd.cups-raster</CODE>. </P>
+application/vnd.cups-raster</CODE>.</P>
 <H2><A NAME="4_6">4.6 CUPS Raw Files</A></H2>
-<P>Raw files are printer-dependent print files that are in a format 
-suitable to the destination printer (e.g. HP-PCL, HP-RTL, etc.) The 
-MIME type for CUPS Raw files is <CODE>application/vnd.cups-raw</CODE>. </P>
+<P>Raw files are printer-dependent print files that are in a format
+ suitable to the destination printer (e.g. HP-PCL, HP-RTL, etc.) The
+ MIME type for CUPS Raw files is <CODE>application/vnd.cups-raw</CODE>.</P>
 <H2><A NAME="4_7">4.7 Internet Printing Protocol</A></H2>
-<P>The Internet Printing Protocol and the CUPS extensions to it are 
-described in the CUPS Implementation of IPP document. </P>
+<P>The Internet Printing Protocol and the CUPS extensions to it are
+ described in the CUPS Implementation of IPP document.</P>
 <H2><A NAME="4_8">4.8 Line Printer Daemon Protocol</A></H2>
-<P>The Line Printer Daemon (LPD) protocol is described by <A HREF="http://www.ietf.org/rfc/rfc1179.txt">
-RFC 1179: Line Printer Daemon Protocol</A>. </P>
-<P>The URI method name for LPD is &quot;lpd&quot;. </P>
+<P>The Line Printer Daemon (LPD) protocol is described by<A HREF="http://www.ietf.org/rfc/rfc1179.txt">
+ RFC 1179: Line Printer Daemon Protocol</A>.</P>
+<P>The URI method name for LPD is &quot;lpd&quot;.</P>
 <H2><A NAME="4_9">4.9 Server Message Block Protocol</A></H2>
-<P>The Server Message Block (SMB) and related Common Internet File 
-System (CIFS) protocols are described at <A HREF="http://anu.samba.org/cifs">
-http://anu.samba.org/cifs</A>. </P>
-<P>The URI method name for SMB is &quot;smb&quot;. Support for this protocol is 
-provided via the SAMBA <CODE>smbspool(1)</CODE> program provided with 
-SAMBA 2.0.6 and higher. </P>
+<P>The Server Message Block (SMB) and related Common Internet File
+ System (CIFS) protocols are described at<A HREF="http://anu.samba.org/cifs">
+ http://anu.samba.org/cifs</A>.</P>
+<P>The URI method name for SMB is &quot;smb&quot;. Support for this protocol is
+ provided via the SAMBA <CODE>smbspool(1)</CODE> program provided with
+ SAMBA 2.0.6 and higher.</P>
 <H1><A NAME="5">5 Directories</A></H1>
 <DL>
-<DT>/etc/cups </DT>
-<DD>The scheduler configuration and MIME files reside here. </DD>
-<DT>/etc/cups/certs </DT>
-<DD>The authentication certificates reside here. </DD>
-<DT>/etc/cups/interfaces </DT>
-<DD>System V interface scripts reside here. </DD>
-<DT>/etc/cups/ppd </DT>
-<DD>This directory contains PPD files for each printer. </DD>
-<DT>/usr/bin </DT>
+<DT>/etc/cups</DT>
+<DD>The scheduler configuration and MIME files reside here.</DD>
+<DT>/etc/cups/certs</DT>
+<DD>The authentication certificates reside here.</DD>
+<DT>/etc/cups/interfaces</DT>
+<DD>System V interface scripts reside here.</DD>
+<DT>/etc/cups/ppd</DT>
+<DD>This directory contains PPD files for each printer.</DD>
+<DT>/usr/bin</DT>
 <DD>The <CODE>cancel</CODE>, <CODE>lp</CODE>, <CODE>lpq</CODE>, <CODE>
- lpr</CODE>, <CODE>lprm</CODE>, and <CODE>lpstat</CODE> commands 
reside here. </DD>
-<DT>/usr/lib, /usr/lib32 </DT>
-<DD>The shared libraries (DSOs) reside here. </DD>
-<DT>/usr/lib/cups/backend </DT>
-<DD>The backend filters reside here. </DD>
-<DT>/usr/lib/cups/cgi-bin </DT>
-<DD>The CGI programs reside here. </DD>
-<DT>/usr/lib/cups/daemon </DT>
-<DD>The polling and LPD daemons reside here. </DD>
-<DT>/usr/lib/cups/filter </DT>
-<DD>The file filters reside here. </DD>
-<DT>/usr/sbin </DT>
-<DD>The <CODE>accept</CODE>, <CODE>cupsd</CODE>, <CODE> lpadmin</CODE>, <CODE>
-lpc</CODE>, and <CODE>reject</CODE> commands reside here. </DD>
-<DT>/usr/share/cups </DT>
-<DD>This is the root directory of the CUPS static data. </DD>
-<DT>/usr/share/cups/charsets </DT>
-<DD>The character set files reside here. </DD>
-<DT>/usr/share/cups/data </DT>
-<DD>The filter data files reside here. </DD>
-<DT>/usr/share/cups/fonts </DT>
-<DD>The <CODE>pstoraster</CODE> font files reside here. </DD>
-<DT>/usr/share/cups/model </DT>
-<DD>The sample PPD files reside here. </DD>
-<DT>/usr/share/cups/pstoraster </DT>
-<DD>The <CODE>pstoraster</CODE> data files reside here. </DD>
-<DT>/usr/share/doc/cups </DT>
-<DD>The scheduler documentation files reside here. </DD>
-<DT>/var/log/cups </DT>
+lpr</CODE>, <CODE>lprm</CODE>, and <CODE>lpstat</CODE> commands reside
here.</DD>
+<DT>/usr/lib, /usr/lib32</DT>
+<DD>The shared libraries (DSOs) reside here.</DD>
+<DT>/usr/lib/cups/backend</DT>
+<DD>The backend filters reside here.</DD>
+<DT>/usr/lib/cups/cgi-bin</DT>
+<DD>The CGI programs reside here.</DD>
+<DT>/usr/lib/cups/daemon</DT>
+<DD>The polling and LPD daemons reside here.</DD>
+<DT>/usr/lib/cups/filter</DT>
+<DD>The file filters reside here.</DD>
+<DT>/usr/sbin</DT>
+<DD>The <CODE>accept</CODE>, <CODE>cupsd</CODE>, <CODE>lpadmin</CODE>, <CODE>
+lpc</CODE>, and <CODE>reject</CODE> commands reside here.</DD>
+<DT>/usr/share/cups</DT>
+<DD>This is the root directory of the CUPS static data.</DD>
+<DT>/usr/share/cups/charsets</DT>
+<DD>The character set files reside here.</DD>
+<DT>/usr/share/cups/data</DT>
+<DD>The filter data files reside here.</DD>
+<DT>/usr/share/cups/fonts</DT>
+<DD>The <CODE>pstoraster</CODE> font files reside here.</DD>
+<DT>/usr/share/cups/model</DT>
+<DD>The sample PPD files reside here.</DD>
+<DT>/usr/share/cups/pstoraster</DT>
+<DD>The <CODE>pstoraster</CODE> data files reside here.</DD>
+<DT>/usr/share/doc/cups</DT>
+<DD>The scheduler documentation files reside here.</DD>
+<DT>/var/log/cups</DT>
 <DD>The <CODE>access_log</CODE>, <CODE>error_log</CODE>, and <CODE>
- page_log</CODE> files reside here. </DD>
-<DT>/var/spool/cups </DT>
-<DD>This directory contains print job files. </DD>
+page_log</CODE> files reside here.</DD>
+<DT>/var/spool/cups</DT>
+<DD>This directory contains print job files.</DD>
 </DL>
 <H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1>
 <H2><A NAME="6_1">A.1 Terms</A></H2>
 <DL>
-<DT>C </DT>
-<DD>A computer language. </DD>
-<DT>parallel </DT>
-<DD>Sending or receiving data more than 1 bit at a time. </DD>
-<DT>pipe </DT>
-<DD>A one-way communications channel between two programs. </DD>
-<DT>serial </DT>
-<DD>Sending or receiving data 1 bit at a time. </DD>
-<DT>socket </DT>
-<DD>A two-way network communications channel. </DD>
+<DT>C</DT>
+<DD>A computer language.</DD>
+<DT>parallel</DT>
+<DD>Sending or receiving data more than 1 bit at a time.</DD>
+<DT>pipe</DT>
+<DD>A one-way communications channel between two programs.</DD>
+<DT>serial</DT>
+<DD>Sending or receiving data 1 bit at a time.</DD>
+<DT>socket</DT>
+<DD>A two-way network communications channel.</DD>
 </DL>
 <H2><A NAME="6_2">A.2 Acronyms</A></H2>
 <DL>
-<DT>ASCII </DT>
-<DD>American Standard Code for Information Interchange </DD>
-<DT>CUPS </DT>
-<DD>Common UNIX Printing System </DD>
-<DT>ESC/P </DT>
-<DD>EPSON Standard Code for Printers </DD>
-<DT>FTP </DT>
-<DD>File Transfer Protocol </DD>
-<DT>HP-GL </DT>
-<DD>Hewlett-Packard Graphics Language </DD>
-<DT>HP-PCL </DT>
-<DD>Hewlett-Packard Page Control Language </DD>
-<DT>HP-PJL </DT>
-<DD>Hewlett-Packard Printer Job Language </DD>
-<DT>IETF </DT>
-<DD>Internet Engineering Task Force </DD>
-<DT>IPP </DT>
-<DD>Internet Printing Protocol </DD>
-<DT>ISO </DT>
-<DD>International Standards Organization </DD>
-<DT>LPD </DT>
-<DD>Line Printer Daemon </DD>
-<DT>MIME </DT>
-<DD>Multimedia Internet Mail Exchange </DD>
-<DT>PPD </DT>
-<DD>PostScript Printer Description </DD>
-<DT>SMB </DT>
-<DD>Server Message Block </DD>
-<DT>TFTP </DT>
-<DD>Trivial File Transfer Protocol </DD>
+<DT>ASCII</DT>
+<DD>American Standard Code for Information Interchange</DD>
+<DT>CUPS</DT>
+<DD>Common UNIX Printing System</DD>
+<DT>ESC/P</DT>
+<DD>EPSON Standard Code for Printers</DD>
+<DT>FTP</DT>
+<DD>File Transfer Protocol</DD>
+<DT>HP-GL</DT>
+<DD>Hewlett-Packard Graphics Language</DD>
+<DT>HP-PCL</DT>
+<DD>Hewlett-Packard Page Control Language</DD>
+<DT>HP-PJL</DT>
+<DD>Hewlett-Packard Printer Job Language</DD>
+<DT>IETF</DT>
+<DD>Internet Engineering Task Force</DD>
+<DT>IPP</DT>
+<DD>Internet Printing Protocol</DD>
+<DT>ISO</DT>
+<DD>International Standards Organization</DD>
+<DT>LPD</DT>
+<DD>Line Printer Daemon</DD>
+<DT>MIME</DT>
+<DD>Multimedia Internet Mail Exchange</DD>
+<DT>PPD</DT>
+<DD>PostScript Printer Description</DD>
+<DT>SMB</DT>
+<DD>Server Message Block</DD>
+<DT>TFTP</DT>
+<DD>Trivial File Transfer Protocol</DD>
 </DL>
 </BODY>
 </HTML>
index 196e92f8a75a46184480fb1c95b335cc459fac2f..6c0add2ee729a8432359f83c1d7c44c3fda5d0f5 100644 (file)
Binary files a/doc/idd.pdf and b/doc/idd.pdf differ
index 413a99992b30e0dac744ed988c008ed5e052b23c..3f2b01d3a8d1bffb36df8b3909806320246f132a 100644 (file)
Binary files a/doc/ipp.pdf and b/doc/ipp.pdf differ
index 742fb1bb090463d55d8de9bb14e36a9bb92016e2..7e064b61819c34032c019f47acdf319ee44065c9 100644 (file)
@@ -134,8 +134,11 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <LI><A HREF="#FilterLimit">FilterLimit</A></LI>
 <LI><A HREF="#FontPath">FontPath</A></LI>
 <LI><A HREF="#Group">Group</A></LI>
+<LI><A HREF="#HideImplicitMembers">HideImplicitMembers</A></LI>
 <LI><A HREF="#HostNameLookups">HostNameLookups</A></LI>
 <LI><A HREF="#ImplicitClasses">ImplicitClasses</A></LI>
+<LI><A HREF="#ImplicitAnyClasses">ImplicitAnyClasses</A></LI>
+<LI><A HREF="#Include">Include</A></LI>
 <LI><A HREF="#KeepAlive">KeepAlive</A></LI>
 <LI><A HREF="#KeepAliveTimeout">KeepAliveTimeout</A></LI>
 <LI><A HREF="#Limit">Limit</A></LI>
@@ -493,6 +496,9 @@ File and directory names.</TD></TR>
 <A HREF="http://www.easysw.com/htmldoc">http://www.easysw.com/htmldoc</A>
 </PRE>
 </UL>
+<P>Finally, you'll need a <CODE>make</CODE> program that understands the
+ <CODE>include</CODE> directive - FreeBSD, NetBSD, and OpenBSD
+ developers should use the <CODE>gmake</CODE> program.</P>
 <H3><A NAME="COMPILING">Compiling CUPS</A></H3>
 <P>CUPS uses GNU autoconf to configure the makefiles and source code for
  your system. Type the following command to configure CUPS for your
@@ -548,6 +554,16 @@ CXXFLAGS</CODE>, and <CODE>LDFLAGS</CODE> environment variables prior to
 <A HREF="http://www.openssl.org">http://www.openssl.org</A>
 </PRE>
 </UL>
+<P>If the OpenSSL headers and libraries are not installed in the
+ standard directories, use the <CODE>--with-openssl-includes</CODE> and <CODE>
+--with-openssl-libs</CODE> options:</P>
+<UL>
+<PRE>
+./configure --enable-ssl \
+    --with-openssl-includes=/foo/bar/include \
+    --with-openssl-libs=/foo/bar/lib
+</PRE>
+</UL>
 <P>Once you have configured things, just type:</P>
 <UL>
 <PRE>
@@ -1068,14 +1084,17 @@ HREF="#CLIENT_SETUP"> Chapter 5, &quot;Client Setup&quot;</A> for more
 <LI><A HREF="#DefaultLanguage"><CODE>DefaultLanguage</CODE></A></LI>
 <LI><A HREF="#Deny"><CODE>Deny</CODE></A></LI>
 <LI><A HREF="#DocumentRoot"><CODE>DocumentRoot</CODE></A></LI>
-</TD><TD VALIGN="TOP"> &nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
 <LI><A HREF="#Encryption"><CODE>Encryption</CODE></A></LI>
 <LI><A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A></LI>
+</TD><TD VALIGN="TOP"> &nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
 <LI><A HREF="#FilterLimit"><CODE>FilterLimit</CODE></A></LI>
 <LI><A HREF="#FontPath"><CODE>FontPath</CODE></A></LI>
 <LI><A HREF="#Group"><CODE>Group</CODE></A></LI>
+<LI><A HREF="#HideImplicitMembers"><CODE>HideImplicitMembers</CODE></A></LI>
 <LI><A HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A></LI>
 <LI><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A></LI>
+<LI><A HREF="#ImplicitAnyClasses"><CODE>ImplicitAnyClasses</CODE></A></LI>
+<LI><A HREF="#Include"><CODE>Include</CODE></A></LI>
 <LI><A HREF="#KeepAliveTimeout"><CODE>KeepAliveTimeout</CODE></A></LI>
 <LI><A HREF="#KeepAlive"><CODE>KeepAlive</CODE></A></LI>
 <LI><A HREF="#Limit"><CODE>Limit</CODE></A></LI>
@@ -1091,8 +1110,8 @@ HREF="#CLIENT_SETUP"> Chapter 5, &quot;Client Setup&quot;</A> for more
 <LI><A HREF="#MaxLogSize"><CODE>MaxLogSize</CODE></A></LI>
 <LI><A HREF="#MaxRequestSize"><CODE>MaxRequestSize</CODE></A></LI>
 <LI><A HREF="#Order"><CODE>Order</CODE></A></LI>
-<LI><A HREF="#PageLog"><CODE>PageLog</CODE></A></LI>
 </TD><TD VALIGN="TOP"> &nbsp;&nbsp;&nbsp;</TD><TD VALIGN="TOP">
+<LI><A HREF="#PageLog"><CODE>PageLog</CODE></A></LI>
 <LI><A HREF="#Port"><CODE>Port</CODE></A></LI>
 <LI><A HREF="#PreserveJobFiles"><CODE>PreserveJobFiles</CODE></A></LI>
 <LI><A HREF="#PreserveJobHistory"><CODE>PreserveJobHistory</CODE></A></LI>
@@ -1753,6 +1772,23 @@ Group root
 system</CODE>, or <CODE>root</CODE> depending on the operating system.
 <!-- NEED 3in -->
 </P>
+<H3><A NAME="HideImplicitMembers">HideImplicitMembers</A></H3>
+<HR>
+<H4>Examples</H4>
+<UL>
+<PRE>
+HideImplicitMembers Yes
+HideImplicitMembers No
+</PRE>
+</UL>
+<H4>Description</H4>
+<P>The <CODE>HideImplicitMembers</CODE> directive controls whether the
+ individual printers in an implicit class are shown to the user. The
+ default is <CODE>No</CODE>.</P>
+<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A> must be
+ enabled for this directive to have any effect.</P>
+
+<!-- NEED 3in -->
 <H3><A NAME="HostNameLookups">HostNameLookups</A></H3>
 <HR>
 <H4>Examples</H4>
@@ -1792,6 +1828,39 @@ ImplicitClasses Off
  is turned <CODE>Off</CODE>.
 <!-- NEED 3in -->
 </P>
+<H3><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H3>
+<HR>
+<H4>Examples</H4>
+<UL>
+<PRE>
+ImplicitAnyClasses On
+ImplicitAnyClasses Off
+</PRE>
+</UL>
+<H4>Description</H4>
+<P>The <CODE>ImplicitAnyClasses</CODE> directive controls whether
+ implicit classes for local and remote printers are created with the
+ name <CODE>AnyPrinter</CODE>. The default setting is <CODE>Off</CODE>.</P>
+<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A> must be
+ enabled for this directive to have any effect.</P>
+
+<!-- NEED 3in -->
+<H3><A NAME="Include">Include</A></H3>
+<HR>
+<H4>Examples</H4>
+<UL>
+<PRE>
+Include filename
+Include /foo/bar/filename
+</PRE>
+</UL>
+<H4>Description</H4>
+<P>The <CODE>Include</CODE> directive includes the named file in the <CODE>
+cupsd.conf</CODE> file. If no leading path is provided, the file is
+ assumed to be relative to the<A HREF="#ServerRoot"> <CODE>ServerRoot</CODE>
+</A> directory.</P>
+
+<!-- NEED 3in -->
 <H3><A NAME="KeepAlive">KeepAlive</A></H3>
 <HR>
 <H4>Examples</H4>
@@ -3236,7 +3305,7 @@ smb://user:pass@server/sharename
  &quot;libcups.so&quot; files in the binary distributions.</P>
 <P>The GNU GPL applies to the remainder of the CUPS distribution,
  including the &quot;pstoraster&quot; filter which is based upon GNU Ghostscript
- 5.50 and the &quot;pdftops&quot; filter which is based upon Xpdf 0.90.</P>
+ 5.50 and the &quot;pdftops&quot; filter which is based upon Xpdf 0.92.</P>
 <P>For those not familiar with the GNU GPL, the license basically allows
  you to:</P>
 <UL>
@@ -3281,7 +3350,7 @@ smb://user:pass@server/sharename
 <BR> Fax: +1.415.492.9862
 <BR> EMail:<A HREF="mailto:info@arsoft.com"> info@arsoft.com</A></BLOCKQUOTE>
 </P>
-<P>The &quot;pdftops&quot; filter is based on the Xpdf 0.90 software. For binary
+<P>The &quot;pdftops&quot; filter is based on the Xpdf 0.92 software. For binary
  distribution licensing of this software, please contact:<BLOCKQUOTE>
  Derek B. Noonburg
 <BR> Email:<A HREF="mailto:derekn@foolabs.com"> derekn@foolabs.com</A>
index 811fd620a3891646c61f2a751d30c41b0fbd2054..805d4190a2f57e6b9a9f2337b7c1862b11805d03 100644 (file)
Binary files a/doc/sam.pdf and b/doc/sam.pdf differ
index d79a55bc17e627e31e4d870284e4f20dab047513..68457fba9500519ae928a52fa116015d8d27f3fb 100644 (file)
@@ -177,6 +177,11 @@ make changes you can get the HTMLDOC software from:
 <A HREF="http://www.easysw.com/htmldoc">http://www.easysw.com/htmldoc</A>
 </PRE></UL>
 
+<P>Finally, you'll need a <CODE>make</CODE> program that
+understands the <CODE>include</CODE> directive - FreeBSD,
+NetBSD, and OpenBSD developers should use the <CODE>gmake</CODE>
+program.
+
 <H3><A NAME="COMPILING">Compiling CUPS</A></H3>
 
 <P>CUPS uses GNU autoconf to configure the makefiles and source code
@@ -234,6 +239,16 @@ prior to running configure:
 <A HREF="http://www.openssl.org">http://www.openssl.org</A>
 </PRE></UL>
 
+<P>If the OpenSSL headers and libraries are not installed in the
+standard directories, use the <CODE>--with-openssl-includes</CODE>
+and <CODE>--with-openssl-libs</CODE> options:</P>
+
+<UL><PRE>
+./configure --enable-ssl \
+    --with-openssl-includes=/foo/bar/include \
+    --with-openssl-libs=/foo/bar/lib
+</PRE></UL>
+
 <P>Once you have configured things, just type:
 
 <UL><PRE>
@@ -857,6 +872,8 @@ determine how the server operates:
        <LI><A HREF="#DefaultLanguage"><CODE>DefaultLanguage</CODE></A>
        <LI><A HREF="#Deny"><CODE>Deny</CODE></A>
        <LI><A HREF="#DocumentRoot"><CODE>DocumentRoot</CODE></A>
+       <LI><A HREF="#Encryption"><CODE>Encryption</CODE></A>
+       <LI><A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
 
 </TD>
 <TD VALIGN="TOP">
@@ -864,13 +881,14 @@ determine how the server operates:
 </TD>
 <TD VALIGN="TOP">
 
-       <LI><A HREF="#Encryption"><CODE>Encryption</CODE></A>
-       <LI><A HREF="#ErrorLog"><CODE>ErrorLog</CODE></A>
        <LI><A HREF="#FilterLimit"><CODE>FilterLimit</CODE></A>
        <LI><A HREF="#FontPath"><CODE>FontPath</CODE></A>
        <LI><A HREF="#Group"><CODE>Group</CODE></A>
+       <LI><A HREF="#HideImplicitMembers"><CODE>HideImplicitMembers</CODE></A>
        <LI><A HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
        <LI><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
+       <LI><A HREF="#ImplicitAnyClasses"><CODE>ImplicitAnyClasses</CODE></A>
+       <LI><A HREF="#Include"><CODE>Include</CODE></A>
        <LI><A HREF="#KeepAliveTimeout"><CODE>KeepAliveTimeout</CODE></A>
        <LI><A HREF="#KeepAlive"><CODE>KeepAlive</CODE></A>
        <LI><A HREF="#Limit"><CODE>Limit</CODE></A>
@@ -886,7 +904,6 @@ determine how the server operates:
        <LI><A HREF="#MaxLogSize"><CODE>MaxLogSize</CODE></A>
        <LI><A HREF="#MaxRequestSize"><CODE>MaxRequestSize</CODE></A>
        <LI><A HREF="#Order"><CODE>Order</CODE></A>
-       <LI><A HREF="#PageLog"><CODE>PageLog</CODE></A>
 
 </TD>
 <TD VALIGN="TOP">
@@ -894,6 +911,7 @@ determine how the server operates:
 </TD>
 <TD VALIGN="TOP">
 
+       <LI><A HREF="#PageLog"><CODE>PageLog</CODE></A>
        <LI><A HREF="#Port"><CODE>Port</CODE></A>
        <LI><A HREF="#PreserveJobFiles"><CODE>PreserveJobFiles</CODE></A>
        <LI><A HREF="#PreserveJobHistory"><CODE>PreserveJobHistory</CODE></A>
@@ -1693,6 +1711,26 @@ filter and CGI programs run as. The default group is <CODE>sys</CODE>,
 <CODE>system</CODE>, or <CODE>root</CODE> depending on the operating
 system.
 
+<!-- NEED 3in -->
+<H3><A NAME="HideImplicitMembers">HideImplicitMembers</A></H3>
+<HR>
+
+<H4>Examples</H4>
+
+<UL><PRE>
+HideImplicitMembers Yes
+HideImplicitMembers No
+</PRE></UL>
+
+<H4>Description</H4>
+
+<P>The <CODE>HideImplicitMembers</CODE> directive controls
+whether the individual printers in an implicit class are shown
+to the user. The default is <CODE>No</CODE>.</P>
+
+<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
+must be enabled for this directive to have any effect.</P>
+
 <!-- NEED 3in -->
 <H3><A NAME="HostNameLookups">HostNameLookups</A></H3>
 <HR>
@@ -1739,6 +1777,45 @@ The default setting is <CODE>On</CODE> but is automatically turned
 <CODE>Off</CODE> if <A HREF="#Browsing"><CODE>Browsing</CODE></A> is
 turned <CODE>Off</CODE>.
 
+<!-- NEED 3in -->
+<H3><A NAME="ImplicitAnyClasses">ImplicitAnyClasses</A></H3>
+<HR>
+
+<H4>Examples</H4>
+
+<UL><PRE>
+ImplicitAnyClasses On
+ImplicitAnyClasses Off
+</PRE></UL>
+
+<H4>Description</H4>
+
+<P>The <CODE>ImplicitAnyClasses</CODE> directive controls
+whether implicit classes for local and remote printers are
+created with the name <CODE>AnyPrinter</CODE>. The default
+setting is <CODE>Off</CODE>.</P>
+
+<P><A HREF="#ImplicitClasses"><CODE>ImplicitClasses</CODE></A>
+must be enabled for this directive to have any effect.</P>
+
+<!-- NEED 3in -->
+<H3><A NAME="Include">Include</A></H3>
+<HR>
+
+<H4>Examples</H4>
+
+<UL><PRE>
+Include filename
+Include /foo/bar/filename
+</PRE></UL>
+
+<H4>Description</H4>
+
+<P>The <CODE>Include</CODE> directive includes the named file in
+the <CODE>cupsd.conf</CODE> file. If no leading path is
+provided, the file is assumed to be relative to the
+<A HREF="#ServerRoot"><CODE>ServerRoot</CODE></A> directory.</P>
+
 <!-- NEED 3in -->
 <H3><A NAME="KeepAlive">KeepAlive</A></H3>
 <HR>
index 2c9f95bf4026a5155b19d050366abbbdcda78242..5a665fb6be0ffa59654f81ab6968d40367ee1ef3 100644 (file)
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <HTML>
 <HEAD>
-<TITLE> CUPS Software Design Description</TITLE>
+<TITLE>CUPS Software Design Description</TITLE>
 <META NAME="author" CONTENT="Easy Software Products">
 <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved">
 <META NAME="docnumber" CONTENT="CUPS-SDD-1.1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
 <STYLE TYPE="text/css"><!--
-BODY { font-family: serif; font-size: 11.0pt }
-H1 { font-family: sans-serif; font-size: 20.0pt }
-H2 { font-family: sans-serif; font-size: 17.0pt }
-H3 { font-family: sans-serif; font-size: 14.0pt }
-H4 { font-family: sans-serif; font-size: 11.0pt }
-H5 { font-family: sans-serif; font-size: 9.0pt }
-H6 { font-family: sans-serif; font-size: 8.0pt }
-SUB { font-size: 8.0pt }
-SUP { font-size: 8.0pt }
-PRE { font-size: 9.0pt }
+BODY { font-family: serif }
+H1 { font-family: sans-serif }
+H2 { font-family: sans-serif }
+H3 { font-family: sans-serif }
+H4 { font-family: sans-serif }
+H5 { font-family: sans-serif }
+H6 { font-family: sans-serif }
+SUB { font-size: smaller }
+SUP { font-size: smaller }
+PRE { font-family: monospace }
 --></STYLE>
 </HEAD>
 <BODY>
-<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
-<H1> CUPS Software Design Description</H1></A><BR>
+<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
+<H1>CUPS Software Design Description</H1></A><BR>
 CUPS-SDD-1.1<BR>
 Easy Software Products<BR>
 Copyright 1997-2001, All Rights Reserved<BR>
@@ -138,459 +138,454 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <HR>
 <H1><A NAME="1">1 Scope</A></H1>
 <H2><A NAME="1_1">1.1 Identification</A></H2>
- This software design description document provides general information 
- on the architecture and coding of the Common UNIX Printing System 
- (&quot;CUPS&quot;) Version 1.1. 
+ This software design description document provides general information
+ on the architecture and coding of the Common UNIX Printing System
+ (&quot;CUPS&quot;) Version 1.1.
 <H2><A NAME="1_2">1.2 System Overview</A></H2>
-<P>CUPS provides a portable printing layer for UNIX&reg;-based operating 
-systems. It has been developed by <A HREF="http://www.easysw.com">Easy 
-Software Products</A> to promote a standard printing solution for all 
-UNIX vendors and users. CUPS provides the System V and Berkeley 
-command-line interfaces. </P>
-<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for 
-managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server 
-Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are 
-also supported with reduced functionality. CUPS adds network printer 
-browsing and PostScript Printer Description (&quot;PPD&quot;) based printing 
-options to support real-world printing under UNIX. </P>
-<P>CUPS also includes a customized version of GNU Ghostscript 
-(currently based off GNU Ghostscript 5.50) and an image file RIP that 
-are used to support non-PostScript printers. Sample drivers for HP and 
-EPSON printers are included that use these filters. </P>
+<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
+ systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
+ Software Products</A> to promote a standard printing solution for all
+ UNIX vendors and users. CUPS provides the System V and Berkeley
+ command-line interfaces.</P>
+<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
+ managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
+ Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
+ also supported with reduced functionality. CUPS adds network printer
+ browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
+ options to support real-world printing under UNIX.</P>
+<P>CUPS also includes a customized version of GNU Ghostscript (currently
+ based off GNU Ghostscript 5.50) and an image file RIP that are used to
+ support non-PostScript printers. Sample drivers for HP and EPSON
+ printers are included that use these filters.</P>
 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
- This software design description document is organized into the 
- following sections: 
+ This software design description document is organized into the
+ following sections:
 <UL>
-<LI>1 - Scope </LI>
-<LI>2 - References </LI>
-<LI>3 - Design Overview </LI>
-<LI>A - Glossary </LI>
+<LI>1 - Scope</LI>
+<LI>2 - References</LI>
+<LI>3 - Design Overview</LI>
+<LI>A - Glossary</LI>
 </UL>
 <H1><A NAME="2">2 References</A></H1>
 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
-<P>The following CUPS documentation is referenced by this document: </P>
+<P>The following CUPS documentation is referenced by this document:</P>
 <UL>
-<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
-<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
-<LI>CUPS-IPP-1.1: CUPS Implementation of IPP </LI>
-<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
-<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
-<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
-<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
-<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
-<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
-<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
+<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI>
+<LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI>
+<LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI>
+<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI>
+<LI>CUPS-SDD-1.1: CUPS Software Design Description</LI>
+<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI>
+<LI>CUPS-SSR-1.1: CUPS Software Security Report</LI>
+<LI>CUPS-STP-1.1: CUPS Software Test Plan</LI>
+<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI>
+<LI>CUPS-SVD-1.1: CUPS Software Version Description</LI>
 </UL>
 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
-<P>The following non-CUPS documents are referenced by this document: </P>
+<P>The following non-CUPS documents are referenced by this document:</P>
 <UL>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
-Adobe  PostScript Printer Description File Format Specification, 
Version 4.3.</A></LI>
+Adobe PostScript Printer Description File Format Specification, Version
+ 4.3.</A></LI>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
-Adobe  PostScript Language Reference, Third Edition.</A></LI>
-<LI>IPP: Job and Printer Set Operations </LI>
-<LI>IPP/1.1: Encoding and Transport </LI>
-<LI>IPP/1.1: Implementers Guide </LI>
-<LI>IPP/1.1: Model and Semantics </LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line 
-Printer Daemon Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design 
-Goals for an Internet Printing Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale 
-for the Structure of the Model and Protocol</A> for the Internet 
-Printing Protocol</LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping 
-between LPD and IPP Protocols</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext 
-Transfer Protocol -- HTTP/1.1</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP 
-Authentication: Basic and Digest Access</A> Authentication </LI>
+Adobe PostScript Language Reference, Third Edition.</A></LI>
+<LI>IPP: Job and Printer Set Operations</LI>
+<LI>IPP/1.1: Encoding and Transport</LI>
+<LI>IPP/1.1: Implementers Guide</LI>
+<LI>IPP/1.1: Model and Semantics</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
+ Daemon Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
+ for an Internet Printing Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
+ for the Structure of the Model and Protocol</A> for the Internet
+ Printing Protocol</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
+ between LPD and IPP Protocols</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
+ Transfer Protocol -- HTTP/1.1</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
+ Authentication: Basic and Digest Access</A> Authentication</LI>
 </UL>
 <H1><A NAME="3">3 Design Overview</A></H1>
- CUPS is composed of 9 software sub-systems that operate together to 
- perform common printing tasks: 
+ CUPS is composed of 9 software sub-systems that operate together to
+ perform common printing tasks:
 <UL>
-<LI>Backends </LI>
-<LI>Berkeley Commands </LI>
-<LI>CGI </LI>
-<LI>CUPS Application Programmers Interface </LI>
-<LI>CUPS Imaging Library </LI>
-<LI>Daemons </LI>
-<LI>Filters </LI>
-<LI>Scheduler </LI>
-<LI>System V Commands </LI>
+<LI>Backends</LI>
+<LI>Berkeley Commands</LI>
+<LI>CGI</LI>
+<LI>CUPS Application Programmers Interface</LI>
+<LI>CUPS Imaging Library</LI>
+<LI>Daemons</LI>
+<LI>Filters</LI>
+<LI>Scheduler</LI>
+<LI>System V Commands</LI>
 </UL>
 <H2><A NAME="3_1">3.1 Backends</A></H2>
- The backends implement communications over a number of different 
-interfaces. All backends are called with a common set of arguments: 
+ The backends implement communications over a number of different
+ interfaces. All backends are called with a common set of arguments:
 <UL>
-<LI>Device URI - the Uniform Resource Identifier for the output device 
- (e.g. <CODE>parallel:/dev/plp</CODE>, <CODE> ipp://hostname/resource</CODE>
-). </LI>
-<LI>Job Identifier - the job identifier for this job (integer). </LI>
-<LI>User Name - the user associated with this job (name string). </LI>
-<LI>Title - the title/job-name associated with this job (name string). </LI>
-<LI>Copies - the number of copies required (integer). </LI>
-<LI>Options - the options associated with this job (space separated 
- option strings). </LI>
-<LI>Filename (optional) - the file to print; if this option is not 
- specified, the backend must read the print file from the standard 
- input. </LI>
+<LI>Device URI - the Uniform Resource Identifier for the output device
+ (e.g. <CODE>parallel:/dev/plp</CODE>, <CODE>ipp://hostname/resource</CODE>
+).</LI>
+<LI>Job Identifier - the job identifier for this job (integer).</LI>
+<LI>User Name - the user associated with this job (name string).</LI>
+<LI>Title - the title/job-name associated with this job (name string).</LI>
+<LI>Copies - the number of copies required (integer).</LI>
+<LI>Options - the options associated with this job (space separated
+ option strings).</LI>
+<LI>Filename (optional) - the file to print; if this option is not
+ specified, the backend must read the print file from the standard
+ input.</LI>
 </UL>
-<P>Backends are named using the scheme of the URI, so a URI of 
-&quot;ipp://hostname/resource&quot; would be processed by the &quot;ipp&quot; backend. </P>
+<P>Backends are named using the scheme of the URI, so a URI of
+ &quot;ipp://hostname/resource&quot; would be processed by the &quot;ipp&quot; backend.</P>
 <H3><A NAME="3_1_1">3.1.1 ipp</A></H3>
-<P>The ipp backend sends the specified job to a network printer or host 
-using the Internet Printing Protocol.  The URI is as specified by the <CODE>
-printer-uri-supported</CODE> attribute from the printer or host. </P>
+<P>The ipp backend sends the specified job to a network printer or host
+ using the Internet Printing Protocol. The URI is as specified by the <CODE>
+printer-uri-supported</CODE> attribute from the printer or host.</P>
 <H3><A NAME="3_1_2">3.1.2 lpd</A></H3>
-<P>The lpd backend sends the specified job to a network printer or host 
-using the Line Printer Daemon protocol.  The URI is of the form: </P>
+<P>The lpd backend sends the specified job to a network printer or host
+ using the Line Printer Daemon protocol. The URI is of the form:</P>
 <UL>
 <PRE>lpd://hostname/queue
 </PRE>
 </UL>
 <H3><A NAME="3_1_3">3.1.3 parallel</A></H3>
-<P>The parallel backend sends the specified job to a local printer 
-connected via the specified parallel port device.  The URI is of the 
-form: </P>
+<P>The parallel backend sends the specified job to a local printer
+ connected via the specified parallel port device. The URI is of the
+ form:</P>
 <UL>
 <PRE>parallel:/dev/file
 </PRE>
 </UL>
 <H3><A NAME="3_1_4">3.1.4 serial</A></H3>
-<P>The serial backend sends the specified job to a local printer 
-connected via the specified serial port device.  The URI is of the 
-form: </P>
+<P>The serial backend sends the specified job to a local printer
+ connected via the specified serial port device. The URI is of the form:</P>
 <UL>
 <PRE>serial:/dev/file?option[+option+...]
 </PRE>
 </UL>
- The options can be any combination of the following: 
+ The options can be any combination of the following:
 <UL>
-<LI><CODE>baud=<I>rate</I></CODE> - Sets the baud rate for the device. </LI>
-<LI><CODE>bits=<I>7 or 8</I></CODE> - Sets the number of data bits. </LI>
-<LI><CODE>parity=<I>even</I></CODE> - Sets even parity checking. </LI>
-<LI><CODE>parity=<I>odd</I></CODE> - Sets odd parity checking. </LI>
-<LI><CODE>parity=<I>none</I></CODE> - Turns parity checking off. </LI>
-<LI><CODE>flow=dtrdsr<I></I></CODE> - Turns DTR/DSR (hardware) flow 
- control on. </LI>
-<LI><CODE>flow=hard<I></I></CODE> - Turns RTS/CTS  (hardware) flow 
-control on. </LI>
-<LI><CODE>flow=none<I></I></CODE> - Turns flow control off. </LI>
-<LI><CODE>flow=rtscts<I></I></CODE> - Turns RTS/CTS  (hardware) flow 
-control on. </LI>
-<LI><CODE>flow=xonxoff<I></I></CODE> - Turns XON/XOFF  (software) flow 
-control on. </LI>
+<LI><CODE>baud=<I>rate</I></CODE> - Sets the baud rate for the device.</LI>
+<LI><CODE>bits=<I>7 or 8</I></CODE> - Sets the number of data bits.</LI>
+<LI><CODE>parity=<I>even</I></CODE> - Sets even parity checking.</LI>
+<LI><CODE>parity=<I>odd</I></CODE> - Sets odd parity checking.</LI>
+<LI><CODE>parity=<I>none</I></CODE> - Turns parity checking off.</LI>
+<LI><CODE>flow=dtrdsr<I></I></CODE> - Turns DTR/DSR (hardware) flow
+ control on.</LI>
+<LI><CODE>flow=hard<I></I></CODE> - Turns RTS/CTS (hardware) flow
+ control on.</LI>
+<LI><CODE>flow=none<I></I></CODE> - Turns flow control off.</LI>
+<LI><CODE>flow=rtscts<I></I></CODE> - Turns RTS/CTS (hardware) flow
+ control on.</LI>
+<LI><CODE>flow=xonxoff<I></I></CODE> - Turns XON/XOFF (software) flow
+ control on.</LI>
 </UL>
 <H3><A NAME="3_1_5">3.1.5 socket</A></H3>
-<P>The socket backend sends the specified job to a network host using 
-the AppSocket protocol commonly used by Hewlett-Packard and Tektronix 
-printers.  The URI is of the form: </P>
+<P>The socket backend sends the specified job to a network host using
+ the AppSocket protocol commonly used by Hewlett-Packard and Tektronix
+ printers. The URI is of the form:</P>
 <UL>
 <PRE>socket://hostname[:port]
 </PRE>
 </UL>
- The default port number is 9100. 
+ The default port number is 9100.
 <H3><A NAME="3_1_6">3.1.6 usb</A></H3>
-<P>The usb backend sends the specified job to a local printer connected 
-via the specified usb port device.  The URI is of the form: </P>
+<P>The usb backend sends the specified job to a local printer connected
+ via the specified usb port device. The URI is of the form:</P>
 <UL>
 <PRE>usb:/dev/file
 </PRE>
 </UL>
 <H2><A NAME="3_2">3.2 Berkeley Commands</A></H2>
-<P>The Berkeley commands provide a simple command-line interface to 
-CUPS to submit and control print jobs. It is provided for compatibility 
-with existing software that is hardcoded to use the Berkeley commands. </P>
+<P>The Berkeley commands provide a simple command-line interface to CUPS
+ to submit and control print jobs. It is provided for compatibility with
+ existing software that is hardcoded to use the Berkeley commands.</P>
 <H3><A NAME="3_2_1">3.2.1 lpc</A></H3>
- The lpc command allows users and administrators to check the status 
-and control print queues.  The version provided with CUPS supports the 
-following commands: 
+ The lpc command allows users and administrators to check the status and
+ control print queues. The version provided with CUPS supports the
+ following commands:
 <UL>
-<LI>quit - Quits the lpc command. </LI>
-<LI>status - Shows the status of printers and jobs in the queue. </LI>
+<LI>quit - Quits the lpc command.</LI>
+<LI>status - Shows the status of printers and jobs in the queue.</LI>
 </UL>
 <H3><A NAME="3_2_2">3.2.2 lpq</A></H3>
-<P>The lpq command shows the current queue status. </P>
+<P>The lpq command shows the current queue status.</P>
 <H3><A NAME="3_2_3">3.2.3 lpr</A></H3>
-<P>The lpr command submits a job for printing.  The CUPS version of lpr 
-silently ignores the &quot;i&quot;, &quot;t&quot;, &quot;m&quot;, &quot;h&quot;, and &quot;s&quot; options. </P>
+<P>The lpr command submits a job for printing. The CUPS version of lpr
+ silently ignores the &quot;i&quot;, &quot;t&quot;, &quot;m&quot;, &quot;h&quot;, and &quot;s&quot; options.</P>
 <H3><A NAME="3_2_4">3.2.4 lprm</A></H3>
-<P>The lprm removes one or more print jobs. </P>
+<P>The lprm removes one or more print jobs.</P>
 <H2><A NAME="3_3">3.3 CGI</A></H2>
-<P>The Common Gateway Interface (CGI) programs provide a web-based 
-status interface to monitor the status of printers, classes, and jobs. 
-Each of the CGIs utilize HTML template files that can be customized to 
-provide alternate appearances. </P>
+<P>The Common Gateway Interface (CGI) programs provide a web-based
+ status interface to monitor the status of printers, classes, and jobs.
+ Each of the CGIs utilize HTML template files that can be customized to
+ provide alternate appearances.</P>
 <H3><A NAME="3_3_1">3.3.1 admin.cgi</A></H3>
-<P>The admin CGI provides administration interfaces for printers and 
-classes. The user can add, modify, delete, start, stop, and configure 
-printers and classes using &quot;wizard&quot; interfaces. </P>
+<P>The admin CGI provides administration interfaces for printers and
+ classes. The user can add, modify, delete, start, stop, and configure
+ printers and classes using &quot;wizard&quot; interfaces.</P>
 <H3><A NAME="3_3_2">3.3.2 classes.cgi</A></H3>
-<P>The classes CGI lists the available printer classes and any pending 
-jobs for the class.  The user can click on individual classes to limit 
-the display and click on jobs to see the job status. </P>
+<P>The classes CGI lists the available printer classes and any pending
+ jobs for the class. The user can click on individual classes to limit
+ the display and click on jobs to see the job status.</P>
 <H3><A NAME="3_3_3">3.3.3 jobs.cgi</A></H3>
-<P>The jobs CGI lists the queued print jobs in order of priority.  The 
-list can be limited by printer or job. </P>
+<P>The jobs CGI lists the queued print jobs in order of priority. The
+ list can be limited by printer or job.</P>
 <H3><A NAME="3_3_4">3.3.4 printers.cgi</A></H3>
-<P>The printers CGI lists the available printer queues and any pending 
-jobs for the printer.  The user can click on individual printers to 
-limit the display and click on jobs to see the job status. </P>
+<P>The printers CGI lists the available printer queues and any pending
+ jobs for the printer. The user can click on individual printers to
+ limit the display and click on jobs to see the job status.</P>
 <H2><A NAME="3_4">3.4 CUPS Application Programmers Interface</A></H2>
-<P>The CUPS Application Programmers Interface (&quot;API&quot;) provides common 
-convenience, HTTP, IPP, language, and PPD functions used by the CUPS 
-software. </P>
+<P>The CUPS Application Programmers Interface (&quot;API&quot;) provides common
+ convenience, HTTP, IPP, language, and PPD functions used by the CUPS
+ software.</P>
 <H3><A NAME="3_4_1">3.4.1 Convenience Functions</A></H3>
-<P>Convenience functions are provided to submit an IPP request, send a 
-print file, cancel a job, get a list of available printers, get a list 
-of available classes, get the default printer or class, get the default 
-server name, get the local username, and get a password string. </P>
+<P>Convenience functions are provided to submit an IPP request, send a
+ print file, cancel a job, get a list of available printers, get a list
+ of available classes, get the default printer or class, get the default
+ server name, get the local username, and get a password string.</P>
 <H3><A NAME="3_4_2">3.4.2 HTTP Functions</A></H3>
-<P>The HTTP functions provide functions to connect to HTTP servers, 
-issue requests, read data from a server, and write data to a server. </P>
+<P>The HTTP functions provide functions to connect to HTTP servers,
+ issue requests, read data from a server, and write data to a server.</P>
 <H3><A NAME="3_4_3">3.4.3 IPP Functions</A></H3>
-<P>The IPP function provide functions to manage IPP request data and 
-attributes, read IPP responses from a server, and write IPP requests to 
-a server. </P>
+<P>The IPP function provide functions to manage IPP request data and
+ attributes, read IPP responses from a server, and write IPP requests to
+ a server.</P>
 <H3><A NAME="3_4_4">3.4.4 Language Functions</A></H3>
-<P>The language functions provide a standard interface for retrieving 
-common textual messages for a particular locale and determining the 
-correct encoding (e.g. US ASCII, UTF-8, ISO-8859-1, etc.) </P>
+<P>The language functions provide a standard interface for retrieving
+ common textual messages for a particular locale and determining the
+ correct encoding (e.g. US ASCII, UTF-8, ISO-8859-1, etc.)</P>
 <H3><A NAME="3_4_5">3.4.5 PPD Functions</A></H3>
-<P>The PostScript Printer Description functions manage PPD files, 
-select options, check for option conflicts, and emit selected options 
-in the correct order. </P>
+<P>The PostScript Printer Description functions manage PPD files, select
+ options, check for option conflicts, and emit selected options in the
+ correct order.</P>
 <H2><A NAME="3_5">3.5 CUPS Imaging Library</A></H2>
-<P>The CUPS imaging library provides colorspace conversion, color 
-management, image management, scaling, image file, and raster functions 
-used by the CUPS raster filters. </P>
+<P>The CUPS imaging library provides colorspace conversion, color
+ management, image management, scaling, image file, and raster functions
+ used by the CUPS raster filters.</P>
 <H3><A NAME="3_5_1">3.5.1 Colorspace Conversion Functions</A></H3>
-<P>The colorspace conversion functions handle conversion of grayscale 
-and RGB colors to grayscale, RGB, K, CMY, CMYK, and CMYKcm colorspaces. </P>
+<P>The colorspace conversion functions handle conversion of grayscale
+ and RGB colors to grayscale, RGB, K, CMY, CMYK, and CMYKcm colorspaces.</P>
 <H3><A NAME="3_5_2">3.5.2 Color Management Functions</A></H3>
-<P>The color management functions handle gamut mapping and density 
-correction. These are integrated with the colorspace conversion 
-functions so that colorspace conversion and color management are 
-processed in a single step. </P>
+<P>The color management functions handle gamut mapping and density
+ correction. These are integrated with the colorspace conversion
+ functions so that colorspace conversion and color management are
+ processed in a single step.</P>
 <H3><A NAME="3_5_3">3.5.3 Image Management Functions</A></H3>
-<P>The image management functions manage a tiled image database that is 
-swapped to/from disk as needed. </P>
+<P>The image management functions manage a tiled image database that is
+ swapped to/from disk as needed.</P>
 <H3><A NAME="3_5_4">3.5.4 Scaling Functions</A></H3>
-<P>The scaling functions provide image scaling services using 
-nearest-neighbor sampling and bilinear interpolation as appropriate. </P>
+<P>The scaling functions provide image scaling services using
+ nearest-neighbor sampling and bilinear interpolation as appropriate.</P>
 <H3><A NAME="3_5_5">3.5.5 Image File Functions</A></H3>
-<P>The image file functions handle loading of all image file formats. </P>
+<P>The image file functions handle loading of all image file formats.</P>
 <H3><A NAME="3_5_6">3.5.6 Raster Functions</A></H3>
-<P>The raster functions manage streams of CUPS raster data (described 
-in the Interface Design Document) used by non-PostScript printer 
-drivers and raster filters. </P>
+<P>The raster functions manage streams of CUPS raster data (described in
+ the Interface Design Document) used by non-PostScript printer drivers
+ and raster filters.</P>
 <H2><A NAME="3_6">3.6 Daemons</A></H2>
-<P>The daemons provide additional network functions for the scheduler. 
-Currently only two daemons are provided with CUPS. </P>
+<P>The daemons provide additional network functions for the scheduler.
+ Currently only two daemons are provided with CUPS.</P>
 <H3><A NAME="3_6_1">3.6.1 Line Printer Daemon</A></H3>
-<P>The line printer daemon provides remote LPD client support and is 
-run by the <CODE>inetd(8)</CODE> daemon as needed. </P>
+<P>The line printer daemon provides remote LPD client support and is run
+ by the <CODE>inetd(8)</CODE> daemon as needed.</P>
 <H3><A NAME="3_6_2">3.6.2 Polling Daemon</A></H3>
-<P>The polling daemon is used to poll a remote server for a list of 
-available printers and provide it to the scheduler for addition. A 
-separate polling daemon is run by the scheduler for every remote system 
-listed for polling in the scheduler configuration file. </P>
+<P>The polling daemon is used to poll a remote server for a list of
+ available printers and provide it to the scheduler for addition. A
+ separate polling daemon is run by the scheduler for every remote system
+ listed for polling in the scheduler configuration file.</P>
 <H2><A NAME="3_7">3.7 Filters</A></H2>
-<P>The filters implement file conversion services for CUPS. All filters 
-are called with a common set of arguments: </P>
+<P>The filters implement file conversion services for CUPS. All filters
+ are called with a common set of arguments:</P>
 <UL>
-<LI>Printer name - the name of the destination printer (name string). </LI>
-<LI>Job Identifier - the job identifier for this job (integer). </LI>
-<LI>User Name - the user associated with this job (name string). </LI>
-<LI>Title - the title/job-name associated with this job (name string). </LI>
-<LI>Copies - the number of copies required (integer). </LI>
-<LI>Options - the options associated with this job (space separated 
- option strings). </LI>
-<LI>Filename (optional) - the file to print; if this option is not 
- specified, the filter must read the input file from the standard 
- input. </LI>
+<LI>Printer name - the name of the destination printer (name string).</LI>
+<LI>Job Identifier - the job identifier for this job (integer).</LI>
+<LI>User Name - the user associated with this job (name string).</LI>
+<LI>Title - the title/job-name associated with this job (name string).</LI>
+<LI>Copies - the number of copies required (integer).</LI>
+<LI>Options - the options associated with this job (space separated
+ option strings).</LI>
+<LI>Filename (optional) - the file to print; if this option is not
+ specified, the filter must read the input file from the standard input.</LI>
 </UL>
-<P>Filters are added to the MIME conversion data file and implement all 
-necessary conversions from one file type to another. </P>
+<P>Filters are added to the MIME conversion data file and implement all
+ necessary conversions from one file type to another.</P>
 <H3><A NAME="3_7_1">3.7.1 hpgltops</A></H3>
-<P>The hpgltops filter converts HP-GL/2 files into PostScript. </P>
+<P>The hpgltops filter converts HP-GL/2 files into PostScript.</P>
 <H3><A NAME="3_7_2">3.7.2 imagetops</A></H3>
-<P>The imagetops filter converts image files into PostScript. </P>
+<P>The imagetops filter converts image files into PostScript.</P>
 <H3><A NAME="3_7_3">3.7.3 imagetoraster</A></H3>
-<P>The imagetoraster filter converts image files into CUPS raster data. </P>
+<P>The imagetoraster filter converts image files into CUPS raster data.</P>
 <H3><A NAME="3_7_4">3.7.4 pdftops</A></H3>
-<P>The pdftops filter converts PDF files into PostScript. </P>
+<P>The pdftops filter converts PDF files into PostScript.</P>
 <H3><A NAME="3_7_5">3.7.5 pstops</A></H3>
-<P>The pstops filter inserts printer-specific commands from PPD files 
-and performs page filtering as requested by the user. </P>
+<P>The pstops filter inserts printer-specific commands from PPD files
+ and performs page filtering as requested by the user.</P>
 <H3><A NAME="3_7_6">3.7.6 pstoraster</A></H3>
-<P>The pstoraster filter converts PostScript program data into CUPS 
-raster data. </P>
+<P>The pstoraster filter converts PostScript program data into CUPS
+ raster data.</P>
 <H3><A NAME="3_7_7">3.7.7 rastertoepson</A></H3>
-<P>The rastertoepson filter handles converting CUPS raster data to 
-ESC/P and supports both color and black-and-white printers. </P>
+<P>The rastertoepson filter handles converting CUPS raster data to ESC/P
+ and supports both color and black-and-white printers.</P>
 <H3><A NAME="3_7_8">3.7.8 rastertohp</A></H3>
-<P>The rastertohp filter handles converting CUPS raster data to HP-PCL 
-and supports both color and black-and-white printers. </P>
+<P>The rastertohp filter handles converting CUPS raster data to HP-PCL
+ and supports both color and black-and-white printers.</P>
 <H3><A NAME="3_7_9">3.7.9 texttops</A></H3>
-<P>The texttops filter converts text files into PostScript. </P>
+<P>The texttops filter converts text files into PostScript.</P>
 <H2><A NAME="3_8">3.8 Scheduler</A></H2>
-<P>The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that 
-manages the printers, classes, and jobs in the system.  It also handles 
-a simple broadcast-based directory service so that remote print queues 
-and classes can be accessed transparently from the local system. </P>
+<P>The scheduler is a fully-functional HTTP/1.1 and IPP/1.1 server that
+ manages the printers, classes, and jobs in the system. It also handles
+ a simple broadcast-based directory service so that remote print queues
+ and classes can be accessed transparently from the local system.</P>
 <H3><A NAME="3_8_1">3.8.1 Authorization</A></H3>
-<P>The authorization module is responsible for performing access 
-control and authentication for all HTTP and IPP requests entering the 
-system. </P>
+<P>The authorization module is responsible for performing access control
+ and authentication for all HTTP and IPP requests entering the system.</P>
 <H3><A NAME="3_8_2">3.8.2 Classes</A></H3>
-<P>The classes module is responsible for managing printer classes in 
-the system. Each class is a collection of local and/or remote printers. 
- The classes module also reads and writes the classes configuration 
-file. </P>
+<P>The classes module is responsible for managing printer classes in the
+ system. Each class is a collection of local and/or remote printers. The
+ classes module also reads and writes the classes configuration file.</P>
 <H3><A NAME="3_8_3">3.8.3 Client</A></H3>
-<P>The client module is responsible for all HTTP client communications. 
- It handles listening on selected interfaces, accepting connections 
-from prospective clients, processing incoming HTTP requests, and 
-sending HTTP responses to those requests.  The client module also is 
-responsible for executing the external CGI programs as needed to 
-support web-based printer, class, and job status monitoring and 
-administration. </P>
-<P>Once authorized, all IPP requests are sent to the IPP module. </P>
+<P>The client module is responsible for all HTTP client communications.
+ It handles listening on selected interfaces, accepting connections from
+ prospective clients, processing incoming HTTP requests, and sending
+ HTTP responses to those requests. The client module also is responsible
+ for executing the external CGI programs as needed to support web-based
+ printer, class, and job status monitoring and administration.</P>
+<P>Once authorized, all IPP requests are sent to the IPP module.</P>
 <H3><A NAME="3_8_4">3.8.4 Configuration</A></H3>
-<P>The configuration module is responsible for reading the CUPS 
-configuration file and initializing the appropriate data structures and 
-values.  The configuration module also stops CUPS services before 
-reading the configuration file and restarts them after the 
-configuration file has been read. </P>
+<P>The configuration module is responsible for reading the CUPS
+ configuration file and initializing the appropriate data structures and
+ values. The configuration module also stops CUPS services before
+ reading the configuration file and restarts them after the
+ configuration file has been read.</P>
 <H3><A NAME="3_8_5">3.8.5 Devices</A></H3>
-<P>The devices module is responsible for managing the list of available 
-devices for the CUPS-Get-Devices operation. </P>
+<P>The devices module is responsible for managing the list of available
+ devices for the CUPS-Get-Devices operation.</P>
 <H3><A NAME="3_8_6">3.8.6 Directory Services</A></H3>
-<P>The directory services module sends and recieves printer state 
-information over a broadcast socket.  Remote printers and classes are 
-automatically added to or removed from the local printer and class 
-lists as needed. </P>
-<P>The directory services module can only recieve printer state 
-information over a single UDP port, however it can broadcast to 
-multiple addresses and ports as needed. </P>
+<P>The directory services module sends and recieves printer state
+ information over a broadcast socket. Remote printers and classes are
+ automatically added to or removed from the local printer and class
+ lists as needed.</P>
+<P>The directory services module can only recieve printer state
+ information over a single UDP port, however it can broadcast to
+ multiple addresses and ports as needed.</P>
 <H3><A NAME="3_8_7">3.8.7 IPP</A></H3>
-<P>The IPP module handles IPP requests and acts accordingly.  URI 
-validation is also performed here, as a client can post IPP data to any 
-URI on the server which might sidestep the access control or 
-authentication of the HTTP server. </P>
+<P>The IPP module handles IPP requests and acts accordingly. URI
+ validation is also performed here, as a client can post IPP data to any
+ URI on the server which might sidestep the access control or
+ authentication of the HTTP server.</P>
 <H3><A NAME="3_8_8">3.8.8 Jobs</A></H3>
-<P>The jobs module manages print jobs, starts filter and backend 
-processes for jobs to be printed, and monitors status messages from 
-those filters and backends. </P>
+<P>The jobs module manages print jobs, starts filter and backend
+ processes for jobs to be printed, and monitors status messages from
+ those filters and backends.</P>
 <H3><A NAME="3_8_9">3.8.9 Logging</A></H3>
-<P>The logging module manages the access, error, and page log files 
-that are generated by the scheduler. </P>
+<P>The logging module manages the access, error, and page log files that
+ are generated by the scheduler.</P>
 <H3><A NAME="3_8_10">3.8.10 Main</A></H3>
-<P>The main module is responsible for timing out and dispatching input 
-and output for client connections.  It also watches for incoming <CODE>
-SIGHUP</CODE> and <CODE>SIGCHLD</CODE> signals, reloads the server 
-configuration files as needed, and handles child process errors and 
-exits. </P>
+<P>The main module is responsible for timing out and dispatching input
+ and output for client connections. It also watches for incoming <CODE>
+SIGHUP</CODE> and <CODE>SIGCHLD</CODE> signals, reloads the server
+ configuration files as needed, and handles child process errors and
+ exits.</P>
 <H3><A NAME="3_8_11">3.8.11 MIME</A></H3>
-<P>The Multimedia Internet Mail Exchange module manages a MIME type and 
-conversion database that supports file typing by extension and content 
-and least-cost file filtering from a source to a destination file type. </P>
+<P>The Multimedia Internet Mail Exchange module manages a MIME type and
+ conversion database that supports file typing by extension and content
+ and least-cost file filtering from a source to a destination file type.</P>
 <H3><A NAME="3_8_12">3.8.12 PPDs</A></H3>
-<P>The PPDs module is responsible for managing the list of available 
-PPD files for the CUPS-Get-PPDs operation. </P>
+<P>The PPDs module is responsible for managing the list of available PPD
+ files for the CUPS-Get-PPDs operation.</P>
 <H3><A NAME="3_8_13">3.8.13 Printers</A></H3>
-<P>The printers module is responsible for managing printers and PPD 
-files in the system. The printers module also reads and writes the 
-printers configuration file. </P>
+<P>The printers module is responsible for managing printers and PPD
+ files in the system. The printers module also reads and writes the
+ printers configuration file.</P>
 <H2><A NAME="3_9">3.9 System V Commands</A></H2>
-<P>The System V commands provide a robust command-line interface to 
-CUPS to submit and control printers and jobs. </P>
+<P>The System V commands provide a robust command-line interface to CUPS
+ to submit and control printers and jobs.</P>
 <H3><A NAME="3_9_1">3.9.1 accept</A></H3>
-<P>The accept command tells the scheduler to accept new jobs for 
-specific printers. </P>
+<P>The accept command tells the scheduler to accept new jobs for
+ specific printers.</P>
 <H3><A NAME="3_9_2">3.9.2 cancel</A></H3>
-<P>The cancel command tells the scheduler to cancel one or more jobs 
-that are queued for printing. </P>
+<P>The cancel command tells the scheduler to cancel one or more jobs
+ that are queued for printing.</P>
 <H3><A NAME="3_9_3">3.9.3 disable</A></H3>
-<P>The disable command tells the scheduler to stop printing jobs on the 
-specified printers. </P>
+<P>The disable command tells the scheduler to stop printing jobs on the
+ specified printers.</P>
 <H3><A NAME="3_9_4">3.9.4 enable</A></H3>
-<P>The enable command tells the scheduler to start printing jobs on the 
-specified printers. </P>
+<P>The enable command tells the scheduler to start printing jobs on the
+ specified printers.</P>
 <H3><A NAME="3_9_5">3.9.5 lp</A></H3>
-<P>The lp command submits submits files for printing.  Unlike the 
-standard System V lp command, a single CUPS lp command will generate a 
-separate job ID for each file that is printed. Also, the Solaris &quot;f&quot;, 
-&quot;H&quot;, &quot;P&quot;, &quot;S&quot;, and &quot;y&quot; options are silently ignored. </P>
+<P>The lp command submits submits files for printing. Unlike the
+ standard System V lp command, a single CUPS lp command will generate a
+ separate job ID for each file that is printed. Also, the Solaris &quot;f&quot;,
+ &quot;H&quot;, &quot;P&quot;, &quot;S&quot;, and &quot;y&quot; options are silently ignored.</P>
 <H3><A NAME="3_9_6">3.9.6 lpadmin</A></H3>
-<P>The lpadmin command manages printer queues and classes.  The Solaris 
-&quot;A&quot;, &quot;F&quot;, &quot;I&quot;, &quot;M&quot;, &quot;P&quot;, &quot;Q&quot;, &quot;S&quot;, &quot;T&quot;, &quot;U&quot;, &quot;W&quot;, &quot;f&quot;, &quot;l&quot;, &quot;m&quot;, &quot;o&quot;, 
-&quot;s&quot;, &quot;t&quot;, and &quot;u&quot; options are not supported, and new options &quot;P&quot; (PPD 
-file) and &quot;E&quot; (enable and accept) are provided to configure 
-CUPS-specific features. </P>
+<P>The lpadmin command manages printer queues and classes. The Solaris
+ &quot;A&quot;, &quot;F&quot;, &quot;I&quot;, &quot;M&quot;, &quot;P&quot;, &quot;Q&quot;, &quot;S&quot;, &quot;T&quot;, &quot;U&quot;, &quot;W&quot;, &quot;f&quot;, &quot;l&quot;, &quot;m&quot;, &quot;o&quot;,
+ &quot;s&quot;, &quot;t&quot;, and &quot;u&quot; options are not supported, and new options &quot;P&quot; (PPD
+ file) and &quot;E&quot; (enable and accept) are provided to configure
+ CUPS-specific features.</P>
 <H3><A NAME="3_9_7">3.9.7 lpinfo</A></H3>
-<P>The lpinfo command lists the available PPD files or devices as 
-selected by the user. </P>
+<P>The lpinfo command lists the available PPD files or devices as
+ selected by the user.</P>
 <H3><A NAME="3_9_8">3.9.8 lpmove</A></H3>
-<P>The lpmove command moves a print job to a new destination. </P>
+<P>The lpmove command moves a print job to a new destination.</P>
 <H3><A NAME="3_9_9">3.9.9 lpoptions</A></H3>
-<P>The lpoptions command manages user-defined printers and options. </P>
+<P>The lpoptions command manages user-defined printers and options.</P>
 <H3><A NAME="3_9_10">3.9.10 lpstat</A></H3>
-<P>The lpstat command lists printers, classes, and jobs as requested by 
-the user. </P>
+<P>The lpstat command lists printers, classes, and jobs as requested by
+ the user.</P>
 <H3><A NAME="3_9_11">3.9.11 reject</A></H3>
-<P>The reject command tells the scheduler not to accept new jobs for 
-specific printers. </P>
+<P>The reject command tells the scheduler not to accept new jobs for
+ specific printers.</P>
 <H1 TYPE="A" VALUE="1"><A NAME="4">A Glossary</A></H1>
 <H2><A NAME="4_1">A.1 Terms</A></H2>
 <DL>
-<DT>C </DT>
-<DD>A computer language. </DD>
-<DT>parallel </DT>
-<DD>Sending or receiving data more than 1 bit at a time. </DD>
-<DT>pipe </DT>
-<DD>A one-way communications channel between two programs. </DD>
-<DT>serial </DT>
-<DD>Sending or receiving data 1 bit at a time. </DD>
-<DT>socket </DT>
-<DD>A two-way network communications channel. </DD>
+<DT>C</DT>
+<DD>A computer language.</DD>
+<DT>parallel</DT>
+<DD>Sending or receiving data more than 1 bit at a time.</DD>
+<DT>pipe</DT>
+<DD>A one-way communications channel between two programs.</DD>
+<DT>serial</DT>
+<DD>Sending or receiving data 1 bit at a time.</DD>
+<DT>socket</DT>
+<DD>A two-way network communications channel.</DD>
 </DL>
 <H2><A NAME="4_2">A.2 Acronyms</A></H2>
 <DL>
-<DT>ASCII </DT>
-<DD>American Standard Code for Information Interchange </DD>
-<DT>CUPS </DT>
-<DD>Common UNIX Printing System </DD>
-<DT>ESC/P </DT>
-<DD>EPSON Standard Code for Printers </DD>
-<DT>FTP </DT>
-<DD>File Transfer Protocol </DD>
-<DT>HP-GL </DT>
-<DD>Hewlett-Packard Graphics Language </DD>
-<DT>HP-PCL </DT>
-<DD>Hewlett-Packard Page Control Language </DD>
-<DT>HP-PJL </DT>
-<DD>Hewlett-Packard Printer Job Language </DD>
-<DT>IETF </DT>
-<DD>Internet Engineering Task Force </DD>
-<DT>IPP </DT>
-<DD>Internet Printing Protocol </DD>
-<DT>ISO </DT>
-<DD>International Standards Organization </DD>
-<DT>LPD </DT>
-<DD>Line Printer Daemon </DD>
-<DT>MIME </DT>
-<DD>Multimedia Internet Mail Exchange </DD>
-<DT>PPD </DT>
-<DD>PostScript Printer Description </DD>
-<DT>SMB </DT>
-<DD>Server Message Block </DD>
-<DT>TFTP </DT>
-<DD>Trivial File Transfer Protocol </DD>
+<DT>ASCII</DT>
+<DD>American Standard Code for Information Interchange</DD>
+<DT>CUPS</DT>
+<DD>Common UNIX Printing System</DD>
+<DT>ESC/P</DT>
+<DD>EPSON Standard Code for Printers</DD>
+<DT>FTP</DT>
+<DD>File Transfer Protocol</DD>
+<DT>HP-GL</DT>
+<DD>Hewlett-Packard Graphics Language</DD>
+<DT>HP-PCL</DT>
+<DD>Hewlett-Packard Page Control Language</DD>
+<DT>HP-PJL</DT>
+<DD>Hewlett-Packard Printer Job Language</DD>
+<DT>IETF</DT>
+<DD>Internet Engineering Task Force</DD>
+<DT>IPP</DT>
+<DD>Internet Printing Protocol</DD>
+<DT>ISO</DT>
+<DD>International Standards Organization</DD>
+<DT>LPD</DT>
+<DD>Line Printer Daemon</DD>
+<DT>MIME</DT>
+<DD>Multimedia Internet Mail Exchange</DD>
+<DT>PPD</DT>
+<DD>PostScript Printer Description</DD>
+<DT>SMB</DT>
+<DD>Server Message Block</DD>
+<DT>TFTP</DT>
+<DD>Trivial File Transfer Protocol</DD>
 </DL>
 </BODY>
 </HTML>
index 00999ab3d6535376c3ab32c14d5449fa6a03f559..30b2921ef5d0b673e1391124725ed384d48a11c3 100644 (file)
Binary files a/doc/sdd.pdf and b/doc/sdd.pdf differ
index c3669e1e537900ff3290f502f185921b8e1ed0da..4a25bae45796aded51c96ba470756da87d684f31 100644 (file)
@@ -2519,7 +2519,7 @@ while (nbytes &gt; 0)
  &quot;libcups.so&quot; files in the binary distributions.</P>
 <P>The GNU GPL applies to the remainder of the CUPS distribution,
  including the &quot;pstoraster&quot; filter which is based upon GNU Ghostscript
- 5.50 and the &quot;pdftops&quot; filter which is based upon Xpdf 0.90.</P>
+ 5.50 and the &quot;pdftops&quot; filter which is based upon Xpdf 0.92.</P>
 <P>For those not familiar with the GNU GPL, the license basically allows
  you to:</P>
 <UL>
@@ -2564,7 +2564,7 @@ while (nbytes &gt; 0)
 <BR> Fax: +1.415.492.9862
 <BR> EMail:<A HREF="mailto:info@arsoft.com"> info@arsoft.com</A></BLOCKQUOTE>
 </P>
-<P>The &quot;pdftops&quot; filter is based on the Xpdf 0.90 software. For binary
+<P>The &quot;pdftops&quot; filter is based on the Xpdf 0.92 software. For binary
  distribution licensing of this software, please contact:<BLOCKQUOTE>
  Derek B. Noonburg
 <BR> Email:<A HREF="mailto:derekn@foolabs.com"> derekn@foolabs.com</A>
index a4d02d7f3b845314fb821f254d68a184eb7ec78e..4b6cd16054fbf094d34db981b1a6199cf3735af0 100644 (file)
Binary files a/doc/spm.pdf and b/doc/spm.pdf differ
index 3a320e8fe7d0f92eb7c847ad42bcf4c478fc10e6..5845b01a5fbb738ae1f4b9a1248bac0e5a8bd255 100644 (file)
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <HTML>
 <HEAD>
-<TITLE> CUPS Software Performance Specification</TITLE>
+<TITLE>CUPS Software Performance Specification</TITLE>
 <META NAME="author" CONTENT="Easy Software Products">
 <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved">
 <META NAME="docnumber" CONTENT="CUPS-SPS-1.1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
 <STYLE TYPE="text/css"><!--
-BODY { font-family: serif; font-size: 11.0pt }
-H1 { font-family: sans-serif; font-size: 20.0pt }
-H2 { font-family: sans-serif; font-size: 17.0pt }
-H3 { font-family: sans-serif; font-size: 14.0pt }
-H4 { font-family: sans-serif; font-size: 11.0pt }
-H5 { font-family: sans-serif; font-size: 9.0pt }
-H6 { font-family: sans-serif; font-size: 8.0pt }
-SUB { font-size: 8.0pt }
-SUP { font-size: 8.0pt }
-PRE { font-size: 9.0pt }
+BODY { font-family: serif }
+H1 { font-family: sans-serif }
+H2 { font-family: sans-serif }
+H3 { font-family: sans-serif }
+H4 { font-family: sans-serif }
+H5 { font-family: sans-serif }
+H6 { font-family: sans-serif }
+SUB { font-size: smaller }
+SUP { font-size: smaller }
+PRE { font-family: monospace }
 --></STYLE>
 </HEAD>
 <BODY>
-<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
-<H1> CUPS Software Performance Specification</H1></A><BR>
+<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
+<H1>CUPS Software Performance Specification</H1></A><BR>
 CUPS-SPS-1.1<BR>
 Easy Software Products<BR>
 Copyright 1997-2001, All Rights Reserved<BR>
@@ -52,30 +52,30 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <HR>
 <H1><A NAME="1">1 Scope</A></H1>
 <H2><A NAME="1_1">1.1 Identification</A></H2>
-<P>This software performance specification provides an analysis of the 
-memory, disk, and processor utilitization of each program in the Common 
-UNIX Printing System (&quot;CUPS&quot;) Version 1.1.</P>
-<P>For the purposes of comparison, all figures are for the Linux Intel 
-platform. Memory utilization on other platforms should be similar. </P>
+<P>This software performance specification provides an analysis of the
+ memory, disk, and processor utilitization of each program in the Common
+ UNIX Printing System (&quot;CUPS&quot;) Version 1.1.</P>
+<P>For the purposes of comparison, all figures are for the Linux Intel
+ platform. Memory utilization on other platforms should be similar.</P>
 <H2><A NAME="1_2">1.2 System Overview</A></H2>
-<P>CUPS provides a portable printing layer for UNIX&reg;-based operating 
-systems. It has been developed by <A HREF="http://www.easysw.com">Easy 
-Software Products</A> to promote a standard printing solution for all 
-UNIX vendors and users. CUPS provides the System V and Berkeley 
-command-line interfaces. </P>
-<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for 
-managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server 
-Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are 
-also supported with reduced functionality. CUPS adds network printer 
-browsing and PostScript Printer Description (&quot;PPD&quot;) based printing 
-options to support real-world printing under UNIX. </P>
-<P>CUPS also includes a customized version of GNU Ghostscript 
-(currently based off GNU Ghostscript 5.50) and an image file RIP that 
-are used to support non-PostScript printers. Sample drivers for HP and 
-EPSON printers are included that use these filters. </P>
+<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
+ systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
+ Software Products</A> to promote a standard printing solution for all
+ UNIX vendors and users. CUPS provides the System V and Berkeley
+ command-line interfaces.</P>
+<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
+ managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
+ Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
+ also supported with reduced functionality. CUPS adds network printer
+ browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
+ options to support real-world printing under UNIX.</P>
+<P>CUPS also includes a customized version of GNU Ghostscript (currently
+ based off GNU Ghostscript 5.50) and an image file RIP that are used to
+ support non-PostScript printers. Sample drivers for HP and EPSON
+ printers are included that use these filters.</P>
 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
-<P>This software performance specification is organized into the 
-following sections:</P>
+<P>This software performance specification is organized into the
+ following sections:</P>
 <UL>
 <LI>1 - Scope</LI>
 <LI>2 - References</LI>
@@ -85,72 +85,72 @@ following sections:</P>
 </UL>
 <H1><A NAME="2">2 References</A></H1>
 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
-<P>The following CUPS documentation is referenced by this document: </P>
+<P>The following CUPS documentation is referenced by this document:</P>
 <UL>
-<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
-<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
-<LI>CUPS-IPP-1.1: CUPS Implementation of IPP </LI>
-<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
-<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
-<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
-<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
-<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
-<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
-<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
+<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI>
+<LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI>
+<LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI>
+<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI>
+<LI>CUPS-SDD-1.1: CUPS Software Design Description</LI>
+<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI>
+<LI>CUPS-SSR-1.1: CUPS Software Security Report</LI>
+<LI>CUPS-STP-1.1: CUPS Software Test Plan</LI>
+<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI>
+<LI>CUPS-SVD-1.1: CUPS Software Version Description</LI>
 </UL>
 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
-<P>The following non-CUPS documents are referenced by this document: </P>
+<P>The following non-CUPS documents are referenced by this document:</P>
 <UL>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
-Adobe  PostScript Printer Description File Format Specification, 
Version 4.3.</A></LI>
+Adobe PostScript Printer Description File Format Specification, Version
+ 4.3.</A></LI>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
-Adobe  PostScript Language Reference, Third Edition.</A></LI>
-<LI>IPP: Job and Printer Set Operations </LI>
-<LI>IPP/1.1: Encoding and Transport </LI>
-<LI>IPP/1.1: Implementers Guide </LI>
-<LI>IPP/1.1: Model and Semantics </LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line 
-Printer Daemon Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design 
-Goals for an Internet Printing Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale 
-for the Structure of the Model and Protocol</A> for the Internet 
-Printing Protocol</LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping 
-between LPD and IPP Protocols</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext 
-Transfer Protocol -- HTTP/1.1</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP 
-Authentication: Basic and Digest Access</A> Authentication </LI>
+Adobe PostScript Language Reference, Third Edition.</A></LI>
+<LI>IPP: Job and Printer Set Operations</LI>
+<LI>IPP/1.1: Encoding and Transport</LI>
+<LI>IPP/1.1: Implementers Guide</LI>
+<LI>IPP/1.1: Model and Semantics</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
+ Daemon Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
+ for an Internet Printing Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
+ for the Structure of the Model and Protocol</A> for the Internet
+ Printing Protocol</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
+ between LPD and IPP Protocols</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
+ Transfer Protocol -- HTTP/1.1</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
+ Authentication: Basic and Digest Access</A> Authentication</LI>
 </UL>
 <H1><A NAME="3">3 Programs</A></H1>
-<P>The following table describes the average memory, disk, and CPU 
-usage of each program in CUPS. </P>
-<P>The base memory column shows the initial memory requirements for 
-each program, including any shared libraries that are provided by CUPS. </P>
-<P>The max memory column shows the maximum amount of memory that will 
-be used by the program based upon the default configuration settings 
-supplied with CUPS. </P>
-<P>The temp files column indicates whether any temporary files are 
-created. </P>
-<P>The CPU usage column specifies a relative CPU usage by the program 
-under normal conditions, either low, medium, or high.  Low usage 
-indicates that the program will never use more than 33% of the 
-available CPU time. Medium usage indicates the program will use as much 
-as 66% of the available CPU time. High usage indicates the program uses 
-66% or more of the available CPU time. 
+<P>The following table describes the average memory, disk, and CPU usage
+ of each program in CUPS.</P>
+<P>The base memory column shows the initial memory requirements for each
+ program, including any shared libraries that are provided by CUPS.</P>
+<P>The max memory column shows the maximum amount of memory that will be
+ used by the program based upon the default configuration settings
+ supplied with CUPS.</P>
+<P>The temp files column indicates whether any temporary files are
+ created.</P>
+<P>The CPU usage column specifies a relative CPU usage by the program
+ under normal conditions, either low, medium, or high. Low usage
+ indicates that the program will never use more than 33% of the
+ available CPU time. Medium usage indicates the program will use as much
+ as 66% of the available CPU time. High usage indicates the program uses
+ 66% or more of the available CPU time.
 <CENTER>
 <TABLE BORDER="1" WIDTH="80%">
 <TR><TH COLSPAN="3">Backends</TH></TR>
-<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp 
-Files</TH><TH>CPU Usage</TH></TR>
+<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
+ Files</TH><TH>CPU Usage</TH></TR>
 <TR><TD>ipp</TD><TD>91k</TD><TD>256k</TD><TD>Up to size of print file</TD><TD>
 Low</TD></TR>
 <TR><TD>lpd</TD><TD>89k</TD><TD>89k</TD><TD>Up to size of print file</TD><TD>
 Low</TD></TR>
-<TR><TD>parallel</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print 
-file</TD><TD>Low</TD></TR>
+<TR><TD>parallel</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print
+ file</TD><TD>Low</TD></TR>
 <TR><TD>serial</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD>
 Low</TD></TR>
 <TR><TD>socket</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD>
@@ -158,10 +158,10 @@ Low</TD></TR>
 <TR><TD>usb</TD><TD>85k</TD><TD>85k</TD><TD>Up to size of print file</TD><TD>
 Low</TD></TR>
 <TR><TH COLSPAN="3">CGIs</TH></TR>
-<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp 
-Files</TH><TH>CPU Usage</TH></TR>
-<TR><TD>admin.cgi</TD><TD>107k</TD><TD>256k</TD><TD>Up to size of PPD 
-file</TD><TD>Medium</TD></TR>
+<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
+ Files</TH><TH>CPU Usage</TH></TR>
+<TR><TD>admin.cgi</TD><TD>107k</TD><TD>256k</TD><TD>Up to size of PPD
+ file</TD><TD>Medium</TD></TR>
 <TR><TD>classes.cgi</TD><TD>95k</TD><TD>Size of class objects</TD><TD>
 None</TD><TD>Medium</TD></TR>
 <TR><TD>jobs.cgi</TD><TD>93k</TD><TD>Size of job objects</TD><TD>None</TD><TD>
@@ -169,8 +169,8 @@ Medium</TD></TR>
 <TR><TD>printers.cgi</TD><TD>95k</TD><TD>Size of printer objects</TD><TD>
 None</TD><TD>Medium</TD></TR>
 <TR><TH COLSPAN="3">Command-Line Programs</TH></TR>
-<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp 
-Files</TH><TH>CPU Usage</TH></TR>
+<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
+ Files</TH><TH>CPU Usage</TH></TR>
 <TR><TD>accept</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
 <TR><TD>cancel</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
 <TR><TD>disable</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
@@ -188,31 +188,31 @@ None</TD><TD>Medium</TD></TR>
 Medium</TD></TR>
 <TR><TD>lpr</TD><TD>87k</TD><TD>256k</TD><TD>None</TD><TD>Low</TD></TR>
 <TR><TD>lprm</TD><TD>84k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
-<TR><TD>lpstat</TD><TD>119k</TD><TD>Size of job, printer, and class 
-objects</TD><TD>None</TD><TD>Medium</TD></TR>
+<TR><TD>lpstat</TD><TD>119k</TD><TD>Size of job, printer, and class
+ objects</TD><TD>None</TD><TD>Medium</TD></TR>
 <TR><TD>reject</TD><TD>88k</TD><TD>128k</TD><TD>None</TD><TD>Low</TD></TR>
 <TR><TH COLSPAN="3">Daemons</TH></TR>
-<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp 
-Files</TH><TH>CPU Usage</TH></TR>
-<TR><TD>cups-lpd</TD><TD>92k</TD><TD>256k</TD><TD>One file per control 
-or data file from client</TD><TD>Low</TD></TR>
+<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
+ Files</TH><TH>CPU Usage</TH></TR>
+<TR><TD>cups-lpd</TD><TD>92k</TD><TD>256k</TD><TD>One file per control
+ or data file from client</TD><TD>Low</TD></TR>
 <TR><TD>cupsd</TD><TD>308k</TD><TD>See Scheduler Requirements</TD><TD>
 See Scheduler Requirements</TD><TD>Medium</TD></TR>
 <TR><TD>cups-polld</TD><TD>84k</TD><TD>Size of printer and class objects</TD><TD>
 None</TD><TD>Low</TD></TR>
 <TR><TH COLSPAN="3">Filters</TH></TR>
-<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp 
-Files</TH><TH>CPU Usage</TH></TR>
+<TR><TH>Program</TH><TH>Base Memory</TH><TH>Max Memory</TH><TH>Temp
+ Files</TH><TH>CPU Usage</TH></TR>
 <TR><TD>hpgltops</TD><TD>263k</TD><TD>320k</TD><TD>None</TD><TD>Medium</TD>
 </TR>
-<TR><TD>imagetops</TD><TD>628k</TD><TD>10M</TD><TD>Swap file for 
-uncompressed image data</TD><TD>Medium</TD></TR>
-<TR><TD>imagetoraster</TD><TD>652k</TD><TD>10M</TD><TD>Swap file for 
-uncompressed image data</TD><TD>High</TD></TR>
-<TR><TD>pstops</TD><TD>775k</TD><TD>840k</TD><TD>Up to size of print 
-file</TD><TD>Medium</TD></TR>
-<TR><TD>pstoraster</TD><TD>4M</TD><TD>14M</TD><TD>Swap file for command 
-lists</TD><TD>High</TD></TR>
+<TR><TD>imagetops</TD><TD>628k</TD><TD>10M</TD><TD>Swap file for
+ uncompressed image data</TD><TD>Medium</TD></TR>
+<TR><TD>imagetoraster</TD><TD>652k</TD><TD>10M</TD><TD>Swap file for
+ uncompressed image data</TD><TD>High</TD></TR>
+<TR><TD>pstops</TD><TD>775k</TD><TD>840k</TD><TD>Up to size of print
+ file</TD><TD>Medium</TD></TR>
+<TR><TD>pstoraster</TD><TD>4M</TD><TD>14M</TD><TD>Swap file for command
+ lists</TD><TD>High</TD></TR>
 <TR><TD>rastertoepson</TD><TD>693k</TD><TD>1M</TD><TD>None</TD><TD>Low</TD>
 </TR>
 <TR><TD>rastertohp</TD><TD>690k</TD><TD>1M</TD><TD>None</TD><TD>Low</TD></TR>
@@ -222,11 +222,11 @@ Low</TD></TR>
 </CENTER>
 </P>
 <H1><A NAME="4">4 Scheduler Objects</A></H1>
-<P>The <CODE>cupsd</CODE> program is the CUPS scheduler process. It 
-manages many interdependent server objects that are used to manage and 
-print files to printers. </P>
-<P>The following table provides the memory and disk cost associated 
-with each server object. 
+<P>The <CODE>cupsd</CODE> program is the CUPS scheduler process. It
+ manages many interdependent server objects that are used to manage and
+ print files to printers.</P>
+<P>The following table provides the memory and disk cost associated with
+ each server object.
 <CENTER>
 <TABLE BORDER="1" WIDTH="80%">
 <TR><TH>Object</TH><TH>Memory Per</TH><TH>Disk Per</TH></TR>
@@ -249,49 +249,49 @@ with each server object.
 <H1 TYPE="A" VALUE="1"><A NAME="5">A Glossary</A></H1>
 <H2><A NAME="5_1">A.1 Terms</A></H2>
 <DL>
-<DT>C </DT>
-<DD>A computer language. </DD>
-<DT>parallel </DT>
-<DD>Sending or receiving data more than 1 bit at a time. </DD>
-<DT>pipe </DT>
-<DD>A one-way communications channel between two programs. </DD>
-<DT>serial </DT>
-<DD>Sending or receiving data 1 bit at a time. </DD>
-<DT>socket </DT>
-<DD>A two-way network communications channel. </DD>
+<DT>C</DT>
+<DD>A computer language.</DD>
+<DT>parallel</DT>
+<DD>Sending or receiving data more than 1 bit at a time.</DD>
+<DT>pipe</DT>
+<DD>A one-way communications channel between two programs.</DD>
+<DT>serial</DT>
+<DD>Sending or receiving data 1 bit at a time.</DD>
+<DT>socket</DT>
+<DD>A two-way network communications channel.</DD>
 </DL>
 <H2><A NAME="5_2">A.2 Acronyms</A></H2>
 <DL>
-<DT>ASCII </DT>
-<DD>American Standard Code for Information Interchange </DD>
-<DT>CUPS </DT>
-<DD>Common UNIX Printing System </DD>
-<DT>ESC/P </DT>
-<DD>EPSON Standard Code for Printers </DD>
-<DT>FTP </DT>
-<DD>File Transfer Protocol </DD>
-<DT>HP-GL </DT>
-<DD>Hewlett-Packard Graphics Language </DD>
-<DT>HP-PCL </DT>
-<DD>Hewlett-Packard Page Control Language </DD>
-<DT>HP-PJL </DT>
-<DD>Hewlett-Packard Printer Job Language </DD>
-<DT>IETF </DT>
-<DD>Internet Engineering Task Force </DD>
-<DT>IPP </DT>
-<DD>Internet Printing Protocol </DD>
-<DT>ISO </DT>
-<DD>International Standards Organization </DD>
-<DT>LPD </DT>
-<DD>Line Printer Daemon </DD>
-<DT>MIME </DT>
-<DD>Multimedia Internet Mail Exchange </DD>
-<DT>PPD </DT>
-<DD>PostScript Printer Description </DD>
-<DT>SMB </DT>
-<DD>Server Message Block </DD>
-<DT>TFTP </DT>
-<DD>Trivial File Transfer Protocol </DD>
+<DT>ASCII</DT>
+<DD>American Standard Code for Information Interchange</DD>
+<DT>CUPS</DT>
+<DD>Common UNIX Printing System</DD>
+<DT>ESC/P</DT>
+<DD>EPSON Standard Code for Printers</DD>
+<DT>FTP</DT>
+<DD>File Transfer Protocol</DD>
+<DT>HP-GL</DT>
+<DD>Hewlett-Packard Graphics Language</DD>
+<DT>HP-PCL</DT>
+<DD>Hewlett-Packard Page Control Language</DD>
+<DT>HP-PJL</DT>
+<DD>Hewlett-Packard Printer Job Language</DD>
+<DT>IETF</DT>
+<DD>Internet Engineering Task Force</DD>
+<DT>IPP</DT>
+<DD>Internet Printing Protocol</DD>
+<DT>ISO</DT>
+<DD>International Standards Organization</DD>
+<DT>LPD</DT>
+<DD>Line Printer Daemon</DD>
+<DT>MIME</DT>
+<DD>Multimedia Internet Mail Exchange</DD>
+<DT>PPD</DT>
+<DD>PostScript Printer Description</DD>
+<DT>SMB</DT>
+<DD>Server Message Block</DD>
+<DT>TFTP</DT>
+<DD>Trivial File Transfer Protocol</DD>
 </DL>
 </BODY>
 </HTML>
index 19f17be00a191d54d597464ec1052930e0560244..ff86c4f903b8b587d5e0780b0f0b2e6c414d8aed 100644 (file)
Binary files a/doc/sps.pdf and b/doc/sps.pdf differ
index f06bfd22163c71bcef63527c585f5982991403f0..8171ad8821028d42181af4026c0cc73fcbe77670 100644 (file)
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <HTML>
 <HEAD>
-<TITLE> CUPS Software Security Report</TITLE>
+<TITLE>CUPS Software Security Report</TITLE>
 <META NAME="author" CONTENT="Easy Software Products">
 <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved">
 <META NAME="docnumber" CONTENT="CUPS-SSR-1.1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
 <STYLE TYPE="text/css"><!--
-BODY { font-family: serif; font-size: 11.0pt }
-H1 { font-family: sans-serif; font-size: 20.0pt }
-H2 { font-family: sans-serif; font-size: 17.0pt }
-H3 { font-family: sans-serif; font-size: 14.0pt }
-H4 { font-family: sans-serif; font-size: 11.0pt }
-H5 { font-family: sans-serif; font-size: 9.0pt }
-H6 { font-family: sans-serif; font-size: 8.0pt }
-SUB { font-size: 8.0pt }
-SUP { font-size: 8.0pt }
-PRE { font-size: 9.0pt }
+BODY { font-family: serif }
+H1 { font-family: sans-serif }
+H2 { font-family: sans-serif }
+H3 { font-family: sans-serif }
+H4 { font-family: sans-serif }
+H5 { font-family: sans-serif }
+H6 { font-family: sans-serif }
+SUB { font-size: smaller }
+SUP { font-size: smaller }
+PRE { font-family: monospace }
 --></STYLE>
 </HEAD>
 <BODY>
-<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
-<H1> CUPS Software Security Report</H1></A><BR>
+<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
+<H1>CUPS Software Security Report</H1></A><BR>
 CUPS-SSR-1.1<BR>
 Easy Software Products<BR>
 Copyright 1997-2001, All Rights Reserved<BR>
@@ -57,28 +57,28 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <HR>
 <H1><A NAME="1">1 Scope</A></H1>
 <H2><A NAME="1_1">1.1 Identification</A></H2>
-<P>This software security report provides an analysis of possible 
-security concerns for the Common UNIX Printing System (&quot;CUPS&quot;) Version 
-1.1.</P>
+<P>This software security report provides an analysis of possible
+ security concerns for the Common UNIX Printing System (&quot;CUPS&quot;) Version
+ 1.1.</P>
 <H2><A NAME="1_2">1.2 System Overview</A></H2>
-<P>CUPS provides a portable printing layer for UNIX&reg;-based operating 
-systems. It has been developed by <A HREF="http://www.easysw.com">Easy 
-Software Products</A> to promote a standard printing solution for all 
-UNIX vendors and users. CUPS provides the System V and Berkeley 
-command-line interfaces. </P>
-<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for 
-managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server 
-Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are 
-also supported with reduced functionality. CUPS adds network printer 
-browsing and PostScript Printer Description (&quot;PPD&quot;) based printing 
-options to support real-world printing under UNIX. </P>
-<P>CUPS also includes a customized version of GNU Ghostscript 
-(currently based off GNU Ghostscript 5.50) and an image file RIP that 
-are used to support non-PostScript printers. Sample drivers for HP and 
-EPSON printers are included that use these filters. </P>
+<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
+ systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
+ Software Products</A> to promote a standard printing solution for all
+ UNIX vendors and users. CUPS provides the System V and Berkeley
+ command-line interfaces.</P>
+<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
+ managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
+ Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
+ also supported with reduced functionality. CUPS adds network printer
+ browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
+ options to support real-world printing under UNIX.</P>
+<P>CUPS also includes a customized version of GNU Ghostscript (currently
+ based off GNU Ghostscript 5.50) and an image file RIP that are used to
+ support non-PostScript printers. Sample drivers for HP and EPSON
+ printers are included that use these filters.</P>
 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
-<P>This software security report is organized into the following 
-sections:</P>
+<P>This software security report is organized into the following
+ sections:</P>
 <UL>
 <LI>1 - Scope</LI>
 <LI>2 - References</LI>
@@ -88,183 +88,182 @@ sections:</P>
 </UL>
 <H1><A NAME="2">2 References</A></H1>
 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
-<P>The following CUPS documentation is referenced by this document: </P>
+<P>The following CUPS documentation is referenced by this document:</P>
 <UL>
-<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
-<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
-<LI>CUPS-IPP-1.1: CUPS Implementation of IPP </LI>
-<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
-<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
-<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
-<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
-<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
-<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
-<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
+<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI>
+<LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI>
+<LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI>
+<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI>
+<LI>CUPS-SDD-1.1: CUPS Software Design Description</LI>
+<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI>
+<LI>CUPS-SSR-1.1: CUPS Software Security Report</LI>
+<LI>CUPS-STP-1.1: CUPS Software Test Plan</LI>
+<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI>
+<LI>CUPS-SVD-1.1: CUPS Software Version Description</LI>
 </UL>
 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
-<P>The following non-CUPS documents are referenced by this document: </P>
+<P>The following non-CUPS documents are referenced by this document:</P>
 <UL>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
-Adobe  PostScript Printer Description File Format Specification, 
Version 4.3.</A></LI>
+Adobe PostScript Printer Description File Format Specification, Version
+ 4.3.</A></LI>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
-Adobe  PostScript Language Reference, Third Edition.</A></LI>
-<LI>IPP: Job and Printer Set Operations </LI>
-<LI>IPP/1.1: Encoding and Transport </LI>
-<LI>IPP/1.1: Implementers Guide </LI>
-<LI>IPP/1.1: Model and Semantics </LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line 
-Printer Daemon Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design 
-Goals for an Internet Printing Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale 
-for the Structure of the Model and Protocol</A> for the Internet 
-Printing Protocol</LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping 
-between LPD and IPP Protocols</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext 
-Transfer Protocol -- HTTP/1.1</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP 
-Authentication: Basic and Digest Access</A> Authentication </LI>
+Adobe PostScript Language Reference, Third Edition.</A></LI>
+<LI>IPP: Job and Printer Set Operations</LI>
+<LI>IPP/1.1: Encoding and Transport</LI>
+<LI>IPP/1.1: Implementers Guide</LI>
+<LI>IPP/1.1: Model and Semantics</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
+ Daemon Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
+ for an Internet Printing Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
+ for the Structure of the Model and Protocol</A> for the Internet
+ Printing Protocol</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
+ between LPD and IPP Protocols</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
+ Transfer Protocol -- HTTP/1.1</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
+ Authentication: Basic and Digest Access</A> Authentication</LI>
 </UL>
 <H1><A NAME="3">3 Local Access Risks</A></H1>
-<P>Local access risks are those that can be exploited only with a local 
-user account. This section does not address issues related to 
-dissemination of the root password or other security issues associated 
-with the UNIX operating system. </P>
+<P>Local access risks are those that can be exploited only with a local
+ user account. This section does not address issues related to
+ dissemination of the root password or other security issues associated
+ with the UNIX operating system.</P>
 <H2><A NAME="3_1">3.1 Security Breaches</A></H2>
-<P>There is one known security vulnerability with local access: </P>
+<P>There is one known security vulnerability with local access:</P>
 <OL>
-<LI>Device URIs are passed to backend filters in argv[0] and in  an 
-environment variable. Since device URIs can contain  usernames and 
-passwords it may be possible for a local user to  gain access to a 
-remote resource. </LI>
-<P>We recommend that any password-protected accounts used for  remote 
-printing have limited access priviledges so that the  possible damages 
-can be minimized. </P>
-<P>The device URI is &quot;sanitized&quot; (the username and password are 
- removed) when sent to an IPP client so that a remote user  cannot 
-exploit this vulnerability. </P>
+<LI>Device URIs are passed to backend filters in argv[0] and in an
+ environment variable. Since device URIs can contain usernames and
+ passwords it may be possible for a local user to gain access to a
+ remote resource.</LI>
+<P>We recommend that any password-protected accounts used for remote
+ printing have limited access priviledges so that the possible damages
+ can be minimized.</P>
+<P>The device URI is &quot;sanitized&quot; (the username and password are removed)
+ when sent to an IPP client so that a remote user cannot exploit this
+ vulnerability.</P>
 </OL>
 <H1><A NAME="4">4 Remote Access Risks</A></H1>
-<P>Remote access risks are those that can be exploited without a local 
-user account and/or from a remote system. This section does not address 
-issues related to network or firewall security. </P>
+<P>Remote access risks are those that can be exploited without a local
+ user account and/or from a remote system. This section does not address
+ issues related to network or firewall security.</P>
 <H2><A NAME="4_1">4.1 Denial of Service Attacks</A></H2>
-<P>Like all Internet services, the CUPS server is vulnerable to denial 
-of service attacks, including: </P>
+<P>Like all Internet services, the CUPS server is vulnerable to denial
+ of service attacks, including:</P>
 <OL>
-<LI>Establishing multiple connections to the server until the server 
- will accept no more. </LI>
-<P>This cannot be protected against by the current software. It  is 
-possible that future versions of the CUPS software could be  configured 
-to limit the number of connections allowed from a  single host, however 
-that still would not prevent a distributed  attack. </P>
-<LI>Repeatedly opening and closing connections to the server as fast 
- as possible. </LI>
-<P>There is no easy way of protecting against this in the CUPS 
- software. If the attack is coming from outside the local  network it 
-might be possible to filter such an attack, however  once the 
-connection request has been received by the server it  must at least 
-accept the connection to find out who is  connecting. </P>
-<LI>Flooding the network with broadcast packets on port 631. </LI>
-<P>It might be possible to disable browsing if this condition  is 
-detected by the CUPS software, however if there are large  numbers of 
-printers available on the network such an algorithm  might think that 
-an attack was occurring when instead a valid  update was being 
-received. </P>
-<LI>Sending partial IPP requests; specifically, sending part of an 
- attribute value and then stopping transmission. </LI>
-<P>The current code is structured to read and write the IPP  request 
-data on-the-fly, so there is no easy way to protect  against this for 
-large attribute values. </P>
-<LI>Sending large/long print jobs to printers, preventing other users 
- from printing. </LI>
-<P>There are limited facilities for protecting against large print 
- jobs (the <CODE>MaxRequestSize</CODE> attribute), however this will 
- not protect printers from malicious users and print files that 
- generate hundreds or thousands of pages. In general, we recommend 
- restricting printer access to known hosts or networks, and adding 
- user-level access control as needed for expensive printers. </P>
+<LI>Establishing multiple connections to the server until the server
+ will accept no more.</LI>
+<P>This cannot be protected against by the current software. It is
+ possible that future versions of the CUPS software could be configured
+ to limit the number of connections allowed from a single host, however
+ that still would not prevent a distributed attack.</P>
+<LI>Repeatedly opening and closing connections to the server as fast as
+ possible.</LI>
+<P>There is no easy way of protecting against this in the CUPS software.
+ If the attack is coming from outside the local network it might be
+ possible to filter such an attack, however once the connection request
+ has been received by the server it must at least accept the connection
+ to find out who is connecting.</P>
+<LI>Flooding the network with broadcast packets on port 631.</LI>
+<P>It might be possible to disable browsing if this condition is
+ detected by the CUPS software, however if there are large numbers of
+ printers available on the network such an algorithm might think that an
+ attack was occurring when instead a valid update was being received.</P>
+<LI>Sending partial IPP requests; specifically, sending part of an
+ attribute value and then stopping transmission.</LI>
+<P>The current code is structured to read and write the IPP request data
+ on-the-fly, so there is no easy way to protect against this for large
+ attribute values.</P>
+<LI>Sending large/long print jobs to printers, preventing other users
+ from printing.</LI>
+<P>There are limited facilities for protecting against large print jobs
+ (the <CODE>MaxRequestSize</CODE> attribute), however this will not
+ protect printers from malicious users and print files that generate
+ hundreds or thousands of pages. In general, we recommend restricting
+ printer access to known hosts or networks, and adding user-level access
+ control as needed for expensive printers.</P>
 </OL>
 <H2><A NAME="4_2">4.2 Security Breaches</A></H2>
-<P>The current CUPS server supports Basic, Digest, and local 
-certificate authentication: </P>
+<P>The current CUPS server supports Basic, Digest, and local certificate
+ authentication:</P>
 <OL>
-<LI>Basic authentication essentially places the clear text of  the 
-username and password on the network. Since CUPS uses the  UNIX 
-username and password account information, the  authentication 
-information could be used to gain access to  accounts (possibly 
-priviledged accounts) on the server. </LI>
-<LI>Digest authentication uses an MD5 checksum of the username, 
- password, and domain (&quot;CUPS&quot;), so the original username and  password 
-is not sent over the network. However, the current  implementation does 
-not authenticate the entire message and  uses the client's IP address 
-for the nonce value, making it  possible to launch &quot;man in the middle&quot; 
-and replay attacks from  the same client.  The next minor release of 
-CUPS will support  Digest authentication of the entire message body, 
-effectively  stopping these methods of attack. </LI>
-<LI>Local certificate authentication passes 128-bit  &quot;certificates&quot; 
-that identify an authenticated user.  Certificates are created 
-on-the-fly from random data and stored  in files under <CODE>
-/etc/cups/certs</CODE>. They have  restricted read permissions: root + 
-system for the root  certificate, and lp + system for CGI certificates. 
-Because  certificates are only available on the local system, the CUPS 
- server does not accept local authentication unless the client  is 
-connected to the localhost address (127.0.0.1.) </LI>
+<LI>Basic authentication essentially places the clear text of the
+ username and password on the network. Since CUPS uses the UNIX username
+ and password account information, the authentication information could
+ be used to gain access to accounts (possibly priviledged accounts) on
+ the server.</LI>
+<LI>Digest authentication uses an MD5 checksum of the username,
+ password, and domain (&quot;CUPS&quot;), so the original username and password is
+ not sent over the network. However, the current implementation does not
+ authenticate the entire message and uses the client's IP address for
+ the nonce value, making it possible to launch &quot;man in the middle&quot; and
+ replay attacks from the same client. The next minor release of CUPS
+ will support Digest authentication of the entire message body,
+ effectively stopping these methods of attack.</LI>
+<LI>Local certificate authentication passes 128-bit &quot;certificates&quot; that
+ identify an authenticated user. Certificates are created on-the-fly
+ from random data and stored in files under <CODE>/etc/cups/certs</CODE>
+. They have restricted read permissions: root + system for the root
+ certificate, and lp + system for CGI certificates. Because certificates
+ are only available on the local system, the CUPS server does not accept
+ local authentication unless the client is connected to the localhost
+ address (127.0.0.1.)</LI>
 </OL>
-<P>The default CUPS configuration disables remote administration. We do 
-not recommend that remote administration be enabled for all hosts. 
-However, if you have a trusted network or subnet, access can be 
-restricted accordingly.  Also, we highly recommend using Digest 
-authentication when possible. Unfortunately, most web browsers do not 
-support Digest authentication at this time. </P>
+<P>The default CUPS configuration disables remote administration. We do
+ not recommend that remote administration be enabled for all hosts.
+ However, if you have a trusted network or subnet, access can be
+ restricted accordingly. Also, we highly recommend using Digest
+ authentication when possible. Unfortunately, most web browsers do not
+ support Digest authentication at this time.</P>
 <H1 TYPE="A" VALUE="1"><A NAME="5">A Glossary</A></H1>
 <H2><A NAME="5_1">A.1 Terms</A></H2>
 <DL>
-<DT>C </DT>
-<DD>A computer language. </DD>
-<DT>parallel </DT>
-<DD>Sending or receiving data more than 1 bit at a time. </DD>
-<DT>pipe </DT>
-<DD>A one-way communications channel between two programs. </DD>
-<DT>serial </DT>
-<DD>Sending or receiving data 1 bit at a time. </DD>
-<DT>socket </DT>
-<DD>A two-way network communications channel. </DD>
+<DT>C</DT>
+<DD>A computer language.</DD>
+<DT>parallel</DT>
+<DD>Sending or receiving data more than 1 bit at a time.</DD>
+<DT>pipe</DT>
+<DD>A one-way communications channel between two programs.</DD>
+<DT>serial</DT>
+<DD>Sending or receiving data 1 bit at a time.</DD>
+<DT>socket</DT>
+<DD>A two-way network communications channel.</DD>
 </DL>
 <H2><A NAME="5_2">A.2 Acronyms</A></H2>
 <DL>
-<DT>ASCII </DT>
-<DD>American Standard Code for Information Interchange </DD>
-<DT>CUPS </DT>
-<DD>Common UNIX Printing System </DD>
-<DT>ESC/P </DT>
-<DD>EPSON Standard Code for Printers </DD>
-<DT>FTP </DT>
-<DD>File Transfer Protocol </DD>
-<DT>HP-GL </DT>
-<DD>Hewlett-Packard Graphics Language </DD>
-<DT>HP-PCL </DT>
-<DD>Hewlett-Packard Page Control Language </DD>
-<DT>HP-PJL </DT>
-<DD>Hewlett-Packard Printer Job Language </DD>
-<DT>IETF </DT>
-<DD>Internet Engineering Task Force </DD>
-<DT>IPP </DT>
-<DD>Internet Printing Protocol </DD>
-<DT>ISO </DT>
-<DD>International Standards Organization </DD>
-<DT>LPD </DT>
-<DD>Line Printer Daemon </DD>
-<DT>MIME </DT>
-<DD>Multimedia Internet Mail Exchange </DD>
-<DT>PPD </DT>
-<DD>PostScript Printer Description </DD>
-<DT>SMB </DT>
-<DD>Server Message Block </DD>
-<DT>TFTP </DT>
-<DD>Trivial File Transfer Protocol </DD>
+<DT>ASCII</DT>
+<DD>American Standard Code for Information Interchange</DD>
+<DT>CUPS</DT>
+<DD>Common UNIX Printing System</DD>
+<DT>ESC/P</DT>
+<DD>EPSON Standard Code for Printers</DD>
+<DT>FTP</DT>
+<DD>File Transfer Protocol</DD>
+<DT>HP-GL</DT>
+<DD>Hewlett-Packard Graphics Language</DD>
+<DT>HP-PCL</DT>
+<DD>Hewlett-Packard Page Control Language</DD>
+<DT>HP-PJL</DT>
+<DD>Hewlett-Packard Printer Job Language</DD>
+<DT>IETF</DT>
+<DD>Internet Engineering Task Force</DD>
+<DT>IPP</DT>
+<DD>Internet Printing Protocol</DD>
+<DT>ISO</DT>
+<DD>International Standards Organization</DD>
+<DT>LPD</DT>
+<DD>Line Printer Daemon</DD>
+<DT>MIME</DT>
+<DD>Multimedia Internet Mail Exchange</DD>
+<DT>PPD</DT>
+<DD>PostScript Printer Description</DD>
+<DT>SMB</DT>
+<DD>Server Message Block</DD>
+<DT>TFTP</DT>
+<DD>Trivial File Transfer Protocol</DD>
 </DL>
 </BODY>
 </HTML>
index 7f4af57fa3059a0dd9085d6918111a387259aa31..693e56edb1878857eaa023d3c78842a4a49c0611 100644 (file)
Binary files a/doc/ssr.pdf and b/doc/ssr.pdf differ
index 2ed71e25a03f09fb83c969e6d02c6f2d07cc2ece..bd95c898076f5edebb41b8be525715529de2cbbc 100644 (file)
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <HTML>
 <HEAD>
-<TITLE> CUPS Software Test Plan</TITLE>
+<TITLE>CUPS Software Test Plan</TITLE>
 <META NAME="author" CONTENT="Easy Software Products">
 <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved">
 <META NAME="docnumber" CONTENT="CUPS-STP-1.1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
 <STYLE TYPE="text/css"><!--
-BODY { font-family: serif; font-size: 11.0pt }
-H1 { font-family: sans-serif; font-size: 20.0pt }
-H2 { font-family: sans-serif; font-size: 17.0pt }
-H3 { font-family: sans-serif; font-size: 14.0pt }
-H4 { font-family: sans-serif; font-size: 11.0pt }
-H5 { font-family: sans-serif; font-size: 9.0pt }
-H6 { font-family: sans-serif; font-size: 8.0pt }
-SUB { font-size: 8.0pt }
-SUP { font-size: 8.0pt }
-PRE { font-size: 9.0pt }
+BODY { font-family: serif }
+H1 { font-family: sans-serif }
+H2 { font-family: sans-serif }
+H3 { font-family: sans-serif }
+H4 { font-family: sans-serif }
+H5 { font-family: sans-serif }
+H6 { font-family: sans-serif }
+SUB { font-size: smaller }
+SUP { font-size: smaller }
+PRE { font-family: monospace }
 --></STYLE>
 </HEAD>
 <BODY>
-<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
-<H1> CUPS Software Test Plan</H1></A><BR>
+<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
+<H1>CUPS Software Test Plan</H1></A><BR>
 CUPS-STP-1.1<BR>
 Easy Software Products<BR>
 Copyright 1997-2001, All Rights Reserved<BR>
@@ -68,27 +68,27 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <HR>
 <H1><A NAME="1">1 Scope</A></H1>
 <H2><A NAME="1_1">1.1 Identification</A></H2>
-<P>This software test plan provides detailed tests that are used to 
-evaluate the stability and compliance of the Common UNIX Printing 
-System (&quot;CUPS&quot;) Version 1.1. </P>
+<P>This software test plan provides detailed tests that are used to
+ evaluate the stability and compliance of the Common UNIX Printing
+ System (&quot;CUPS&quot;) Version 1.1.</P>
 <H2><A NAME="1_2">1.2 System Overview</A></H2>
-<P>CUPS provides a portable printing layer for UNIX&reg;-based operating 
-systems. It has been developed by <A HREF="http://www.easysw.com">Easy 
-Software Products</A> to promote a standard printing solution for all 
-UNIX vendors and users. CUPS provides the System V and Berkeley 
-command-line interfaces. </P>
-<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for 
-managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server 
-Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are 
-also supported with reduced functionality. CUPS adds network printer 
-browsing and PostScript Printer Description (&quot;PPD&quot;) based printing 
-options to support real-world printing under UNIX. </P>
-<P>CUPS also includes a customized version of GNU Ghostscript 
-(currently based off GNU Ghostscript 5.50) and an image file RIP that 
-are used to support non-PostScript printers. Sample drivers for HP and 
-EPSON printers are included that use these filters. </P>
+<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
+ systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
+ Software Products</A> to promote a standard printing solution for all
+ UNIX vendors and users. CUPS provides the System V and Berkeley
+ command-line interfaces.</P>
+<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
+ managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
+ Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
+ also supported with reduced functionality. CUPS adds network printer
+ browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
+ options to support real-world printing under UNIX.</P>
+<P>CUPS also includes a customized version of GNU Ghostscript (currently
+ based off GNU Ghostscript 5.50) and an image file RIP that are used to
+ support non-PostScript printers. Sample drivers for HP and EPSON
+ printers are included that use these filters.</P>
 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
-<P>This software test plan is organized into the following sections: </P>
+<P>This software test plan is organized into the following sections:</P>
 <UL>
 <LI>1 - Scope</LI>
 <LI>2 - References</LI>
@@ -99,164 +99,164 @@ EPSON printers are included that use these filters. </P>
 </UL>
 <H1><A NAME="2">2 References</A></H1>
 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
-<P>The following CUPS documentation is referenced by this document: </P>
+<P>The following CUPS documentation is referenced by this document:</P>
 <UL>
-<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
-<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
-<LI>CUPS-IPP-1.1: CUPS Implementation of IPP </LI>
-<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
-<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
-<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
-<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
-<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
-<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
-<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
+<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI>
+<LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI>
+<LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI>
+<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI>
+<LI>CUPS-SDD-1.1: CUPS Software Design Description</LI>
+<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI>
+<LI>CUPS-SSR-1.1: CUPS Software Security Report</LI>
+<LI>CUPS-STP-1.1: CUPS Software Test Plan</LI>
+<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI>
+<LI>CUPS-SVD-1.1: CUPS Software Version Description</LI>
 </UL>
 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
-<P>The following non-CUPS documents are referenced by this document: </P>
+<P>The following non-CUPS documents are referenced by this document:</P>
 <UL>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
-Adobe  PostScript Printer Description File Format Specification, 
Version 4.3.</A></LI>
+Adobe PostScript Printer Description File Format Specification, Version
+ 4.3.</A></LI>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
-Adobe  PostScript Language Reference, Third Edition.</A></LI>
-<LI>IPP: Job and Printer Set Operations </LI>
-<LI>IPP/1.1: Encoding and Transport </LI>
-<LI>IPP/1.1: Implementers Guide </LI>
-<LI>IPP/1.1: Model and Semantics </LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line 
-Printer Daemon Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design 
-Goals for an Internet Printing Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale 
-for the Structure of the Model and Protocol</A> for the Internet 
-Printing Protocol</LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping 
-between LPD and IPP Protocols</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext 
-Transfer Protocol -- HTTP/1.1</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP 
-Authentication: Basic and Digest Access</A> Authentication </LI>
+Adobe PostScript Language Reference, Third Edition.</A></LI>
+<LI>IPP: Job and Printer Set Operations</LI>
+<LI>IPP/1.1: Encoding and Transport</LI>
+<LI>IPP/1.1: Implementers Guide</LI>
+<LI>IPP/1.1: Model and Semantics</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
+ Daemon Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
+ for an Internet Printing Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
+ for the Structure of the Model and Protocol</A> for the Internet
+ Printing Protocol</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
+ between LPD and IPP Protocols</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
+ Transfer Protocol -- HTTP/1.1</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
+ Authentication: Basic and Digest Access</A> Authentication</LI>
 </UL>
 <H1><A NAME="3">3 Test Procedure</A></H1>
-<P>The test software and data files are located in the <VAR>test</VAR>
- subdirectory of the source distribution. A script is provided to 
-compile the <CODE>ipptest</CODE> program and run all of the tests that 
-follow, producing a success/fail report. </P>
-<P>The <CODE>test</CODE> target of the top-level makefile can be used 
-to run this script: </P>
+<P>The test software and data files are located in the<VAR> test</VAR>
+ subdirectory of the source distribution. A script is provided to
+ compile the <CODE>ipptest</CODE> program and run all of the tests that
+ follow, producing a success/fail report.</P>
+<P>The <CODE>test</CODE> target of the top-level makefile can be used to
+ run this script:</P>
 <UL>
 <PRE>
 make test
 </PRE>
 </UL>
-<P>or you can run the test script directly: </P>
+<P>or you can run the test script directly:</P>
 <UL>
 <PRE>
 cd test
 ./run-stp-tests
 </PRE>
 </UL>
-<P>A Software Test Report is stored in HTML and PDF files that are 
-generated using the <A HREF="http://www.easysw.com/htmldoc">HTMLDOC</A>
- software. </P>
+<P>A Software Test Report is stored in HTML and PDF files that are
+ generated using the<A HREF="http://www.easysw.com/htmldoc"> HTMLDOC</A>
+ software.</P>
 <H1><A NAME="4">4 IPP Compliance Tests</A></H1>
-<P>This section describes the tests used to validate the IPP standards 
-compliance of the CUPS server. </P>
+<P>This section describes the tests used to validate the IPP standards
+ compliance of the CUPS server.</P>
 <H2><A NAME="4_1">4.1 Request Tests</A></H2>
-<P>These tests verify that the CUPS scheduler only accepts valid IPP 
-requests that start with the <CODE>attributes-charset</CODE> and <CODE>
+<P>These tests verify that the CUPS scheduler only accepts valid IPP
+ requests that start with the <CODE>attributes-charset</CODE> and <CODE>
 attributes-natural-language</CODE> attributes and also contain a <CODE>
-printer-uri</CODE> or <CODE>job-uri</CODE> attribute. </P>
+printer-uri</CODE> or <CODE>job-uri</CODE> attribute.</P>
 <P>It also verifies that the CUPS scheduler always responds with <CODE>
 attributes-charset</CODE> and <CODE>attributes-natural-language</CODE>
- attributes, using default values if they are not provided by the 
-client. </P>
+ attributes, using default values if they are not provided by the
+ client.</P>
 <H2><A NAME="4_2">4.2 CUPS Printer Operation Tests</A></H2>
-<P>These tests verify that the CUPS printer operations are supported 
-and function properly. Two printers called <CODE>Test1</CODE> and <CODE>
-Test2</CODE> are created, one as a PostScript printer and one as a 
-raster printer. </P>
+<P>These tests verify that the CUPS printer operations are supported and
+ function properly. Two printers called <CODE>Test1</CODE> and <CODE>
+Test2</CODE> are created, one as a PostScript printer and one as a
+ raster printer.</P>
 <H2><A NAME="4_3">4.3 Job Operation Tests</A></H2>
-<P>These test verify that the CUPS scheduler accepts print jobs for all 
-supported file formats and that the <CODE>cancel-job</CODE>, <CODE>
-hold-job</CODE>, and <CODE>resume-job</CODE> operations work. </P>
+<P>These test verify that the CUPS scheduler accepts print jobs for all
+ supported file formats and that the <CODE>cancel-job</CODE>, <CODE>
+hold-job</CODE>, and <CODE>resume-job</CODE> operations work.</P>
 <H1><A NAME="5">5 Command Tests</A></H1>
-<P>This section describes the tests used to validate the Berkeley and 
-System V commands included with CUPS. </P>
+<P>This section describes the tests used to validate the Berkeley and
+ System V commands included with CUPS.</P>
 <H2><A NAME="5_1">5.1 lpadmin</A></H2>
-<P>This test verifies that printers can be added, modified, and 
-defaulted using the <CODE>lpadmin</CODE> command. </P>
+<P>This test verifies that printers can be added, modified, and
+ defaulted using the <CODE>lpadmin</CODE> command.</P>
 <H2><A NAME="5_2">5.2 lpc</A></H2>
-<P>This test verifies that the <CODE>lpc</CODE> command can show the 
-current status of all print queues. </P>
+<P>This test verifies that the <CODE>lpc</CODE> command can show the
+ current status of all print queues.</P>
 <H2><A NAME="5_3">5.3 lpq</A></H2>
-<P>This test verifies that the <CODE>lpq</CODE> command lists any jobs 
-in the queue. </P>
+<P>This test verifies that the <CODE>lpq</CODE> command lists any jobs
+ in the queue.</P>
 <H2><A NAME="5_4">5.4 lpstat</A></H2>
-<P>This test verifies that the <CODE>lpstat</CODE> command works with 
-all reports using the &quot;<CODE>-t</CODE>&quot; option. </P>
+<P>This test verifies that the <CODE>lpstat</CODE> command works with
+ all reports using the &quot;<CODE>-t</CODE>&quot; option.</P>
 <H2><A NAME="5_5">5.5 lp</A></H2>
-<P>This test verifies that the <CODE>lp</CODE> command works with both 
-the default destination and a specific destination. </P>
+<P>This test verifies that the <CODE>lp</CODE> command works with both
+ the default destination and a specific destination.</P>
 <H2><A NAME="5_6">5.6 lpr</A></H2>
-<P>This test verifies that the <CODE>lpr</CODE> command works with both 
-the default destination and a specific destination. </P>
+<P>This test verifies that the <CODE>lpr</CODE> command works with both
+ the default destination and a specific destination.</P>
 <H2><A NAME="5_7">5.7 lprm</A></H2>
-<P>This test verifies that the <CODE>lprm</CODE> command can properly 
-cancel a job. </P>
+<P>This test verifies that the <CODE>lprm</CODE> command can properly
+ cancel a job.</P>
 <H2><A NAME="5_8">5.8 cancel</A></H2>
-<P>This test verifies that the <CODE>cancel</CODE> command can properly 
-cancel a job or all jobs. </P>
+<P>This test verifies that the <CODE>cancel</CODE> command can properly
+ cancel a job or all jobs.</P>
 <H2><A NAME="5_9">5.9 lpinfo</A></H2>
-<P>This test verifies that the <CODE>lpinfo</CODE> command returns a 
-list of available printer drivers and devices. </P>
+<P>This test verifies that the <CODE>lpinfo</CODE> command returns a
+ list of available printer drivers and devices.</P>
 <H1 TYPE="A" VALUE="1"><A NAME="6">A Glossary</A></H1>
 <H2><A NAME="6_1">A.1 Terms</A></H2>
 <DL>
-<DT>C </DT>
-<DD>A computer language. </DD>
-<DT>parallel </DT>
-<DD>Sending or receiving data more than 1 bit at a time. </DD>
-<DT>pipe </DT>
-<DD>A one-way communications channel between two programs. </DD>
-<DT>serial </DT>
-<DD>Sending or receiving data 1 bit at a time. </DD>
-<DT>socket </DT>
-<DD>A two-way network communications channel. </DD>
+<DT>C</DT>
+<DD>A computer language.</DD>
+<DT>parallel</DT>
+<DD>Sending or receiving data more than 1 bit at a time.</DD>
+<DT>pipe</DT>
+<DD>A one-way communications channel between two programs.</DD>
+<DT>serial</DT>
+<DD>Sending or receiving data 1 bit at a time.</DD>
+<DT>socket</DT>
+<DD>A two-way network communications channel.</DD>
 </DL>
 <H2><A NAME="6_2">A.2 Acronyms</A></H2>
 <DL>
-<DT>ASCII </DT>
-<DD>American Standard Code for Information Interchange </DD>
-<DT>CUPS </DT>
-<DD>Common UNIX Printing System </DD>
-<DT>ESC/P </DT>
-<DD>EPSON Standard Code for Printers </DD>
-<DT>FTP </DT>
-<DD>File Transfer Protocol </DD>
-<DT>HP-GL </DT>
-<DD>Hewlett-Packard Graphics Language </DD>
-<DT>HP-PCL </DT>
-<DD>Hewlett-Packard Page Control Language </DD>
-<DT>HP-PJL </DT>
-<DD>Hewlett-Packard Printer Job Language </DD>
-<DT>IETF </DT>
-<DD>Internet Engineering Task Force </DD>
-<DT>IPP </DT>
-<DD>Internet Printing Protocol </DD>
-<DT>ISO </DT>
-<DD>International Standards Organization </DD>
-<DT>LPD </DT>
-<DD>Line Printer Daemon </DD>
-<DT>MIME </DT>
-<DD>Multimedia Internet Mail Exchange </DD>
-<DT>PPD </DT>
-<DD>PostScript Printer Description </DD>
-<DT>SMB </DT>
-<DD>Server Message Block </DD>
-<DT>TFTP </DT>
-<DD>Trivial File Transfer Protocol </DD>
+<DT>ASCII</DT>
+<DD>American Standard Code for Information Interchange</DD>
+<DT>CUPS</DT>
+<DD>Common UNIX Printing System</DD>
+<DT>ESC/P</DT>
+<DD>EPSON Standard Code for Printers</DD>
+<DT>FTP</DT>
+<DD>File Transfer Protocol</DD>
+<DT>HP-GL</DT>
+<DD>Hewlett-Packard Graphics Language</DD>
+<DT>HP-PCL</DT>
+<DD>Hewlett-Packard Page Control Language</DD>
+<DT>HP-PJL</DT>
+<DD>Hewlett-Packard Printer Job Language</DD>
+<DT>IETF</DT>
+<DD>Internet Engineering Task Force</DD>
+<DT>IPP</DT>
+<DD>Internet Printing Protocol</DD>
+<DT>ISO</DT>
+<DD>International Standards Organization</DD>
+<DT>LPD</DT>
+<DD>Line Printer Daemon</DD>
+<DT>MIME</DT>
+<DD>Multimedia Internet Mail Exchange</DD>
+<DT>PPD</DT>
+<DD>PostScript Printer Description</DD>
+<DT>SMB</DT>
+<DD>Server Message Block</DD>
+<DT>TFTP</DT>
+<DD>Trivial File Transfer Protocol</DD>
 </DL>
 </BODY>
 </HTML>
index d3d64293a8363ebe348e81cdaf43e18c18447391..1c446a44713e4b181547e26c731c8cb9b41299f6 100644 (file)
Binary files a/doc/stp.pdf and b/doc/stp.pdf differ
index 37bef4a524203f5572d5d6f21254b385b7826ea2..c47917dd96407b4d51857d0b304cc47308f0852c 100644 (file)
@@ -943,7 +943,7 @@ deskjet@server</CODE>).</P>
  &quot;libcups.so&quot; files in the binary distributions.</P>
 <P>The GNU GPL applies to the remainder of the CUPS distribution,
  including the &quot;pstoraster&quot; filter which is based upon GNU Ghostscript
- 5.50 and the &quot;pdftops&quot; filter which is based upon Xpdf 0.90.</P>
+ 5.50 and the &quot;pdftops&quot; filter which is based upon Xpdf 0.92.</P>
 <P>For those not familiar with the GNU GPL, the license basically allows
  you to:</P>
 <UL>
@@ -988,7 +988,7 @@ deskjet@server</CODE>).</P>
 <BR> Fax: +1.415.492.9862
 <BR> EMail:<A HREF="mailto:info@arsoft.com"> info@arsoft.com</A></BLOCKQUOTE>
 </P>
-<P>The &quot;pdftops&quot; filter is based on the Xpdf 0.90 software. For binary
+<P>The &quot;pdftops&quot; filter is based on the Xpdf 0.92 software. For binary
  distribution licensing of this software, please contact:<BLOCKQUOTE>
  Derek B. Noonburg
 <BR> Email:<A HREF="mailto:derekn@foolabs.com"> derekn@foolabs.com</A>
index f44956b0c6f634a26550aef59cc0a38b7728225d..9500cf7379266e39159152f3a600fc0d052e5f89 100644 (file)
Binary files a/doc/sum.pdf and b/doc/sum.pdf differ
index edeacc4cd0dcbf7b215d4f26aad131afee83ad6e..9eb11cea5978edede727c26e37cd1d282d089948 100644 (file)
@@ -1,27 +1,27 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
 <HTML>
 <HEAD>
-<TITLE> CUPS Software Version Description</TITLE>
+<TITLE>CUPS Software Version Description</TITLE>
 <META NAME="author" CONTENT="Easy Software Products">
 <META NAME="copyright" CONTENT="Copyright 1997-2001, All Rights Reserved">
 <META NAME="docnumber" CONTENT="CUPS-SVD-1.1">
 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=iso-8859-1">
 <STYLE TYPE="text/css"><!--
-BODY { font-family: serif; font-size: 11.0pt }
-H1 { font-family: sans-serif; font-size: 20.0pt }
-H2 { font-family: sans-serif; font-size: 17.0pt }
-H3 { font-family: sans-serif; font-size: 14.0pt }
-H4 { font-family: sans-serif; font-size: 11.0pt }
-H5 { font-family: sans-serif; font-size: 9.0pt }
-H6 { font-family: sans-serif; font-size: 8.0pt }
-SUB { font-size: 8.0pt }
-SUP { font-size: 8.0pt }
-PRE { font-size: 9.0pt }
+BODY { font-family: serif }
+H1 { font-family: sans-serif }
+H2 { font-family: sans-serif }
+H3 { font-family: sans-serif }
+H4 { font-family: sans-serif }
+H5 { font-family: sans-serif }
+H6 { font-family: sans-serif }
+SUB { font-size: smaller }
+SUP { font-size: smaller }
+PRE { font-family: monospace }
 --></STYLE>
 </HEAD>
 <BODY>
-<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="100%"><BR>
-<H1> CUPS Software Version Description</H1></A><BR>
+<CENTER><A HREF="#CONTENTS"><IMG SRC="images/cups-large.gif" BORDER="0" WIDTH="431" HEIGHT="511"><BR>
+<H1>CUPS Software Version Description</H1></A><BR>
 CUPS-SVD-1.1<BR>
 Easy Software Products<BR>
 Copyright 1997-2001, All Rights Reserved<BR>
@@ -76,27 +76,27 @@ Copyright 1997-2001, All Rights Reserved<BR>
 <HR>
 <H1><A NAME="1">1 Scope</A></H1>
 <H2><A NAME="1_1">1.1 Identification</A></H2>
- This software version description document provides release 
-information for the Common UNIX Printing System (&quot;CUPS&quot;) Version 1.1. 
+ This software version description document provides release information
+ for the Common UNIX Printing System (&quot;CUPS&quot;) Version 1.1.
 <H2><A NAME="1_2">1.2 System Overview</A></H2>
-<P>CUPS provides a portable printing layer for UNIX&reg;-based operating 
-systems. It has been developed by <A HREF="http://www.easysw.com">Easy 
-Software Products</A> to promote a standard printing solution for all 
-UNIX vendors and users. CUPS provides the System V and Berkeley 
-command-line interfaces. </P>
-<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for 
-managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server 
-Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are 
-also supported with reduced functionality. CUPS adds network printer 
-browsing and PostScript Printer Description (&quot;PPD&quot;) based printing 
-options to support real-world printing under UNIX. </P>
-<P>CUPS also includes a customized version of GNU Ghostscript 
-(currently based off GNU Ghostscript 5.50) and an image file RIP that 
-are used to support non-PostScript printers. Sample drivers for HP and 
-EPSON printers are included that use these filters. </P>
+<P>CUPS provides a portable printing layer for UNIX&reg;-based operating
+ systems. It has been developed by<A HREF="http://www.easysw.com"> Easy
+ Software Products</A> to promote a standard printing solution for all
+ UNIX vendors and users. CUPS provides the System V and Berkeley
+ command-line interfaces.</P>
+<P>CUPS uses the Internet Printing Protocol (&quot;IPP&quot;) as the basis for
+ managing print jobs and queues. The Line Printer Daemon (&quot;LPD&quot;) Server
+ Message Block (&quot;SMB&quot;), and AppSocket (a.k.a. JetDirect) protocols are
+ also supported with reduced functionality. CUPS adds network printer
+ browsing and PostScript Printer Description (&quot;PPD&quot;) based printing
+ options to support real-world printing under UNIX.</P>
+<P>CUPS also includes a customized version of GNU Ghostscript (currently
+ based off GNU Ghostscript 5.50) and an image file RIP that are used to
+ support non-PostScript printers. Sample drivers for HP and EPSON
+ printers are included that use these filters.</P>
 <H2><A NAME="1_3">1.3 Document Overview</A></H2>
-<P>This software version description document is organized into the 
-following sections:</P>
+<P>This software version description document is organized into the
+ following sections:</P>
 <UL>
 <LI><A HREF="#1">1 - Scope</A></LI>
 <LI><A HREF="#2">2 - References</A></LI>
@@ -106,108 +106,108 @@ following sections:</P>
 </UL>
 <H1><A NAME="2">2 References</A></H1>
 <H2><A NAME="2_1">2.1 CUPS Documentation</A></H2>
-<P>The following CUPS documentation is referenced by this document: </P>
+<P>The following CUPS documentation is referenced by this document:</P>
 <UL>
-<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan </LI>
-<LI>CUPS-IDD-1.1: CUPS System Interface Design Description </LI>
-<LI>CUPS-IPP-1.1: CUPS Implementation of IPP </LI>
-<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual </LI>
-<LI>CUPS-SDD-1.1: CUPS Software Design Description </LI>
-<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual </LI>
-<LI>CUPS-SSR-1.1: CUPS Software Security Report </LI>
-<LI>CUPS-STP-1.1: CUPS Software Test Plan </LI>
-<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual </LI>
-<LI>CUPS-SVD-1.1: CUPS Software Version Description </LI>
+<LI>CUPS-CMP-1.1: CUPS Configuration Management Plan</LI>
+<LI>CUPS-IDD-1.1: CUPS System Interface Design Description</LI>
+<LI>CUPS-IPP-1.1: CUPS Implementation of IPP</LI>
+<LI>CUPS-SAM-1.1.x: CUPS Software Administrators Manual</LI>
+<LI>CUPS-SDD-1.1: CUPS Software Design Description</LI>
+<LI>CUPS-SPM-1.1.x: CUPS Software Programming Manual</LI>
+<LI>CUPS-SSR-1.1: CUPS Software Security Report</LI>
+<LI>CUPS-STP-1.1: CUPS Software Test Plan</LI>
+<LI>CUPS-SUM-1.1.x: CUPS Software Users Manual</LI>
+<LI>CUPS-SVD-1.1: CUPS Software Version Description</LI>
 </UL>
 <H2><A NAME="2_2">2.2 Other Documents</A></H2>
-<P>The following non-CUPS documents are referenced by this document: </P>
+<P>The following non-CUPS documents are referenced by this document:</P>
 <UL>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/5003.PPD_Spec_v4.3.pdf">
-Adobe  PostScript Printer Description File Format Specification, 
Version 4.3.</A></LI>
+Adobe PostScript Printer Description File Format Specification, Version
+ 4.3.</A></LI>
 <LI><A HREF="http://partners.adobe.com/asn/developer/PDFS/TN/PLRM.pdf">
-Adobe  PostScript Language Reference, Third Edition.</A></LI>
-<LI>IPP: Job and Printer Set Operations </LI>
-<LI>IPP/1.1: Encoding and Transport </LI>
-<LI>IPP/1.1: Implementers Guide </LI>
-<LI>IPP/1.1: Model and Semantics </LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line 
-Printer Daemon Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design 
-Goals for an Internet Printing Protocol</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale 
-for the Structure of the Model and Protocol</A> for the Internet 
-Printing Protocol</LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping 
-between LPD and IPP Protocols</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext 
-Transfer Protocol -- HTTP/1.1</A></LI>
-<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP 
-Authentication: Basic and Digest Access</A> Authentication </LI>
+Adobe PostScript Language Reference, Third Edition.</A></LI>
+<LI>IPP: Job and Printer Set Operations</LI>
+<LI>IPP/1.1: Encoding and Transport</LI>
+<LI>IPP/1.1: Implementers Guide</LI>
+<LI>IPP/1.1: Model and Semantics</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc1179.txt">RFC 1179, Line Printer
+ Daemon Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2567.txt">RFC 2567, Design Goals
+ for an Internet Printing Protocol</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2568.txt">RFC 2568, Rationale
+ for the Structure of the Model and Protocol</A> for the Internet
+ Printing Protocol</LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2569.txt">RFC 2569, Mapping
+ between LPD and IPP Protocols</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2616.txt">RFC 2616, Hypertext
+ Transfer Protocol -- HTTP/1.1</A></LI>
+<LI><A HREF="http://www.ietf.org/rfc/rfc2617.txt">RFC 2617, HTTP
+ Authentication: Basic and Digest Access</A> Authentication</LI>
 </UL>
 <H1><A NAME="3">3 Additions</A></H1>
-<P>CUPS 1.1 includes many new features from the 1.0.x releases. </P>
+<P>CUPS 1.1 includes many new features from the 1.0.x releases.</P>
 <H2><A NAME="3_1">3.1 Filters</A></H2>
 <H3><A NAME="3_1_1">3.1.1 <CODE>imagetoraster</CODE>, <CODE>imagetops</CODE>
 </A></H3>
-<P>The image file filters have been upgraded to support conversion of 
-Microsoft Bitmap (&quot;BMP&quot;) and Alias PIX files. </P>
+<P>The image file filters have been upgraded to support conversion of
+ Microsoft Bitmap (&quot;BMP&quot;) and Alias PIX files.</P>
 <H3><A NAME="3_1_2">3.1.2 pdftops</A></H3>
-<P>A new pdftops filter has been developed that is based on the 
-excellent Xpdf 0.90 software from Derek B. Noonburg. The new filter is 
-faster, smaller, and considerably more reliable than the 
-Ghostscript-based filter in CUPS 1.0. </P>
+<P>A new pdftops filter has been developed that is based on the
+ excellent Xpdf 0.90 software from Derek B. Noonburg. The new filter is
+ faster, smaller, and considerably more reliable than the
+ Ghostscript-based filter in CUPS 1.0.</P>
 <H3><A NAME="3_1_3">3.1.3 pstoraster</A></H3>
-<P>The <CODE>pstoraster</CODE> filter has been integrated with GNU 
-GhostScript 5.50. The new RIP supports most Level 3 PostScript language 
-features. </P>
+<P>The <CODE>pstoraster</CODE> filter has been integrated with GNU
+ GhostScript 5.50. The new RIP supports most Level 3 PostScript language
+ features.</P>
 <H3><A NAME="3_1_4">3.1.4 rastertoepson</A></H3>
-<P>The new <CODE>rastertoepson</CODE> filter supports EPSON printers 
-using the ESC/P or ESC/P2 command sets. PPDs are supplied for 9-pin, 
-24-pin, Stylus Color, and Stylus Photo printers. </P>
+<P>The new <CODE>rastertoepson</CODE> filter supports EPSON printers
+ using the ESC/P or ESC/P2 command sets. PPDs are supplied for 9-pin,
+ 24-pin, Stylus Color, and Stylus Photo printers.</P>
 <H2><A NAME="3_2">3.2 User-Defined Printers and Options</A></H2>
-<P>The new <CODE>lpoptions</CODE> command allows users to configure 
-default document options and create additional &quot;instances&quot; of existing 
-printers, each with unique options. </P>
+<P>The new <CODE>lpoptions</CODE> command allows users to configure
+ default document options and create additional &quot;instances&quot; of existing
+ printers, each with unique options.</P>
 <P>The <CODE>lp</CODE>, <CODE>lpr</CODE>, and <CODE>lpstat</CODE>
- commands have been upgraded to use this option and printer instance 
-information automatically. </P>
+ commands have been upgraded to use this option and printer instance
+ information automatically.</P>
 <H2><A NAME="3_3">3.3 Daemons</A></H2>
-<P>CUPS 1.1 includes two new daemons that provide enhanced network 
-printing support. </P>
+<P>CUPS 1.1 includes two new daemons that provide enhanced network
+ printing support.</P>
 <H3><A NAME="3_3_1">3.3.1 cups-lpd</A></H3>
-<P>The <CODE>cups-lpd</CODE> daemon provides support for clients using 
-the Line Printer Daemon protocol. </P>
+<P>The <CODE>cups-lpd</CODE> daemon provides support for clients using
+ the Line Printer Daemon protocol.</P>
 <H3><A NAME="3_3_2">3.3.2 cups-polld</A></H3>
-<P>The <CODE>cups-polld</CODE> daemon provides remote polling services 
-for the scheduler. </P>
+<P>The <CODE>cups-polld</CODE> daemon provides remote polling services
+ for the scheduler.</P>
 <H2><A NAME="3_4">3.4 Commands</A></H2>
-<P>CUPS 1.1 includes several new printing commands. </P>
+<P>CUPS 1.1 includes several new printing commands.</P>
 <H3><A NAME="3_4_1">3.4.1 lpoptions</A></H3>
-<P>The <CODE>lpoptions</CODE> command provides user-defined printers 
-and options. </P>
+<P>The <CODE>lpoptions</CODE> command provides user-defined printers and
+ options.</P>
 <H3><A NAME="3_4_2">3.4.2 lpmove</A></H3>
-<P>The <CODE>lpmove</CODE> command moves a print job to a new 
-destination. </P>
+<P>The <CODE>lpmove</CODE> command moves a print job to a new
+ destination.</P>
 <H3><A NAME="3_4_3">3.4.3 lpinfo</A></H3>
-<P>The <CODE>lpinfo</CODE> command lists the available PPD files or 
-devices. </P>
+<P>The <CODE>lpinfo</CODE> command lists the available PPD files or
+ devices.</P>
 <H2><A NAME="3_5">3.5 IPP Implementation</A></H2>
 <P>CUPS 1.1 adds support for the <CODE>set-job-attributes</CODE>
- extension operation as well as two new CUPS-specific extension 
-operations to determine which devices and printer drivers are available 
-on the system. </P>
-<P>Further information on the CUPS implementation of IPP can be found 
-in CUPS-IPP-1.1. </P>
+ extension operation as well as two new CUPS-specific extension
+ operations to determine which devices and printer drivers are available
+ on the system.</P>
+<P>Further information on the CUPS implementation of IPP can be found in
+ CUPS-IPP-1.1.</P>
 <H1><A NAME="4">4 Changes</A></H1>
-<P>CUPS 1.1 includes many changes from the 1.0.x releases. </P>
+<P>CUPS 1.1 includes many changes from the 1.0.x releases.</P>
 <H2><A NAME="4_1">4.1 Directory Structure</A></H2>
-<P>The directory structure in CUPS 1.1 has been modified to conform to 
-the Filesystem Hierarchy Standard, 2.0. The following table describes 
-the new file locations. 
+<P>The directory structure in CUPS 1.1 has been modified to conform to
+ the Filesystem Hierarchy Standard, 2.0. The following table describes
+ the new file locations.
 <CENTER>
-<TABLE BORDER WIDTH="80%"><CAPTION> Table 1: Directory structure 
-changes from CUPS 1.0.x to 1.1.x.</CAPTION>
+<TABLE BORDER WIDTH="80%"><CAPTION> Table 1: Directory structure changes
+ from CUPS 1.0.x to 1.1.x.</CAPTION>
 <TR><TH>Description</TH><TH>CUPS 1.0.x</TH><TH>CUPS 1.1.x</TH></TR>
 <TR><TD>Backends</TD><TD>/var/cups/backend</TD><TD>/usr/lib/cups/backend</TD>
 </TR>
@@ -231,67 +231,66 @@ changes from CUPS 1.0.x to 1.1.x.</CAPTION>
 </CENTER>
 </P>
 <H2><A NAME="4_2">4.2 IPP Implementation</A></H2>
-<P>CUPS 1.1 is based on version 1.1 of the Internet Printing Protocol. </P>
+<P>CUPS 1.1 is based on version 1.1 of the Internet Printing Protocol.</P>
 <P>The new scheduler supports the <CODE>create-job</CODE> and <CODE>
 send-document</CODE> operations. In addition, the <CODE>job-sheets</CODE>
 , <CODE>job-sheets-default</CODE>, and <CODE>job-sheets-supported</CODE>
- attributes are now supported for banner pages. </P>
+ attributes are now supported for banner pages.</P>
 <P>The <CODE>CUPS-get-printers</CODE> and <CODE>CUPS-get-classes</CODE>
- operations have been upgraded to support limited filtering based upon 
-the <CODE>printer-type</CODE>, <CODE>printer-location</CODE>, <CODE>
-printer-info</CODE>, and <CODE>printer-make-and-model</CODE>
- attributes. </P>
+ operations have been upgraded to support limited filtering based upon
+ the <CODE>printer-type</CODE>, <CODE>printer-location</CODE>, <CODE>
+printer-info</CODE>, and <CODE>printer-make-and-model</CODE> attributes.</P>
 <P>The <CODE>CUPS-add-printer</CODE> operation now supports the <CODE>
-ppd-name</CODE> attribute to specify a locally-available PPD file 
-rather than sending the PPD file from the client with the request. </P>
-<P>Further information on the CUPS implementation of IPP can be found 
-in CUPS-IPP-1.1. </P>
+ppd-name</CODE> attribute to specify a locally-available PPD file rather
+ than sending the PPD file from the client with the request.</P>
+<P>Further information on the CUPS implementation of IPP can be found in
+ CUPS-IPP-1.1.</P>
 <H1 TYPE="A" VALUE="1"><A NAME="5">A Glossary</A></H1>
 <H2><A NAME="5_1">A.1 Terms</A></H2>
 <DL>
-<DT>C </DT>
-<DD>A computer language. </DD>
-<DT>parallel </DT>
-<DD>Sending or receiving data more than 1 bit at a time. </DD>
-<DT>pipe </DT>
-<DD>A one-way communications channel between two programs. </DD>
-<DT>serial </DT>
-<DD>Sending or receiving data 1 bit at a time. </DD>
-<DT>socket </DT>
-<DD>A two-way network communications channel. </DD>
+<DT>C</DT>
+<DD>A computer language.</DD>
+<DT>parallel</DT>
+<DD>Sending or receiving data more than 1 bit at a time.</DD>
+<DT>pipe</DT>
+<DD>A one-way communications channel between two programs.</DD>
+<DT>serial</DT>
+<DD>Sending or receiving data 1 bit at a time.</DD>
+<DT>socket</DT>
+<DD>A two-way network communications channel.</DD>
 </DL>
 <H2><A NAME="5_2">A.2 Acronyms</A></H2>
 <DL>
-<DT>ASCII </DT>
-<DD>American Standard Code for Information Interchange </DD>
-<DT>CUPS </DT>
-<DD>Common UNIX Printing System </DD>
-<DT>ESC/P </DT>
-<DD>EPSON Standard Code for Printers </DD>
-<DT>FTP </DT>
-<DD>File Transfer Protocol </DD>
-<DT>HP-GL </DT>
-<DD>Hewlett-Packard Graphics Language </DD>
-<DT>HP-PCL </DT>
-<DD>Hewlett-Packard Page Control Language </DD>
-<DT>HP-PJL </DT>
-<DD>Hewlett-Packard Printer Job Language </DD>
-<DT>IETF </DT>
-<DD>Internet Engineering Task Force </DD>
-<DT>IPP </DT>
-<DD>Internet Printing Protocol </DD>
-<DT>ISO </DT>
-<DD>International Standards Organization </DD>
-<DT>LPD </DT>
-<DD>Line Printer Daemon </DD>
-<DT>MIME </DT>
-<DD>Multimedia Internet Mail Exchange </DD>
-<DT>PPD </DT>
-<DD>PostScript Printer Description </DD>
-<DT>SMB </DT>
-<DD>Server Message Block </DD>
-<DT>TFTP </DT>
-<DD>Trivial File Transfer Protocol </DD>
+<DT>ASCII</DT>
+<DD>American Standard Code for Information Interchange</DD>
+<DT>CUPS</DT>
+<DD>Common UNIX Printing System</DD>
+<DT>ESC/P</DT>
+<DD>EPSON Standard Code for Printers</DD>
+<DT>FTP</DT>
+<DD>File Transfer Protocol</DD>
+<DT>HP-GL</DT>
+<DD>Hewlett-Packard Graphics Language</DD>
+<DT>HP-PCL</DT>
+<DD>Hewlett-Packard Page Control Language</DD>
+<DT>HP-PJL</DT>
+<DD>Hewlett-Packard Printer Job Language</DD>
+<DT>IETF</DT>
+<DD>Internet Engineering Task Force</DD>
+<DT>IPP</DT>
+<DD>Internet Printing Protocol</DD>
+<DT>ISO</DT>
+<DD>International Standards Organization</DD>
+<DT>LPD</DT>
+<DD>Line Printer Daemon</DD>
+<DT>MIME</DT>
+<DD>Multimedia Internet Mail Exchange</DD>
+<DT>PPD</DT>
+<DD>PostScript Printer Description</DD>
+<DT>SMB</DT>
+<DD>Server Message Block</DD>
+<DT>TFTP</DT>
+<DD>Trivial File Transfer Protocol</DD>
 </DL>
 </BODY>
 </HTML>
index f6551f82d9b98faf06f05535daa2c29e3119bed2..fb043e30e715ba8b746448de84f87090530b37b9 100644 (file)
Binary files a/doc/svd.pdf and b/doc/svd.pdf differ