draft-ietf-ipp-install-03.txt   draft-ietf-ipp-install-04.txt 
INTERNET-DRAFT Internet Printing Protocol WG Hugo Parra
<draft-ietf-ipp-install-03.txt> INTERNET-DRAFT Novell, Inc.
[Target category: standards track] Hugo Parra <draft-ietf-ipp-install-04.txt> Ted Tronson
Novell, Inc. Updates: RFC 2911 Novell, Inc.
Ted Tronson [Target category: standards track] Tom Hastings
Novell, Inc. Expires: January 17, 2002 Xerox Corp
Tom Hastings July 17, 2001
Xerox Corp.
April 5, 2001
Internet Printing Protocol (IPP): Internet Printing Protocol (IPP):
Printer Installation Extension Printer Installation Extension
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of [RFC2026]. Internet-Drafts are all provisions of Section 10 of [RFC2026]. Internet-Drafts are
working documents of the Internet Engineering Task Force (IETF), its working documents of the Internet Engineering Task Force (IETF), its
skipping to change at page 1, line 38 skipping to change at page 1, line 37
material or to cite them other than as "work in progress". material or to cite them other than as "work in progress".
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed as The list of Internet-Draft Shadow Directories can be accessed as
http://www.ietf.org/shadow.html. http://www.ietf.org/shadow.html.
Abstract Abstract
This document describes an extension to the Internet Printing This document describes an OPTIONAL extension to the Internet
Protocol/1.0 (IPP) [RFC2566, RFC2565] and IPP/1.1 [RFC2911, RFC2910]. Printing Protocol/1.0 (IPP) [RFC2566, RFC2565] and IPP/1.1 [RFC2911,
Various client platforms require that some setting up take place at RFC2910]. Various client platforms require that some setting up take
the workstation before the client can properly submit jobs to a place at the workstation before the client can properly submit jobs
specific printer. This setup process is sometimes referred to as to a specific printer. This setup process is sometimes referred to
printer installation. Most clients need some information about the as printer installation. Most clients need some information about
printer being installed as well as support files to complete the the printer being installed as well as support files to complete the
printer installation. The nature of these "Client Print Support printer installation. The nature of these "Client Print Support
Files" varies depending on the specific client platform, from simple Files" varies depending on the specific client platform, from simple
configuration files to highly sophisticated printer drivers. The configuration files to highly sophisticated printer drivers. The
selection and installation process can be simplified and even selection and installation process can be simplified and even
automated if the workstation can learn some key information about the automated if the workstation can learn some key information about the
printer and which sets of Client Print Support Files are available. printer and which sets of Client Print Support Files are available.
Such key information includes: operating system type, CPU type, Such key information includes: operating system type, CPU type,
document-format (PDL), natural language, compression mechanism, file document-format (PDL), natural language, compression mechanism, file
type, client file name, policy for automatic loading, file size, file type, client file name, policy for automatic loading, file size, file
version, file date and time, file information description, and version, file date and time, file information description, and
digital signature. digital signature.
Table of Contents Table of Contents
1 Introduction....................................................5 1 Introduction.....................................................5
2 Terminology.....................................................5
3 Model Extensions................................................6
3.1 client-print-support-files-supported (1setOf octetString(MAX)) 2 Terminology......................................................5
..........................................................6 3 Model Extensions.................................................6
3.1 client-print-support-files-supported (1setOf octetString(MAX)).6
3.1.1 Use of Keyword Values in fields.............................11 3.1.1 Use of Keyword Values in fields.............................11
3.1.2 Use of the Special Keyword Value: 'unknown'.................11 3.1.2 Use of the Special Keyword Value: 'unknown'.................11
3.1.3 Examples of "client-print-support-files-supported" attribute 3.1.3 Examples of "client-print-support-files-supported" attribute
values.................................................11 values.................................................11
3.2 Get-Printer-Attributes Operation Extension....................12
3.2 Get-Printer-Attributes Operation Extension..................12
3.2.1 Get-Printer-Attributes Request..............................12 3.2.1 Get-Printer-Attributes Request..............................12
3.2.1.1 client-print-support-files-filter (octetString(MAX)) 3.2.1.1 client-print-support-files-filter (octetString(MAX))
operation attribute..................................12 operation attribute..................................12
3.2.1.1.1 Filter matching rules...................................14
3.2.1.1.1 Filter matching rules.................................14
3.2.2 Get-Printer-Attributes Response.............................15 3.2.2 Get-Printer-Attributes Response.............................15
3.3 Get-Client-Print-Support-Files................................17
3.3.1 Get-Client-Print-Support-Files Request......................17
3.3.2 Get-Client-Print-Support-Files Response.....................18
3.3 Get-Client-Print-Support-Files..............................16 4 New Values for Existing Printer Description Attributes..........19
3.3.1 Get-Client-Print-Support-Files Request......................16
3.3.2 Get-Client-Print-Support-Files Response.....................17
4 Conformance....................................................18
4.1 Printer Conformane Requirements.............................18
4.2 Client Conformance Requirements.............................18
5 Encoding of the Operation Layer................................19
6 Encoding of Transport Layer....................................19
7 IANA Considerations............................................19 5 Conformance.....................................................19
5.1 Printer Conformance Requirements..............................19
5.2 Client Conformance Requirements...............................20
7.1 Attribute Registrations.....................................20 6 Encoding of the Operation Layer.................................20
7.2 Operation Registrations.....................................21 7 IANA Considerations.............................................20
7.1 Attribute Registrations.......................................21
7.2 Additional Attribute Value Registrationsfor existing attributes21
7.2.1 Additional values for the "client-print-support-files-xxx"
attributes.............................................21
7.2.2 Additional values for the "operations-supported" Printer
attribute..............................................23
7.3 Operation Registrations.......................................23
7.4 Status Code Registrations.....................................23
8 Internationalization Considerations............................21 8 Internationalization Considerations.............................24
9 Security Considerations........................................21 9 Security Considerations.........................................24
10 References.....................................................22 10 Status Code Extensions.........................................25
10.1 client-error-client-print-support-file-not-found (0x0417)....25
11 References.....................................................25
11 Author's Addresses.............................................24 12 Author's Addresses.............................................27
12 Description of the Base IPP Documents..........................24 13 Description of the Base IPP Documents..........................28
13 Full Copyright Statement.......................................25 14 Full Copyright Statement.......................................29
Tables Tables
Table 1 - "client-print-support-files-supported" attribute fields..8 Table 1 - "client-print-support-files-supported" attribute fields..8
Table 2 - "client-print-support-files-filter" attribute fields....13 Table 2 - "client-print-support-files-filter" attribute fields....13
Table 3 - REQUIRED "client-print-support-files-filter" fields.....14
Table 3 - REQUIRED "client-print-support-files-filter" fields.....13 Table 4 - Operation-id assignments................................19
1 Introduction 1 Introduction
This IPP notification specification is an OPTIONAL extension to
Internet Printing Protocol/1.0 (IPP) [RFC2566, RFC2565] and IPP/1.1
[RFC2911, RFC2910]. See section 13 for a brief description of the
IPP base documents.
A common configuration for printing from a workstation requires that A common configuration for printing from a workstation requires that
some Client Print Support Files (e.g., PPD, printer driver files) some Client Print Support Files (e.g., PPD, printer driver files)
specific to the target printer be installed on that workstation. specific to the target printer be installed on that workstation.
Selection and configuration of the appropriate Client Print Support Selection and configuration of the appropriate Client Print Support
Files can be simplified and even automated if the workstation can Files can be simplified and even automated if the workstation can
obtain some key information about the printer and which sets of obtain some key information about the printer and which sets of
Client Print Support Files are available. Such key information Client Print Support Files are available. Such key information
includes: operating system type, CPU type, document-format (PDL), includes: operating system type, CPU type, document-format (PDL),
natural language, compression mechanism, file type, client file name, natural language, compression mechanism, file type, client file name,
policy for automatic loading, file size, file version, file date and policy for automatic loading, file size, file version, file date and
time, file information description, and digital signature. The IPP time, file information description, and digital signature.
extension defined in this document provides a simple and reliable
vehicle for printers to convey this information to interested The OPTIONAL IPP extension defined in this document provides a simple
workstations. This extension enables a flexible solution for and reliable vehicle for printers to convey this information to
installing Client Print Support Files on workstations running interested workstations. This extension enables a flexible solution
for installing Client Print Support Files on workstations running
different operating systems and for printers of all makes and models. different operating systems and for printers of all makes and models.
It allows Client Print Support Files to be downloaded from It allows Client Print Support Files to be downloaded from
repositories of different sorts. A possible repository for the files repositories of different sorts. A possible repository for the files
is the printer itself. The extensions necessary for getting Client is the printer itself. The extensions necessary for getting Client
Print Support Files from the printer are included in this document, Print Support Files from the printer are included in this document,
including security for downloading executable code and data. including security for downloading executable code and data.
2 Terminology 2 Terminology
This section defines the following terms that are used throughout
this document:
This document uses the same terminology as [RFC2911], such as
"attribute", "attribute value", "keyword", "operation", "request",
"response", and "support". In addition, the following terms are
defined for use in this document and the Delivery Method Documents:
Client Print Support Files - a set of files, such as a printer Client Print Support Files - a set of files, such as a printer
driver, font metric file, printer configuration file (PPD, GPD, etc.) driver, font metric file, printer configuration file (PPD, GPD, etc.)
that support a client printing to a particular Printer. A Printer that support a client printing to a particular Printer. A Printer
MAY have multiple sets of Client Print Support Files that work for MAY have multiple sets of Client Print Support Files that work for
different operating systems, document formats, natural languages, different operating systems, document formats, natural languages,
CPUs, etc. CPUs, etc.
This document uses terms such as "attributes", "keywords", and This document uses the same terminology as [RFC2911], such as
"support". These terms have special meaning and are defined in the "client", "Printer", "attribute", "attribute value", "keyword",
model terminology [RFC2911] section 12.2. This document also uses "operation", "request", "response", and "support". This document
the terms "IPP Printer", "Printer" and "Printer object" also uses the terms "IPP Printer", "Printer" and "Printer object"
interchangeably as in [RFC2911] to mean the software entity that interchangeably as in [RFC2911] to mean the software entity that
accepts IPP operation requests and returns IPP operation responses accepts IPP operation requests and returns IPP operation responses
(see [RFC2911] section 2). (see [RFC2911] section 2).
Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD,
NOT, MAY, NEED NOT, and OPTIONAL, have special meaning relating to SHOULD NOT, MAY, NEED NOT, and OPTIONAL, have special meaning
conformance. These terms are defined in [RFC2911] section 12.1 on relating to conformance as define in RFC 2119 [RFC2119] and
conformance terminology, most of which is taken from RFC 2119 [RFC2911] section 12.1. If an implementation supports the
[RFC2119]. extension defined in this document, then these terms apply;
otherwise, they do not. These terms define conformance to this
This section defines the following additional terms that are used document only; they do not affect conformance to other
throughout this document: documents, unless explicitly stated otherwise.
REQUIRED: if an implementation supports the extensions described
in this document, it MUST support a REQUIRED feature.
OPTIONAL: if an implementation supports the extensions described
in this document, it MAY support an OPTIONAL feature.
3 Model Extensions 3 Model Extensions
To assist workstations in the printer installation process, an IPP To assist workstations in the printer installation process, an IPP
printer needs to provide the workstation with information about the printer needs to provide the workstation with information about the
Client Print Support Files, such as the their name and location/s. Client Print Support Files, such as the their name and location/s.
This information needs to match the workstation's specific This information needs to match the workstation's specific
environment, such as its operating system, preferred natural environment, such as its operating system, preferred natural
language, and preferred document format. language, and preferred document format.
skipping to change at page 8, line 7 skipping to change at page 8, line 7
for registering additional values of attributes. Additional fields for registering additional values of attributes. Additional fields
can be registered with IANA according to the procedures defined in can be registered with IANA according to the procedures defined in
[RFC2911] for registering attributes. See section 7. [RFC2911] for registering attributes. See section 7.
Clients SHOULD ignore fields they don't recognize in a given value. Clients SHOULD ignore fields they don't recognize in a given value.
This allows for future extensions to the format of the string without This allows for future extensions to the format of the string without
breaking compatibility with earlier clients. breaking compatibility with earlier clients.
Table 1 - "client-print-support-files-supported" attribute fields Table 1 - "client-print-support-files-supported" attribute fields
Field Field value Field
name name Field value
"uri" One REQUIRED CASE-SENSITIVE 'uri' string identifying the "uri" One REQUIRED CASE-SENSITIVE 'uri' string identifying the
uri where to obtain the support files for each OS uri where to obtain the support files for each OS
platform, document format, and natural language the platform, document format, and natural language the
printer supports. This MUST be the first field in each printer supports. This MUST be the first field in each
value. Examples of uri schemes that MAY be found here value. Examples of uri schemes that MAY be found here
are 'ftp', 'http', and 'ipp'. The 'ftp' and 'http' are 'ftp', 'http', and 'ipp'. The 'ftp' and 'http'
schemed URIs identify the archive file that contains all schemed URIs identify the archive file that contains all
the necessary client support files. the necessary client support files.
skipping to change at page 8, line 51 skipping to change at page 9, line 4
'os/2', 'sun-os-4.0', 'unix', 'unix-bsd', 'win32', 'os/2', 'sun-os-4.0', 'unix', 'unix-bsd', 'win32',
'windows-95', 'windows-98', 'windows-ce', 'windows-nt', 'windows-95', 'windows-98', 'windows-ce', 'windows-nt',
'windows-nt-4', 'windows-nt-5', 'unknown'. 'windows-nt-4', 'windows-nt-5', 'unknown'.
"cpu- One or more REQUIRED comma-separated LOWER-CASE "cpu- One or more REQUIRED comma-separated LOWER-CASE
type" 'keyword' strings identifying the CPU types supported by type" 'keyword' strings identifying the CPU types supported by
this set of Client Print Support Files. The values this set of Client Print Support Files. The values
indicate the CPU family independent of the CPU indicate the CPU family independent of the CPU
manufacturer. Standard keyword values are: 'x86-16', manufacturer. Standard keyword values are: 'x86-16',
'x86-32', 'x86-64', 'dec-vax', 'alpha', 'power-pc', 'm- 'x86-32', 'x86-64', 'dec-vax', 'alpha', 'power-pc', 'm-
68000, 'sparc', 'itantium', 'mips', 'arm' and will be
Field Field value Field Field value
name name
'x86-32', 'x86-64', 'dec-vax', 'alpha', 'power-pc', 'm-
68000, 'sparc', 'itantium', 'mips', 'arm' and will be
used as the initial value for the "cpu-type" IANA used as the initial value for the "cpu-type" IANA
registry. In addition, the special keyword value: registry. In addition, the special keyword value:
'unknown' is valid. 'unknown' is valid.
"document One or more REQUIRED comma-separated CASE-SENSITIVE "document One or more REQUIRED comma-separated CASE-SENSITIVE
-format" 'mimeMediaType' strings identifying the document formats -format" 'mimeMediaType' strings identifying the document formats
supported by this set of Client Print Support Files. supported by this set of Client Print Support Files.
Valid values are the string representation of the IPP Valid values are the string representation of the IPP
mimeMediaType attribute syntax (see [RFC2911] section mimeMediaType attribute syntax (see [RFC2911] section
4.1.9), for example 'application/postscript'. In 4.1.9), for example 'application/postscript'. In
skipping to change at page 9, line 47 skipping to change at page 10, line 5
"compression" field that a Printer supports NEED NOT be "compression" field that a Printer supports NEED NOT be
the same values that the Printer is configured to the same values that the Printer is configured to
support in Job Creation operations as indicated in the support in Job Creation operations as indicated in the
Printer's "compressions-supported" attribute. Printer's "compressions-supported" attribute.
"file- One or more REQUIRED comma-separated LOWER-CASE "file- One or more REQUIRED comma-separated LOWER-CASE
type" 'keyword' strings identifying the type of the Client type" 'keyword' strings identifying the type of the Client
Print Support Files. Standard keyword values are: Print Support Files. Standard keyword values are:
'printer-driver', 'ppd', 'updf', 'gpd'. 'printer-driver', 'ppd', 'updf', 'gpd'.
Field Field value
name
"client- One REQUIRED CASE-SENSITIVE string identifying the name "client- One REQUIRED CASE-SENSITIVE string identifying the name
file- by which the Client Print Support Files will be file- by which the Client Print Support Files will be
name" installed on the workstation. For Client Print Support name" installed on the workstation. For Client Print Support
Files of type 'printer-driver', this is also the name Files of type 'printer-driver', this is also the name
Field Field value
name
that identifies this printer driver in an .inf file. that identifies this printer driver in an .inf file.
"policy" One OPTIONAL LOWER-CASE 'keyword' string indicating the "policy" One OPTIONAL LOWER-CASE 'keyword' string indicating the
policy for automatic loading. Standard keyword values policy for automatic loading. Standard keyword values
are: 'manufacturer-recommended', 'administrator- are: 'manufacturer-recommended', 'administrator-
recommended', 'manufacturer-experimental, recommended', 'manufacturer-experimental,
'administrator-experimental'. The experimental values 'administrator-experimental'. The experimental values
are for beta test. are for beta test.
"file- One OPTIONAL file size in octets represented as ASCII "file- One OPTIONAL file size in octets represented as ASCII
skipping to change at page 10, line 47 skipping to change at page 11, line 5
field value MUST not exceed 127 characters. field value MUST not exceed 127 characters.
"digital- One REQUIRED LOWER-CASE 'keyword' string identifying the "digital- One REQUIRED LOWER-CASE 'keyword' string identifying the
signature mechanism used to ensure the integrity and authenticity signature mechanism used to ensure the integrity and authenticity
" of this set of Client Print Support Files. Standard " of this set of Client Print Support Files. Standard
values are: 'smime', 'pgp', 'dss', and 'xmldsig' which values are: 'smime', 'pgp', 'dss', and 'xmldsig' which
are defined in [RFC2634], [RFC1991], [dss], and are defined in [RFC2634], [RFC1991], [dss], and
[xmldsig], respectively. In addition, the special [xmldsig], respectively. In addition, the special
keyword value: 'none' is valid. keyword value: 'none' is valid.
Field Field value
name
keyword value: 'none' is valid.
Each value MUST refer to one and only one set of Client Print Support Each value MUST refer to one and only one set of Client Print Support
Files, even if the files are downloadable from various repositories Files, even if the files are downloadable from various repositories
(i.e., even if they are associated with multiple URIs). (i.e., even if they are associated with multiple URIs).
3.1.1 Use of Keyword Values in fields 3.1.1 Use of Keyword Values in fields
A number of the fields in Table 1 use keyword strings as values. The A number of the fields in Table 1 use keyword strings as values. The
syntax of these keywords is the same as in [RFC2911], including the syntax of these keywords is the same as in [RFC2911], including the
use of private keywords. See [RFC2911] sections 4.1.3 and 6.1. use of private keywords. See [RFC2911] sections 4.1.3 and 6.1.
Printer implementers are strongly RECOMMENDED to submit additional Printer implementers are strongly RECOMMENDED to submit additional
skipping to change at page 15, line 12 skipping to change at page 15, line 30
The workstation can then choose from the returned list which Client The workstation can then choose from the returned list which Client
Print Support Files to use and where to get them. If one of the URIs Print Support Files to use and where to get them. If one of the URIs
returned is an IPP uri, the workstation can retrieve the Client Print returned is an IPP uri, the workstation can retrieve the Client Print
Support Files from an IPP printer via the Get-Client-Print-Support- Support Files from an IPP printer via the Get-Client-Print-Support-
Files operation (see section 3.3). Files operation (see section 3.3).
3.2.2 Get-Printer-Attributes Response 3.2.2 Get-Printer-Attributes Response
A Printer MUST return the "client-print-support-files-supported" A Printer MUST return the "client-print-support-files-supported"
(1setOf octetString(MAX)) attribute in the Printer Object Attributes (1setOf octetString(MAX)) attribute in the Printer Object Attributes
group (group 3) when requested by a client. Each returned attribute group (Group 3) when requested by a client, unless there are no
value MUST satisfy the criteria specified by the client in the matches, in which case the attribute is not returned in Group 3.
request. Each returned attribute value MUST satisfy the criteria specified by
the client in the request.
For example, if the request contains the following "client-print- For example, if the request contains the following "client-print-
support-files-filter" filter: support-files-filter" filter:
os-type=windows-95< cpu-type=x86-32< os-type=windows-95< cpu-type=x86-32<
document-format=application-postscript< document-format=application-postscript<
natural-language=en,de< natural-language=en,de<
A conforming response is the following two octet String values: A conforming response is the following two octet String values:
uri=ipp://mycompany.com/myprinter?drv-id=ModelY.gz< uri=ipp://mycompany.com/myprinter?drv-id=ModelY.gz<
os-type=windows-95< cpu-type=x86-32< os-type=windows-95< cpu-type=x86-32<
document-format=application/postscript< document-format=application/postscript<
natural-language=en< compression=gzip< natural-language=en< compression=gzip<
file-type=printer-driver< file-type=printer-driver<
client-file-name=CompanyX-ModelY-driver.gz< client-file-name=CompanyX-ModelY-driver.gz<
policy=manufacturer-recommended< policy=manufacturer-recommended<
digital-signature=smime< digital-signature=smime<
skipping to change at page 17, line 21 skipping to change at page 17, line 49
supplied by the client as described in [RFC2911], section 8.3. supplied by the client as described in [RFC2911], section 8.3.
"client-print-support-files-query" (text(127)): "client-print-support-files-query" (text(127)):
The client MUST supply this attribute specifying the query part The client MUST supply this attribute specifying the query part
[RFC2396] of the ipp uri for the desired Client Print Support [RFC2396] of the ipp uri for the desired Client Print Support
Files not including the "?" character that starts the query Files not including the "?" character that starts the query
part, i.e., the value of the "uri" field following the "?" part, i.e., the value of the "uri" field following the "?"
character returned by the Get-Printer-Attributes in one of the character returned by the Get-Printer-Attributes in one of the
values of the "client-print-support-files-supported" (1setOf values of the "client-print-support-files-supported" (1setOf
octetString(MAX)) Printer attribute (see Table 1) that had an octetString(MAX)) Printer attribute (see Table 1) that had an
'ipp' scheme. 'ipp' scheme. If the Printer does not find any Client Print
Support Files which match the query, the Printer MUST reject
this request with a 'client-error-client-print-support-file-not-
found' status code (see section 10.1).
3.3.2 Get-Client-Print-Support-Files Response 3.3.2 Get-Client-Print-Support-Files Response
The Printer object returns the following sets of attributes as part The Printer object returns the following sets of attributes as part
of the Get-Client-Print-Support-Files Response: of the Get-Client-Print-Support-Files Response:
Group 1: Operation Attributes Group 1: Operation Attributes
Status Message: Status Message:
In addition to the REQUIRED status code returned in every In addition to the REQUIRED status code returned in every
skipping to change at page 18, line 10 skipping to change at page 18, line 41
This attribute identifies the properties of the returned Client This attribute identifies the properties of the returned Client
Print Support Files. The Printer object MUST return this Print Support Files. The Printer object MUST return this
attribute if the response includes Group 4 (i.e., if a set of attribute if the response includes Group 4 (i.e., if a set of
Client Print Support Files identified by the supplied "client- Client Print Support Files identified by the supplied "client-
print-support-files-query" operation attribute was found). The print-support-files-query" operation attribute was found). The
Printer MUST return all configured fields for the selected Printer MUST return all configured fields for the selected
Client Print Support Files in the format shown in section 3.1. Client Print Support Files in the format shown in section 3.1.
Group 4: Client Print Support Files Group 4: Client Print Support Files
The printer MUST supply the Client Print Support Files that match The printer MUST supply the Client Print Support Files that match
the client's criteria following the "end-of-attributes" tag. All the client's criteria following the "end-of-attributes" tag, same
necessary files MUST be compressed into a single transferred file. as for the Print-Job request. All necessary files MUST be
compressed into a single transferred file.
4 Conformance 4 New Values for Existing Printer Description Attributes
4.1 Printer Conformane Requirements The following "operation-id" value is added in order to support the
new operation defined in this document:
Table 4 - Operation-id assignments
Value Operation Name
0x0021 Get-Client-Print-Support-Files
5 Conformance
5.1 Printer Conformance Requirements
A Printer conforming to this specification: A Printer conforming to this specification:
1.MUST support the "client-print-support-files-supported" Printer 1.MUST support the "client-print-support-files-supported" Printer
Description attribute as defined in section 3.1, including all Description attribute as defined in section 3.1, including all
of the REQUIRED fields defined in Table 1 and MAY support the of the REQUIRED fields defined in Table 1 and MAY support the
OPTIONAL fields defined in Table 1. OPTIONAL fields defined in Table 1.
2.MUST support the "client-print-support-files-filter" operation 2.MUST support the "client-print-support-files-filter" operation
attribute in the Get-Printer-Attributes request as defined in attribute in the Get-Printer-Attributes request as defined in
skipping to change at page 18, line 43 skipping to change at page 20, line 5
4.SHOULD support the Get-Client-Print-Support-Files operation as 4.SHOULD support the Get-Client-Print-Support-Files operation as
described in section 3.3. If this operation is supported, then described in section 3.3. If this operation is supported, then
one of the supported schemes MUST be 'ipp'. one of the supported schemes MUST be 'ipp'.
5.SHOULD support TLS as described in section 9. 5.SHOULD support TLS as described in section 9.
6.SHOULD support at least one method for the downloading of Client 6.SHOULD support at least one method for the downloading of Client
Print Support Files that have been digitally signed as described Print Support Files that have been digitally signed as described
in section 9. in section 9.
4.2 Client Conformance Requirements 5.2 Client Conformance Requirements
A client conforming to this specification: A client conforming to this specification:
1.MUST ignore any fields returned by the Printer in the "client- 1.MUST ignore any fields returned by the Printer in the "client-
print-support-files-supported" Printer Description attribute print-support-files-supported" Printer Description attribute
that the client does not recognize or support. that the client does not recognize or support.
2.SHOULD be able to retrieve Client Print Support Files by either 2.SHOULD be able to retrieve Client Print Support Files by either
FTP Get or HTTP Get operations. FTP Get or HTTP Get operations.
skipping to change at page 19, line 21 skipping to change at page 20, line 29
4.MUST supply the proper URI value for the "printer-uri" operation 4.MUST supply the proper URI value for the "printer-uri" operation
attribute as specified in section 3.3.1 under Target:. attribute as specified in section 3.3.1 under Target:.
5.MUST validate that files that are supposed to be digitally 5.MUST validate that files that are supposed to be digitally
signed are done with the indicated mechanism as described in signed are done with the indicated mechanism as described in
section 9. section 9.
6.SHOULD support TLS as described in section 9. 6.SHOULD support TLS as described in section 9.
5 Encoding of the Operation Layer 6 Encoding of the Operation Layer
This extension uses the operation layer encoding described in This extension uses the operation layer encoding described in
[RFC2910]. [RFC2910].
6 Encoding of Transport Layer
This specification uses the transport layer encoding described in
[RFC2910] with the following extensions.
New Error codes:
0x0417 client-error-client-print-support-file-not-found
New Operation code
0x0021 Get-Client-Print-Support-Files
7 IANA Considerations 7 IANA Considerations
The IANA-registered operating system names that IANA has registered The IANA-registered operating system names that IANA has registered
[os-names] are required by this spec for use in the "os-type" field [os-names] are required by this spec for use in the "os-type" field
(see Table 1). (see Table 1).
Table 1 of this document defines possible 'keyword' values for the Table 1 of this document defines possible 'keyword' values for the
"cpu-type" field. However, the existing IANA machine registration "cpu-type" field. However, the existing IANA machine registration
[cpu-names] is inadequate for two reasons: a) it is really a machine [cpu-names] is inadequate for two reasons: a) it is really a machine
model number, not a CPU type, and b) it doesn't express whether a model number, not a CPU type, and b) it doesn't express whether a
CPU is 16-bit, 32-bit, or 64-bit which needs to be indicated in the CPU is 16-bit, 32-bit, or 64-bit which needs to be indicated in the
keyword value. Therefore, the "os-type" field will be a new keyword value. Therefore, the "os-type" field will be a new
registration with initial values assigned. registration with initial values assigned.
Implementers may register additional values for the fields defined in Implementers may register additional values for the fields defined in
Table 1 with IANA according to the procedures in [RFC2911] for Table 1 with IANA according to the procedures in [RFC2911] for
registering additional values of attributes. Implementers may registering additional values of attributes. Implementers may
register additional fields with IANA according to the procedures register additional fields with IANA according to the procedures
defined in [RFC2911] for registering attributes. defined in [RFC2911] for registering attribute values, even though
fields are more like attributes (see section 7.2.1).
The rest of this section contains the exact information for IANA to The rest of this section contains the registration information for
add to the IPP Registries according to the procedures defined in RFC IANA to add to the various IPP Registries according to the procedures
2911 [RFC2911] section 6. defined in RFC 2911 [RFC2911] section 6 to cover the definitions in
this document.
Note to RFC Editors: Replace RFC NNNN below with the RFC number Note to RFC Editors: Replace RFC NNNN below with the RFC number
for this document, so that it accurately reflects the content of for this document, so that it accurately reflects the content of
the information for the IANA Registry. the information for the IANA Registry.
7.1 Attribute Registrations 7.1 Attribute Registrations
The attributes and fields defined in this document will be published The following table lists all attributes and fields defined in this
by IANA according to the procedures in RFC 2911 [RFC2911] section 6.2 document. These are to be registered according to the procedures in
with the following path: RFC 2911 [RFC2911] section 6.2.
ftp.isi.edu/iana/assignments/ipp/attributes/
The registry entry will contain the following information:
Printer Description Attributes: Ref: Section: Printer Description Attributes: Ref: Section:
client-print-support-files-supported (1setOf octetString(MAX)) client-print-support-files-supported (1setOf octetString(MAX))
RFC NNNN 3.1 RFC NNNN 3.1
For purposes of IANA attribute registration, the following fields of Operation Attributes: Ref: Section:
the "client-print-support-files-supported" and the "client-print- client-print-support-files-filter (octetString(MAX)) RFC NNNN 3.2
support-files-filter" attributes are registered following the
procedures for IPP attribute registration: The resulting attribute registrations will be published in the
Ref: Section: ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attributes/
uri (uri) RFC NNNN 3.1 area.
7.2 Additional Attribute Value Registrationsfor existing attributes
This section lists additional attribute value registrations for use
with existing attributes defined in other documents.
7.2.1 Additional values for the "client-print-support-files-xxx"
attributes
The following table lists the fields defined in this document for use
with the "client-print-support-files-supported" Printer Description
(defined in section ) attribute and the "client-print-support-files-
filter" operation attribute (defined in section ). For purposes of
IANA registration, the following fields are registered according to
the attribute value procedures in RFC 2911 [RFC2911] section 6.1,
even though they are more like attributes and have an attribute
syntax and string values.
field Attribute Values: Ref: Section:
os-type (type2 keyword) RFC NNNN 3.1 os-type (type2 keyword) RFC NNNN 3.1
cpu-type (type2 keyword) RFC NNNN 3.1 cpu-type (type2 keyword) RFC NNNN 3.1
document-format (mimeMediaType) RFC NNNN 3.1 document-format (mimeMediaType) RFC NNNN 3.1
natural-language (naturalLanguage) RFC NNNN 3.1 natural-language (naturalLanguage) RFC NNNN 3.1
compression (type2 keyword) RFC NNNN 3.1 compression (type2 keyword) RFC NNNN 3.1
file-type (type2 keyword) RFC NNNN 3.1 file-type (type2 keyword) RFC NNNN 3.1
client-file-name (name(MAX)) RFC NNNN 3.1 client-file-name (name(MAX)) RFC NNNN 3.1
policy (type2 keyword) RFC NNNN 3.1 policy (type2 keyword) RFC NNNN 3.1
file-size (integer(0:MAX)) RFC NNNN 3.1 file-size (integer(0:MAX)) RFC NNNN 3.1
file-version (name(MAX)) RFC NNNN 3.1 file-version (name(MAX)) RFC NNNN 3.1
file-date-time (text(25)) RFC NNNN 3.1 file-date-time (text(25)) RFC NNNN 3.1
file-info (text(127)) RFC NNNN 3.1 file-info (text(127)) RFC NNNN 3.1
digital-signature (type2 keyword) RFC NNNN 3.1 digital-signature (type2 keyword) RFC NNNN 3.1
The resulting URI scheme attribute value registration will be
published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute-
values/client-print-support-files-supported/
AND
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute-
values/client-print-support-files-filter/
areas.
uri (uri) RFC NNNN 3.1
The resulting URI scheme attribute value registration will be
published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute-
values/client-print-support-files-supported/
area.
uri-scheme (uriScheme) RFC NNNN 3.2 uri-scheme (uriScheme) RFC NNNN 3.2
Operation Attributes: Ref: Section: The resulting URI scheme attribute value registration will be
client-print-support-files-filter (octetString(MAX))RFC NNNN 3.2 published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute-
7.2 Operation Registrations values/client-print-support-files-filter/
area.
The operations defined in this document will be published by IANA 7.2.2 Additional values for the "operations-supported" Printer attribute
according to the procedures in RFC 2911 [RFC2911] section 6.4 with
the following path:
ftp.isi.edu/iana/assignments/ipp/operations/ The following table lists the enum attribute value defined in this
document as an additional type2 enum value for use with the
"operations-supported" Printer attribute defined in [RFC2911]. This
is to be registered according to the procedures in RFC 2911 [RFC2911]
section 6.1.
The registry entry will contain the following information: type2 enum Attribute Values: Value Ref. Section:
Get-Clint-Print-Support-Files 0x0021 RFC NNNN 4
The resulting enum attribute value registration will be published in
the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute-
values/operations-supported/
area.
7.3 Operation Registrations
The following table lists the operation defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.4.
Operations: Ref. Section: Operations: Ref. Section:
Get-Client-Print-Support-Files RFC NNNN 3.3 Get-Client-Print-Support-Files RFC NNNN 3.3
The resulting operation registration will be published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/operations/
area.
7.4 Status Code Registrations
The following table lists the status code defined in this document.
This is to be registered according to the procedures in RFC 2911
[RFC2911] section 6.6.
Status codes: Ref. Section:
client-error-client-print-support-file-not-found (0x0417)
RFC NNNN 10.1
The resulting status code registration will be published in the
ftp://ftp.iana.org/in-notes/iana/assignments/ipp/status-codes/
area.
8 Internationalization Considerations 8 Internationalization Considerations
All text representations introduced by this specification adhere to All text representations introduced by this specification adhere to
the internationalization-friendly representation supported by IPP. the internationalization-friendly representation supported by IPP.
This work is also accommodates the use of Client Print Support Files This work is also accommodates the use of Client Print Support Files
of different languages. of different languages.
9 Security Considerations 9 Security Considerations
The IPP Model and Semantics document [RFC2911] discusses high-level The IPP Model and Semantics document [RFC2911] discusses high-level
skipping to change at page 22, line 30 skipping to change at page 25, line 19
Support Files that are supposed to be signed (i.e., whose client- Support Files that are supposed to be signed (i.e., whose client-
print-support-files-supported attribute value includes the "digital- print-support-files-supported attribute value includes the "digital-
signature" field) are indeed signed via the specified mechanism when signature" field) are indeed signed via the specified mechanism when
downloaded from the printer. downloaded from the printer.
Furthermore, printers that support the Get-Client-Print-Support-Files Furthermore, printers that support the Get-Client-Print-Support-Files
operation SHOULD implement TLS to provide application level channel operation SHOULD implement TLS to provide application level channel
security and enable users to reliably authenticate the source of the security and enable users to reliably authenticate the source of the
Client Print Support Files. Client Print Support Files.
10 References 10 Status Code Extensions
The following status code is defined as an extension for Notification
and is returned as the value of the "status-code" parameter in the
Operation Attributes Group of a response (see [RFC2911] section
3.1.6.1).
10.1 client-error-client-print-support-file-not-found (0x0417)
The Printer was unable to match the query in the Get-Client-Print-
Support-Files request with any Client Print Support Files. This
status code is not used with the Get-Printer-Attributes operation.
11 References
[cpu-names] [cpu-names]
IANA Registry of CPU Names at ftp://ftp.isi.edu/in- IANA Registry of CPU Names at ftp://ftp.iana.org/in-
notes/iana/assignments/XXX. notes/iana/assignments/XXX.
[dss] [dss]
U.S. Department of Commerce, "Digital Signature Standard (DDS)", U.S. Department of Commerce, "Digital Signature Standard (DDS)",
Federal Information Processing Standards Publication 186-1 (FIPS Federal Information Processing Standards Publication 186-1 (FIPS
PUB 186-1), December 15, 1998. PUB 186-1), December 15, 1998.
[ipp-url] [ipp-url]
Herriot, R., McDonald, I., "Internet Printing Protocol (IPP): IPP Herriot, R., McDonald, I., "Internet Printing Protocol (IPP): IPP
URL Scheme." <draft-ietf-ipp-url-scheme-02.txt>, February 14, URL Scheme." <draft-ietf-ipp-url-scheme-03.txt>, April 2, 2001.
2001.
[os-names] [os-names]
IANA Registry of Operating System Names at ftp://ftp.isi.edu/in- IANA Registry of Operating System Names at ftp://ftp.isi.edu/in-
notes/iana/assignments/operating-system-names. notes/iana/assignments/operating-system-names.
[RFC1991] [RFC1991]
D. Atkins, W. Stallings, P. Zimmermann, "PGP Message Exchange D. Atkins, W. Stallings, P. Zimmermann, "PGP Message Exchange
Formats", RFC 1991, August, 1996. Formats", RFC 1991, August, 1996.
[RFC2026] [RFC2026]
skipping to change at page 24, line 14 skipping to change at page 27, line 22
[RFC2911] [RFC2911]
R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell, R. deBry, T. Hastings, R. Herriot, S. Isaacson, P. Powell,
"Internet Printing Protocol/1.0: Model and Semantics", RFC 2911, "Internet Printing Protocol/1.0: Model and Semantics", RFC 2911,
September 2000. September 2000.
[xmldsig] [xmldsig]
D. Eastlake, J. Reagle, D. Solo "XML-Signature Syntax and D. Eastlake, J. Reagle, D. Solo "XML-Signature Syntax and
Processing", <draft-ietf-xmldsig-core-11.txt>, October 31, 2000. Processing", <draft-ietf-xmldsig-core-11.txt>, October 31, 2000.
11 Author's Addresses 12 Author's Addresses
Hugo Parra Hugo Parra
Novell, Inc. Novell, Inc.
1800 South Novell Place 1800 South Novell Place
Provo, UT 84606 Provo, UT 84606
Phone: 801-861-3307 Phone: 801-861-3307
Fax: 801-861-4025 Fax: 801-861-4025
e-mail: hparra@novell.com e-mail: hparra@novell.com
skipping to change at page 24, line 42 skipping to change at page 28, line 4
e-mail: ttronson@novell.com e-mail: ttronson@novell.com
Thomas N. Hastings Thomas N. Hastings
Xerox Corp. Xerox Corp.
737 Hawaii St. ESAE 231 737 Hawaii St. ESAE 231
El Segundo, CA 90245 El Segundo, CA 90245
Phone: 310-333-6413 Phone: 310-333-6413
Fax: 310-333-5514 Fax: 310-333-5514
e-mail: hastings@cp10.es.xerox.com e-mail: hastings@cp10.es.xerox.com
IPP Web Page: http://www.pwg.org/ipp/
IPP Mailing List: ipp@pwg.org
12 Description of the Base IPP Documents To subscribe to the ipp mailing list, send the following email:
1) send it to majordomo@pwg.org
2) leave the subject line blank
3) put the following two lines in the message
body:
subscribe ipp
end
Implementers of this specification document are encouraged to join
the IPP Mailing List in order to participate in any discussions of
clarification issues and review of registration proposals for
additional attributes and values. In order to reduce spam the
mailing list rejects mail from non-subscribers, so you must subscribe
to the mailing list in order to send a question or comment to the
mailing list.
13 Description of the Base IPP Documents
The base set of IPP documents includes: The base set of IPP documents includes:
Design Goals for an Internet Printing Protocol [RFC2567] Design Goals for an Internet Printing Protocol [RFC2567]
Rationale for the Structure and Model and Protocol for the Rationale for the Structure and Model and Protocol for the
Internet Printing Protocol [RFC2568] Internet Printing Protocol [RFC2568]
Internet Printing Protocol/1.1: Model and Semantics [RFC2911] Internet Printing Protocol/1.1: Model and Semantics [RFC2911]
Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] Internet Printing Protocol/1.1: Encoding and Transport [RFC2910]
Internet Printing Protocol/1.1: Implementer's Guide [ipp-iig] Internet Printing Protocol/1.1: Implementer's Guide [ipp-iig]
Mapping between LPD and IPP Protocols [RFC2569] Mapping between LPD and IPP Protocols [RFC2569]
skipping to change at page 25, line 43 skipping to change at page 29, line 26
objects. It is intended to help them understand IPP/1.1 and some of objects. It is intended to help them understand IPP/1.1 and some of
the considerations that may assist them in the design of their client the considerations that may assist them in the design of their client
and/or IPP object implementations. For example, a typical order of and/or IPP object implementations. For example, a typical order of
processing requests is given, including error checking. Motivation processing requests is given, including error checking. Motivation
for some of the specification decisions is also included. for some of the specification decisions is also included.
The "Mapping between LPD and IPP Protocols" document gives some The "Mapping between LPD and IPP Protocols" document gives some
advice to implementers of gateways between IPP and LPD (Line Printer advice to implementers of gateways between IPP and LPD (Line Printer
Daemon) implementations. Daemon) implementations.
13 Full Copyright Statement 14 Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
 End of changes. 

This html diff was produced by rfcdiff 1.25, available from http://www.levkowetz.com/ietf/tools/rfcdiff/