| < draft-ietf-ipp-job-printer-set-ops-03.txt | draft-ietf-ipp-job-printer-set-ops-04.txt > | |||
|---|---|---|---|---|
| INTERNET-DRAFT T. Hastings | Internet Printing Protocol WG T. Hastings | |||
| <draft-ietf-ipp-job-printer-set-ops-03.txt> R. Herriot | INTERNET-DRAFT R. Herriot | |||
| Category: standards track Xerox Corporation | <draft-ietf-ipp-job-printer-set-ops-04.txt> Xerox Corporation | |||
| Carl Kugler | Updates: RFC 2910 and 2911 Carl Kugler | |||
| H. Lewis | [Target Category: standards track] H. Lewis | |||
| IBM Corporation | Expires: January 17, 2002 IBM Corporation | |||
| January 22, 2001 | July 17, 2001 | |||
| Internet Printing Protocol (IPP): | Internet Printing Protocol (IPP): | |||
| Job and Printer Set Operations | Job and Printer Set Operations | |||
| 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 | |||
| areas, and its working groups. Note that other groups may also | areas, and its working groups. Note that other groups may also | |||
| distribute working documents as Internet-Drafts. | distribute working documents as Internet-Drafts. | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 36 ¶ | |||
| 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 specifies 3 additional OPTIONAL operations for use with | This document specifies 3 additional OPTIONAL operations for use with | |||
| the Internet Printing Protocol/1.0 (IPP) [RFC2565, RFC2566], IPP/1.1 | the Internet Printing Protocol/1.0 (IPP) [RFC2565, RFC2566], and | |||
| [RFC2911, RFC2910], and future versions. The end user, operator, and | IPP/1.1 [RFC2911, RFC2910]. The end user, operator, and | |||
| administrator Set-Job-Attributes and Set-Printer-Attributes | administrator Set-Job-Attributes and Set-Printer-Attributes | |||
| operations are used to modify IPP Job objects and Printer objects, | operations are used to modify IPP Job objects and Printer objects, | |||
| respectively. The third administrator Get-Printer-Supported-Values | respectively. The third administrator Get-Printer-Supported-Values | |||
| operation returns values that the IPP Printer will accept for setting | operation returns values that the IPP Printer will accept for setting | |||
| its "xxx-supported" attributes. | its "xxx-supported" attributes. | |||
| Three out-of-band values are defined for use with these operations: | Three out-of-band values are defined for use with these operations: | |||
| 'delete-attribute', 'admin-define', and 'not-settable', along with a | 'delete-attribute', 'admin-define', and 'not-settable', along with a | |||
| 'client-error-attributes-not-settable' status code. | 'client-error-attributes-not-settable' status code. | |||
| skipping to change at page 3, line 5 ¶ | skipping to change at page 3, line 5 ¶ | |||
| printer-settable-attributes-supported (1setOf type2 keyword) | printer-settable-attributes-supported (1setOf type2 keyword) | |||
| job-settable-attributes-supported (1setOf type2 keyword) | job-settable-attributes-supported (1setOf type2 keyword) | |||
| document-format-varying-attributes (1setOf type2 keyword) | document-format-varying-attributes (1setOf type2 keyword) | |||
| printer-message-time (integer(MIN:MAX)) | printer-message-time (integer(MIN:MAX)) | |||
| printer-message-date-time (dateTime) | printer-message-date-time (dateTime) | |||
| printer-xri-supported (1setOf collection) | printer-xri-supported (1setOf collection) | |||
| xri-uri-scheme-supported (1setOf uriScheme) | xri-uri-scheme-supported (1setOf uriScheme) | |||
| xri-authentication-supported (1setOf type2 keyword) | xri-authentication-supported (1setOf type2 keyword) | |||
| xri-security-supported (1setOf type2 keyword) | xri-security-supported (1setOf type2 keyword) | |||
| The full set of IPP documents includes: | Table of Contents | |||
| Design Goals for an Internet Printing Protocol [RFC2567] | ||||
| Rationale for the Structure and Model and Protocol for the Internet | ||||
| Printing Protocol [RFC2568] | ||||
| Internet Printing Protocol/1.1: Model and Semantics [RFC2911] | ||||
| Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] | ||||
| Internet Printing Protocol/1.1: Implementer's Guide [IPP-IIG] | ||||
| Mapping between LPD and IPP Protocols [RFC2569] | ||||
| The "Design Goals for an Internet Printing Protocol" document takes a | ||||
| broad look at distributed printing functionality, and it enumerates | ||||
| real-life scenarios that help to clarify the features that need to be | ||||
| included in a printing protocol for the Internet. It identifies | ||||
| requirements for three types of users: end users, operators, and | ||||
| administrators. It calls out a subset of end user requirements that | ||||
| are satisfied in IPP/1.0. A few OPTIONAL operator operations have | ||||
| been added to IPP/1.1. | ||||
| The "Rationale for the Structure and Model and Protocol for the | ||||
| Internet Printing Protocol" document describes IPP from a high level | ||||
| view, defines a roadmap for the various documents that form the suite | ||||
| of IPP specification documents, and gives background and rationale | ||||
| for the IETF working group's major decisions. | ||||
| The "Internet Printing Protocol/1.1: Encoding and Transport" document | ||||
| is a formal mapping of the abstract operations and attributes defined | ||||
| in the model document onto HTTP/1.1 [RFC2616]. It defines the | ||||
| encoding rules for a new Internet MIME media type called | ||||
| "application/ipp". This document also defines the rules for | ||||
| transporting over HTTP a message body whose Content-Type is | ||||
| "application/ipp". This document defines a new scheme named 'ipp' | ||||
| for identifying IPP printers and jobs. | ||||
| The "Internet Printing Protocol/1.1: Implementer's Guide" document | 1 Introduction.....................................................6 | |||
| gives insight and advice to implementers of IPP clients and IPP | ||||
| 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 | ||||
| and/or IPP object implementations. For example, a typical order of | ||||
| processing requests is given, including error checking. Motivation | ||||
| for some of the specification decisions is also included. | ||||
| The "Mapping between LPD and IPP Protocols" document gives some | 2 Terminology......................................................6 | |||
| advice to implementers of gateways between IPP and LPD (Line Printer | 2.1 Conformance Terminology........................................6 | |||
| Daemon) implementations. | 2.2 Other terminology..............................................7 | |||
| Table of Contents | 3 Requirements and Use Cases.......................................7 | |||
| 1 Introduction....................................................8 | 4 Definition of the Set operations.................................8 | |||
| 4.1 Set-Printer-Attributes Operation...............................9 | ||||
| 4.1.1 Settable and READ-ONLY Printer Description attributes.......11 | ||||
| 4.1.2 Set-Printer-Attributes Request..............................12 | ||||
| 4.1.3 Set-Printer-Attributes Response.............................14 | ||||
| 4.2 Set-Job-Attributes Operation..................................15 | ||||
| 4.2.1 Settable and READ-ONLY Job Description attributes...........18 | ||||
| 4.2.2 Set-Job-Attributes Request..................................18 | ||||
| 4.2.3 Set-Job-Attributes Response.................................19 | ||||
| 4.3 Get-Printer-Supported-Values Operation........................21 | ||||
| 4.3.1 Definition of the usage of the 'admin-define' out-of-band | ||||
| attribute value...................................................22 | ||||
| 2 Terminology.....................................................8 | 5 New Operation attributes........................................23 | |||
| 2.1 Conformance Terminology......................................9 | 5.1 printer-message-from-operator (text(127)).....................23 | |||
| 2.2 Other terminology............................................9 | 5.2 job-message-from-operator (text(127)).........................25 | |||
| 3 Requirements and Use Cases......................................9 | 6 New Printer Description Attributes..............................26 | |||
| 6.1 printer-settable-attributes-supported (1setOf type2 keyword)..26 | ||||
| 6.2 job-settable-attributes-supported (1setOf type2 keyword)......26 | ||||
| 6.3 document-format-varying-attributes (1setOf type2 keyword).....27 | ||||
| 6.4 printer-message-time (integer(MIN:MAX)).......................27 | ||||
| 6.5 printer-message-date-time (dateTime)..........................27 | ||||
| 6.6 printer-xri-supported (1setOf collection).....................28 | ||||
| 6.7 xri-uri-scheme-supported (1setOf uriScheme)...................30 | ||||
| 6.8 xri-authentication-supported (1setOf type2 keyword)...........30 | ||||
| 6.9 xri-security-supported (1setOf type2 keyword).................31 | ||||
| 4 Definition of the Set operations...............................10 | 7 Additional status codes.........................................31 | |||
| 4.1 Set-Printer-Attributes Operation............................11 | 7.1 client-error-attributes-not-settable (0x0413).................31 | |||
| 4.1.1 Settable and READ-ONLY Printer Description attributes.....13 | ||||
| 4.1.2 Set-Printer-Attributes Request............................15 | ||||
| 4.1.3 Set-Printer-Attributes Response...........................16 | ||||
| 4.2 Set-Job-Attributes Operation................................18 | ||||
| 4.2.1 Settable and READ-ONLY Job Description attributes.........21 | ||||
| 4.2.2 Set-Job-Attributes Request................................21 | ||||
| 4.2.3 Set-Job-Attributes Response...............................22 | ||||
| 4.3 Get-Printer-Supported-Values Operation......................24 | ||||
| 4.3.1 Definition of the usage of the 'admin-define' out-of-band | ||||
| attribute value...................................................25 | ||||
| 5 New Operation attributes.......................................27 | 8 Additional out-of-band values...................................32 | |||
| 5.1 printer-message-from-operator (text(127))...................27 | 8.1 'not-settable' out-of-band value..............................32 | |||
| 5.2 job-message-from-operator (text(127)).......................28 | 8.1.1 Encoding of the 'not-settable' out-of-band attribute value..32 | |||
| 8.2 'delete-attribute' out-of-band value..........................32 | ||||
| 8.2.1 Encoding of the 'delete-attribute' out-of-band value........33 | ||||
| 8.3 'admin-define' out-of-band attribute value....................33 | ||||
| 8.3.1 Encoding of the 'admin-define' out-of-band attribute value..35 | ||||
| 6 New Printer Description Attributes.............................29 | 9 New Values for Existing Printer Description Attributes..........35 | |||
| 6.1 printer-settable-attributes-supported (1setOf type2 keyword)29 | 9.1 operations-supported (1setOf type2 enum)......................35 | |||
| 6.2 job-settable-attributes-supported (1setOf type2 keyword)....30 | ||||
| 6.3 document-format-varying-attributes (1setOf type2 keyword)...30 | ||||
| 6.4 printer-message-time (integer(MIN:MAX)).....................31 | ||||
| 6.5 printer-message-date-time (dateTime)........................31 | ||||
| 6.6 printer-xri-supported (1setOf collection)...................32 | ||||
| 6.7 xri-uri-scheme-supported (1setOf uriScheme).................34 | ||||
| 6.8 xri-authentication-supported (1setOf type2 keyword).........35 | ||||
| 6.9 xri-security-supported (1setOf type2 keyword)...............35 | ||||
| 7 Additional status codes........................................35 | 10 Conformance Requirements.......................................35 | |||
| 7.1 'client-error-attributes-not-settable' (0x0413).............35 | ||||
| 8 Additional out-of-band values..................................36 | 11 IANA Considerations............................................37 | |||
| 8.1 'not-settable' out-of-band value............................36 | 11.1 Operation Registrations......................................37 | |||
| 8.1.1 Encoding of the 'not-settable' out-of-band attribute value37 | 11.2 Additional Enum Attribute Value Registrations for the | |||
| 8.2 'delete-attribute' out-of-band value........................37 | "operations-supported" Printer Attribute..........................37 | |||
| 8.2.1 Encoding of the 'delete-attribute' out-of-band value......37 | 11.3 Attribute Registrations......................................38 | |||
| 8.3 'admin-define' out-of-band attribute value..................38 | 11.4 Status code Registrations....................................38 | |||
| 8.3.1 Encoding of the 'admin-define' out-of-band attribute value39 | 11.5 Out-of-band Attribute Value Registrations....................39 | |||
| 9 Conformance Requirements.......................................39 | ||||
| 10 IANA Considerations............................................41 | 12 Internationalization Considerations............................39 | |||
| 10.1 Operation Registrations.....................................41 | ||||
| 10.2 Attribute Registrations.....................................41 | ||||
| 10.3 Status code Registrations...................................42 | ||||
| 10.4 Out-of-band Attribute Value Registrations...................42 | ||||
| 11 Internationalization Considerations............................43 | 13 Security Considerations........................................39 | |||
| 12 Security Considerations........................................43 | 14 Author's Addresses.............................................40 | |||
| 13 Author's Addresses.............................................44 | 15 References.....................................................41 | |||
| 14 References.....................................................45 | 16 Appendix A: Allowed Values for Set-Printer-Attributes and Set-Job- | |||
| Attributes requests...............................................43 | ||||
| 15 Appendix A: Allowed Values for Set-Printer-Attributes and Set-Job- | 17 Appendix B: Attributes returned from Get-Printer-Supported-Values | |||
| Attributes requests...............................................46 | 56 | |||
| 16 Appendix B: Attributes returned from Get-Printer-Supported-Values | 18 Appendix C: Description of the Base IPP Documents..............61 | |||
| 60 | ||||
| 17 Appendix C: Full Copyright Statement...........................65 | 19 Appendix D: Full Copyright Statement...........................62 | |||
| Table of Tables | Table of Tables | |||
| Table 1 - Operation-Id assignments................................11 | Table 1 - Operation-Id assignments.................................9 | |||
| Table 2 - Job State Transition Table for the Set-Job-Attributes | Table 2 - Job State Transition Table for the Set-Job-Attributes | |||
| operation .....................................................20 | operation .....................................................17 | |||
| Table 3 - Member attributes of "printer-xri-supported" (1setOf | Table 3 - Member attributes of "printer-xri-supported" (1setOf | |||
| collection) ...................................................33 | collection) ...................................................29 | |||
| Table 4 - Validation rules for 'Any of "xxx-supported" '..........47 | Table 4 - Operation-id assignments................................35 | |||
| Table 5 - Validation rules for 'From Get-Printer-Supported-Values'48 | Table 5 - Validation rules for 'Any of "xxx-supported" '..........44 | |||
| Table 6 - Values allowed for Job Template Attributes in the Set-Job- | Table 6 - Validation rules for 'From Get-Printer-Supported-Values'45 | |||
| Attributes Operation ..........................................50 | Table 7 - Values allowed for Job Template Attributes in the Set-Job- | |||
| Table 7 - Values allowed for Job Description Attributes in the Set- | Attributes Operation ..........................................47 | |||
| Job-Attributes Operation ......................................52 | Table 8 - Values allowed for Job Description Attributes in the Set- | |||
| Table 8 - Values allowed for Printer Job Template Attributes in the | Job-Attributes Operation ......................................49 | |||
| Set-Printer-Attributes Operation ..............................54 | ||||
| Table 9 - Values allowed for Printer Description Attributes in the | ||||
| Set-Printer-Attributes Operation ..............................57 | ||||
| Table 10 - Printer Job Template Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................61 | ||||
| Table 11 - Printer Job Template Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................61 | ||||
| Table 12 - Printer Description Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................62 | ||||
| Table 13 - Printer Job Template Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................62 | ||||
| Table 9 - Values allowed for Printer Job Template Attributes in the | ||||
| Set-Printer-Attributes Operation ..............................51 | ||||
| Table 10 - Values allowed for Printer Description Attributes in the | ||||
| Set-Printer-Attributes Operation ..............................53 | ||||
| Table 11 - Printer Job Template Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................57 | ||||
| Table 12 - Printer Job Template Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................57 | ||||
| Table 13 - Printer Description Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................58 | ||||
| Table 14 - Printer Job Template Attributes returned from Get-Printer- | Table 14 - Printer Job Template Attributes returned from Get-Printer- | |||
| Supported-Values ..............................................63 | Supported-Values ..............................................58 | |||
| Table 15 - Printer Description Attributes returned from Get-Printer- | Table 15 - Printer Job Template Attributes returned from Get-Printer- | |||
| Supported-Values ..............................................64 | Supported-Values ..............................................59 | |||
| Table 16 - Printer Description Attributes returned from Get-Printer- | ||||
| Supported-Values ..............................................60 | ||||
| 1 Introduction | 1 Introduction | |||
| This document is an OPTIONAL extension to IPP/1.0 [RFC2565, RFC2566] | ||||
| and IPP/1.1 [RFC2911, RFC2910]. For a description of the base IPP | ||||
| documents see section 18. | ||||
| The Internet Printing Protocol (IPP) is an application level protocol | The Internet Printing Protocol (IPP) is an application level protocol | |||
| that can be used for distributed printing using Internet tools and | that can be used for distributed printing using Internet tools and | |||
| technologies. IPP version 1.1 [RFC2911, RFC2910] focuses on end user | technologies. IPP version 1.1 [RFC2911, RFC2910] focuses on end user | |||
| functionality with a few administrative operations included. This | functionality with a few administrative operations included. This | |||
| document defines additional OPTIONAL end user, operator, and | document defines additional OPTIONAL end user, operator, and | |||
| administrator Set-Job-Attributes and Set-Printer-Attributes | administrator Set-Job-Attributes and Set-Printer-Attributes | |||
| operations used to modify IPP Job objects and Printer objects, | operations used to modify IPP Job objects and Printer objects, | |||
| respectively. It also defines a third administrator Get-Printer- | respectively. It also defines a third Get-Printer-Supported-Values | |||
| Supported-Values operation that returns values that the IPP Printer | administrator operation that returns values that the IPP Printer will | |||
| will accept for setting its "xxx-supported" attributes. The Get- | accept for setting its "xxx-supported" attributes. The Get-Printer- | |||
| Printer-Supported-Values operation MUST be supported, if the | Supported-Values operation MUST be supported, if the implementation | |||
| implementation supports setting any "xxx-supported" Printer | supports setting any "xxx-supported" Printer attributes using the | |||
| attributes using the Set-Printer-Attributes operation. | Set-Printer-Attributes operation. | |||
| Three out-of-band values are defined for use with these three | Three out-of-band values are defined for use with these three | |||
| operations: 'delete-attribute' for deleting Job attributes with the | operations: 'delete-attribute' for deleting Job attributes with the | |||
| Set-Job-Attributes request, 'not-settable' for use in either the Set- | Set-Job-Attributes request, 'not-settable' for use in either the Set- | |||
| Job-Attributes or Set-Printer-Attributes responses, and 'admin- | Job-Attributes or Set-Printer-Attributes responses, and 'admin- | |||
| define' for use in the Get-Printer-Supported-Values response. | define' for use in the Get-Printer-Supported-Values response. | |||
| Two operation attributes: "printer-message-from-operator" (text) and | Two operation attributes: "printer-message-from-operator" (text) and | |||
| "job-message-from-operator" (text) are defined to set the | "job-message-from-operator" (text) are defined to set the | |||
| corresponding IPP/1.1 Printer and Job Description attributes with the | corresponding IPP/1.1 Printer and Job Description attributes with the | |||
| same names. These operation attributes may be used with any | same names. These operation attributes may be used with any | |||
| operation that affect the Printer or Job object for which an | operation that affect the Printer or Job object for which an | |||
| operation might want to indicate a message. For the Set-Job- | operation might want to indicate a message. For the Set-Job- | |||
| Attributes and Set-Printer-Attributes operations, the client MUST | Attributes and Set-Printer-Attributes operations, the client MUST | |||
| explicitly set them, rather than using these operation attributes. | explicitly set them, rather than using these operation attributes. | |||
| A Printer implementation can make the value of some attributes | A Printer implementation can make the value of some attributes | |||
| dependent on the document-format, e.g. "resolution-supported". | dependent on the document-format, e.g. "resolution-supported". | |||
| This document is an extension to IPP/1.0 [RFC2565, RFC2566] and | 2 Terminology | |||
| IPP/1.1 [RFC2911, RFC2910], and future versions. | ||||
| 2 Terminology | ||||
| This section defines terminology used throughout this document. | This section defines terminology used throughout this document. | |||
| 2.1 Conformance Terminology | 2.1 Conformance Terminology | |||
| Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD | Capitalized terms, such as MUST, MUST NOT, REQUIRED, SHOULD, SHOULD | |||
| NOT, MAY, NEED NOT, and OPTIONAL, have special meaning relating to | NOT, MAY, NEED NOT, and OPTIONAL, have special meaning relating to | |||
| conformance. These terms are defined in [RFC2911] section 12.1 on | conformance as defined in RFC 2119 [RFC2119] and [RFC2911] section | |||
| conformance terminology, most of which is taken from RFC 2119 | 12.1. If an implementation supports the extension defined in this | |||
| [RFC2119]. | document, then these terms apply; otherwise, they do not. These | |||
| terms define conformance to this document only; they do not affect | ||||
| The following specialization of these terms apply to this document: | conformance to other 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. | ||||
| 2.2 Other terminology | 2.2 Other terminology | |||
| This document uses terms such as Job object (or Job), IPP Printer | This document uses terms such as Job object (or Job), IPP Printer | |||
| object (or Printer), "operation", "request", response", "attributes", | object (or Printer), "operation", "request", response", "attributes", | |||
| "keywords", and "support". These terms have special meaning and are | "keywords", and "support". These terms have special meaning and are | |||
| defined in the model terminology [RFC2911] section 12.2. The | defined in the model terminology [RFC2911] section 12.2. The | |||
| following additional terms are introduced in this document: | following additional terms are introduced in this document: | |||
| READ-ONLY: used in an attribute definition document to indicate that | READ-ONLY: used in an attribute definition document to indicate that | |||
| the attribute MUST NOT be settable using an IPP protocol Set | the attribute MUST NOT be settable using an IPP protocol Set | |||
| operation. In other words, the attribute is not settable by | operation. In other words, the attribute is not settable by | |||
| definition. | definition. | |||
| not-settable: an implementation does not support setting an | not-settable: an implementation does not support setting an | |||
| attribute (whether or not the attribute's definition is READ-ONLY). | attribute (whether or not the attribute's definition is READ- | |||
| ONLY). | ||||
| 3 Requirements and Use Cases | 3 Requirements and Use Cases | |||
| The following requirements and usage are intended to be met by the | The following requirements and usage are intended to be met by the | |||
| specification in this document. | specification in this document. | |||
| 1. The end-user and the operator need a way to modify a Job that is in | 1. The end-user and the operator need a way to modify a Job that is | |||
| the 'pending' or 'pending-held' state. | in the 'pending' or 'pending-held' state. | |||
| Usage: The end-user discovers that he/she forgot to include a | Usage: The end-user discovers that he/she forgot to include a | |||
| print instruction, such as "finishings" = 'staple' after submitting | print instruction, such as "finishings" = 'staple' after | |||
| a job. Rather than canceling the job and resubmitting it to the | submitting a job. Rather than canceling the job and resubmitting | |||
| same IPP Printer, the end-user is able to modify the job on the IPP | it to the same IPP Printer, the end-user is able to modify the job | |||
| Printer. | on the IPP Printer. | |||
| The operator needs to modify a job because it is requesting a | The operator needs to modify a job because it is requesting a | |||
| particular kind of media for which there is no more, but the policy | particular kind of media for which there is no more, but the | |||
| is to print the job on a comparable medium. | policy is to print the job on a comparable medium. | |||
| 2. The system administrator needs a way to re-configure or change the | 2. The system administrator needs a way to re-configure or change the | |||
| policy of the IPP Printer remotely. | policy of the IPP Printer remotely. | |||
| Usage: The system administrator is adding additional named media | Usage: The system administrator is adding additional named media | |||
| to the supported media list (setting 'name' values to the "media- | to the supported media list (setting 'name' values to the "media- | |||
| supported" Printer attribute). | supported" Printer attribute). | |||
| The system administrator is reducing the capability of the IPP | The system administrator is reducing the capability of the IPP | |||
| Printer by removing one of the operations from the supported | Printer by removing one of the operations from the supported | |||
| operations list, such as Cancel-Job, because the policy is to run | operations list, such as Cancel-Job, because the policy is to run | |||
| the IPP Printer like a public facsimile machine. After having | the IPP Printer like a public facsimile machine. After having | |||
| removed Cancel-Job from the list of supported operations, an | removed Cancel-Job from the list of supported operations, an | |||
| administrative client needs to be able to display to an | administrative client needs to be able to display to an | |||
| administrator that the implementation is capable of being | administrator that the implementation is capable of being | |||
| reconfigured to support Cancel-Job once again. | reconfigured to support Cancel-Job once again. | |||
| The system administrator is remotely configuring the IPP Printer | The system administrator is remotely configuring the IPP Printer | |||
| after installing it, and so is replacing the Printer Description | after installing it, and so is replacing the Printer Description | |||
| attributes that have the out-of-band 'no-value' value (see | attributes that have the out-of-band 'no-value' value (see | |||
| [RFC2911] section 4.1) with the proper values. | [RFC2911] section 4.1) with the proper values. | |||
| The operator is changing the media loaded in the input tray and so | The operator is changing the media loaded in the input tray and so | |||
| is replacing the "media-ready" Job Template Printer attribute value | is replacing the "media-ready" Job Template Printer attribute | |||
| with the proper values | value with the proper values | |||
| 4 Definition of the Set operations | 4 Definition of the Set operations | |||
| The Set-Printer-Attributes operation (as are all Printer operations) | The Set-Printer-Attributes operation (as are all Printer operations) | |||
| are directed at Printer objects. A client MUST always supply the | are directed at Printer objects. A client MUST always supply the | |||
| "printer-uri" operation attribute in order to identify the correct | "printer-uri" operation attribute in order to identify the correct | |||
| target of the operation. These descriptions assume all of the common | target of the operation. These descriptions assume all of the common | |||
| semantics of IPP/1.1 Model and Semantics document [RFC2911] section | semantics of IPP/1.1 Model and Semantics document [RFC2911] section | |||
| 3.1. | 3.1. | |||
| The Set-Job-Attributes operation (as are all Job operations) are | The Set-Job-Attributes operation (as are all Job operations) are | |||
| directed at Job objects. A client MUST always supply some means of | directed at Job objects. A client MUST always supply some means of | |||
| skipping to change at page 11, line 26 ¶ | skipping to change at page 9, line 16 ¶ | |||
| Operation Name Operation Brief description | Operation Name Operation Brief description | |||
| -Id | -Id | |||
| Set-Printer- 0x0013 Sets attribute values of the target | Set-Printer- 0x0013 Sets attribute values of the target | |||
| Attributes Printer object | Attributes Printer object | |||
| Set-Job-Attributes 0x0014 Sets attribute values of the target | Set-Job-Attributes 0x0014 Sets attribute values of the target | |||
| Job object | Job object | |||
| Get-Printer- 0x0015 Gets values that are valid for | Get-Printer- Gets values that are valid for | |||
| Supported-Values setting "xxx-supported" attributes | Supported-Values 0x0015 setting "xxx-supported" attributes | |||
| using the Set-Printer-Attributes | using the Set-Printer-Attributes | |||
| operation | operation | |||
| 4.1 Set-Printer-Attributes Operation | 4.1 Set-Printer-Attributes Operation | |||
| This OPTIONAL operation allows a client to set the values of the | This OPTIONAL operation allows a client to set the values of the | |||
| attributes of a Printer object. In the request, the client supplies | attributes of a Printer object. In the request, the client supplies | |||
| the set of Printer keyword attribute names and values that are to be | the set of Printer keyword attribute names and values that are to be | |||
| set. In the response, the Printer object returns success or rejects | set. In the response, the Printer object returns success or rejects | |||
| the entire request with indications of which attribute or attributes | the entire request with indications of which attribute or attributes | |||
| could not be set. | could not be set. | |||
| The Printer object validates the client-supplied attributes in the | The Printer object validates the client-supplied attributes in the | |||
| Set-Printer-Attributes request. For an attribute to validate it MUST | Set-Printer-Attributes request. For an attribute to validate it MUST | |||
| meet all of the following rules: | meet all of the following rules: | |||
| 1. The number of attributes supplied by the client MUST NOT exceed the | 1. The number of attributes supplied by the client MUST NOT exceed | |||
| maximum number that the Printer supports in a Set-Printer- | the maximum number that the Printer supports in a Set-Printer- | |||
| Attributes request. A Printer MUST accept at least one attribute, | Attributes request. A Printer MUST accept at least one attribute, | |||
| but SHOULD accept a reasonable number in a single Set-Printer- | but SHOULD accept a reasonable number in a single Set-Printer- | |||
| Attributes request. | Attributes request. | |||
| Note: There is no way for the client to determine the maximum | Note: There is no way for the client to determine the maximum | |||
| number of attributes that the Printer supports in a Set-Printer- | number of attributes that the Printer supports in a Set-Printer- | |||
| Attributes request, except to try a reasonable number. | Attributes request, except to try a reasonable number. | |||
| 2. The Printer MUST support the attribute. | 2. The Printer MUST support the attribute. | |||
| 3. The attribute MUST NOT be READ-ONLY, i.e., the definition of the | 3. The attribute MUST NOT be READ-ONLY, i.e., the definition of the | |||
| attribute MUST NOT indicate that the attribute is READ-ONLY (see | attribute MUST NOT indicate that the attribute is READ-ONLY (see | |||
| Appendix A for an indication of which IPP/1.1 attributes are READ- | Appendix A for an indication of which IPP/1.1 attributes are READ- | |||
| ONLY). | ONLY). | |||
| 4. The attribute MUST be settable in this implementation. | 4. The attribute MUST be settable in this implementation. | |||
| 5. The Printer MUST support the value according to the rules defined | 5. The Printer MUST support the value according to the rules defined | |||
| in Appendix A, i.e., each value of each supplied "xxx" attribute | in Appendix A, i.e., each value of each supplied "xxx" attribute | |||
| MUST be validated against a value of a corresponding "xxx- | MUST be validated against a value of a corresponding "xxx- | |||
| supported" Printer attribute. One of those rules permits an | supported" Printer attribute. One of those rules permits an | |||
| administrator to set arbitrary 'name' values to those "xxx- | administrator to set arbitrary 'name' values to those "xxx- | |||
| supported" Printer attributes that include the 'name' attribute | supported" Printer attributes that include the 'name' attribute | |||
| syntax if the implementation supports the 'admin-define' out-of- | syntax if the implementation supports the 'admin-define' out-of- | |||
| band value for that "xxx-supported" attribute (see section 15 and | band value for that "xxx-supported" attribute (see section 16 and | |||
| 8.3). | 8.3). | |||
| 6. The attribute's values MUST NOT conflict with the values of other | 6. The attribute's values MUST NOT conflict with the values of other | |||
| Printer attributes, including ones being set in this same | Printer attributes, including ones being set in this same | |||
| operation. | operation. | |||
| If any of the supplied attributes does not validate, the Printer | If any of the supplied attributes does not validate, the Printer | |||
| object MUST reject the entire operation; the Printer object MUST NOT | object MUST reject the entire operation; the Printer object MUST NOT | |||
| partially set some of the supplied attributes. In other words, after | partially set some of the supplied attributes. In other words, after | |||
| the operation, all the supplied attributes MUST be set or none of | the operation, all the supplied attributes MUST be set or none of | |||
| them MUST be set, thus making the Set-Printer-Attributes an atomic | them MUST be set, thus making the Set-Printer-Attributes an atomic | |||
| operation. | operation. | |||
| The Printer MUST accept this operation when its READ-ONLY "printer- | The Printer MUST accept this operation when its READ-ONLY "printer- | |||
| state" attribute (see RFC2911] section 4.4.11) is 'idle' or | state" attribute (see RFC2911] section 4.4.11) is 'idle' or | |||
| skipping to change at page 13, line 23 ¶ | skipping to change at page 11, line 5 ¶ | |||
| time" and READ-ONLY "printer-message-date-time" attributes to the | time" and READ-ONLY "printer-message-date-time" attributes to the | |||
| time of the operation as a side effect . In particular, if this | time of the operation as a side effect . In particular, if this | |||
| operation changes an "xxx-default" attribute, the new value MUST be | operation changes an "xxx-default" attribute, the new value MUST be | |||
| in the "xxx-supported" attribute or the request MUST contain a new | in the "xxx-supported" attribute or the request MUST contain a new | |||
| value for "xxx-supported" which contains the new value for the "xxx- | value for "xxx-supported" which contains the new value for the "xxx- | |||
| default". Otherwise, the Printer MUST reject the operation. In | default". Otherwise, the Printer MUST reject the operation. In | |||
| general, Printer attribute definitions that are settable will not | general, Printer attribute definitions that are settable will not | |||
| define side-effects on other attributes that are settable, only side | define side-effects on other attributes that are settable, only side | |||
| effects on READ-ONLY attributes, if any. | effects on READ-ONLY attributes, if any. | |||
| 4.1.1 Settable and READ-ONLY Printer Description attributes | 4.1.1 Settable and READ-ONLY Printer Description attributes | |||
| If the Printer supports the Set-Printer-Attributes operation, then it | If the Printer supports the Set-Printer-Attributes operation, then it | |||
| SHOULD support setting of: | SHOULD support setting of: | |||
| all Job Template Default ("xxx-default") attributes | all Job Template Default ("xxx-default") attributes | |||
| all Job Template Supported ("xxx-supported") attributes | all Job Template Supported ("xxx-supported") attributes | |||
| all Job Template Ready ("xxx-ready") attributes | all Job Template Ready ("xxx-ready") attributes | |||
| that the implementation supports (see [RFC2911] section 4.2 and | that the implementation supports (see [RFC2911] section 4.2 and | |||
| extensions). | extensions). | |||
| Some Printer Description attributes (see [RFC2911] section 4.4) MUST | Some Printer Description attributes (see [RFC2911] section 4.4) MUST | |||
| NOT be settable, i.e., they are defined to be READ-ONLY. An | NOT be settable, i.e., they are defined to be READ-ONLY. An | |||
| attribute marked as "READ-ONLY" in the Printer Description attribute | attribute marked as "READ-ONLY" in the Printer Description attribute | |||
| table in Appendix A is such an attribute. The Printer attributes | table in Appendix A is such an attribute. The Printer attributes | |||
| that are not marked as "READ-ONLY" MAY be settable using the Set- | that are not marked as "READ-ONLY" MAY be settable using the Set- | |||
| Printer-Attributes operation, depending on implementation. | Printer-Attributes operation, depending on implementation. | |||
| skipping to change at page 15, line 8 ¶ | skipping to change at page 12, line 28 ¶ | |||
| Access Rights: The authenticated user (see [RFC2911] section 8.3) | Access Rights: The authenticated user (see [RFC2911] section 8.3) | |||
| performing this operation must be an operator or administrator of the | performing this operation must be an operator or administrator of the | |||
| Printer object (see [RFC2911] Sections 1 and 8.5). Most Printer | Printer object (see [RFC2911] Sections 1 and 8.5). Most Printer | |||
| attributes will require administrator access rights to set, such as | attributes will require administrator access rights to set, such as | |||
| "xxx-supported", while some will require operator access rights only, | "xxx-supported", while some will require operator access rights only, | |||
| such as "media-ready" and "printer-message-from-operator". Which | such as "media-ready" and "printer-message-from-operator". Which | |||
| attributes require which access rights depends on implementation and | attributes require which access rights depends on implementation and | |||
| MAY depend on site policy. | MAY depend on site policy. | |||
| 4.1.2 Set-Printer-Attributes Request | 4.1.2 Set-Printer-Attributes Request | |||
| The following sets of attributes are part of the Set-Printer- | The following sets of attributes are part of the Set-Printer- | |||
| Attributes Request: | Attributes Request: | |||
| Group 1: Operation Attributes | Group 1: Operation Attributes | |||
| Natural Language and Character Set: | Natural Language and Character Set: | |||
| The "attributes-charset" and "attributes-natural-language" | The "attributes-charset" and "attributes-natural-language" | |||
| attributes as described in [RFC2911] section 3.1.4.1. | attributes as described in [RFC2911] section 3.1.4.1. | |||
| skipping to change at page 16, line 33 ¶ | skipping to change at page 14, line 5 ¶ | |||
| extensions supported by the Printer. The value(s) of each | extensions supported by the Printer. The value(s) of each | |||
| Printer attribute supplied in Group 2 replaces the value(s) of | Printer attribute supplied in Group 2 replaces the value(s) of | |||
| the corresponding Printer attribute on the target Printer | the corresponding Printer attribute on the target Printer | |||
| object. For attributes that can have multiple values (1setOf), | object. For attributes that can have multiple values (1setOf), | |||
| all values supplied by the client replace all values of the | all values supplied by the client replace all values of the | |||
| corresponding Printer object attribute. If a Printer object | corresponding Printer object attribute. If a Printer object | |||
| attribute had not been configured yet and so had the 'no-value' | attribute had not been configured yet and so had the 'no-value' | |||
| out-of-band value (see [RFC2911] section 4.1), the supplied | out-of-band value (see [RFC2911] section 4.1), the supplied | |||
| value(s) replace the 'no-value' value. | value(s) replace the 'no-value' value. | |||
| 4.1.3 Set-Printer-Attributes Response | 4.1.3 Set-Printer-Attributes 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-Printer-Attributes Response: | of the Get-Printer-Attributes 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 | |||
| response, the response OPTIONALLY includes a "status-message" | response, the response OPTIONALLY includes a "status-message" | |||
| (text(255)) and/or a "detailed-status-message" (text(MAX)) | (text(255)) and/or a "detailed-status-message" (text(MAX)) | |||
| skipping to change at page 18, line 31 ¶ | skipping to change at page 15, line 47 ¶ | |||
| "document-format" operation attribute used when setting a Job object, | "document-format" operation attribute used when setting a Job object, | |||
| the operation can add an attribute to the (Job) object, the 'delete- | the operation can add an attribute to the (Job) object, the 'delete- | |||
| attributes' out-of-band value is permitted to remove an attribute, | attributes' out-of-band value is permitted to remove an attribute, | |||
| and the validation is the same as the Job Creation operations (Print- | and the validation is the same as the Job Creation operations (Print- | |||
| Job, Print-URI, and Create-Job), i.e., depends on the "xxx-supported" | Job, Print-URI, and Create-Job), i.e., depends on the "xxx-supported" | |||
| Printer Description attributes (see [RFC2911] section 3.1). Using | Printer Description attributes (see [RFC2911] section 3.1). Using | |||
| the Set-Printer-Attributes operation, the administrator can set | the Set-Printer-Attributes operation, the administrator can set | |||
| arbitrary 'name' values to those "xxx-supported" Printer attributes | arbitrary 'name' values to those "xxx-supported" Printer attributes | |||
| that include the 'name' attribute syntax if the implementation | that include the 'name' attribute syntax if the implementation | |||
| supports the 'admin-define' out-of-band value for that "xxx- | supports the 'admin-define' out-of-band value for that "xxx- | |||
| supported" attribute (see section 15 and 8.3). However, the Set-Job- | supported" attribute (see section 16 and 8.3). However, the Set-Job- | |||
| Attributes cannot be used to add unsupported names to the Job object. | Attributes cannot be used to add unsupported names to the Job object. | |||
| If a client supplies a job attribute in a Set-Job-Attributes request | If a client supplies a job attribute in a Set-Job-Attributes request | |||
| that the Printer supports, and the job was originally submitted | that the Printer supports, and the job was originally submitted | |||
| without supplying that attribute, the Printer adds the attribute to | without supplying that attribute, the Printer adds the attribute to | |||
| the Job object. | the Job object. | |||
| If the client supplies a job attribute with the "out-of-band" value | If the client supplies a job attribute with the "out-of-band" value | |||
| 'delete-attribute' (see section 8.2), then the Printer MUST remove | 'delete-attribute' (see section 8.2), then the Printer MUST remove | |||
| the attribute and all of its values from the Job object, if present. | the attribute and all of its values from the Job object, if present. | |||
| skipping to change at page 20, line 8 ¶ | skipping to change at page 17, line 11 ¶ | |||
| READ-ONLY "job-state" attribute has the values shown in Table 2. The | READ-ONLY "job-state" attribute has the values shown in Table 2. The | |||
| job's current state MUST affect whether the IPP object accepts or | job's current state MUST affect whether the IPP object accepts or | |||
| rejects the request. For example, in the case where the operation | rejects the request. For example, in the case where the operation | |||
| creates a request for unavailable resources, the Job transitions to a | creates a request for unavailable resources, the Job transitions to a | |||
| new state. Table 2 shows the allowed behaviors in each job state and | new state. Table 2 shows the allowed behaviors in each job state and | |||
| the transitions. | the transitions. | |||
| Table 2 - Job State Transition Table for the Set-Job-Attributes | Table 2 - Job State Transition Table for the Set-Job-Attributes | |||
| operation | operation | |||
| Current "job- New "job- IPP object's response status code | Current New P object's response status code | |||
| state" state" and action: | "job-state" "job-state" Iand "action": | |||
| 'pending' 'pending' 'successful-ok' | 'pending' 'pending' 'successful-ok' | |||
| 'pending' 'pending-held' 'successful-ok' - needed resources | 'pending' 'pending-held' 'successful-ok' - needed resources | |||
| are not ready | are not ready | |||
| 'pending-held' 'pending-held' 'successful-ok' | 'pending-held' 'pending-held' 'successful-ok' | |||
| 'pending-held' 'pending' 'successful-ok' - needed resources | 'pending-held' 'pending' 'successful-ok' - needed resources | |||
| are ready | are ready | |||
| skipping to change at page 21, line 5 ¶ | skipping to change at page 18, line 7 ¶ | |||
| 'canceled' 'canceled' 'client-error-not-possible' | 'canceled' 'canceled' 'client-error-not-possible' | |||
| 'aborted' 'aborted' 'client-error-not-possible' | 'aborted' 'aborted' 'client-error-not-possible' | |||
| This operation MUST NOT change the value of attributes not specified | This operation MUST NOT change the value of attributes not specified | |||
| in the operation unless the definition of the attribute explicitly | in the operation unless the definition of the attribute explicitly | |||
| specifies such side-effects. In general, Job attribute definitions | specifies such side-effects. In general, Job attribute definitions | |||
| that are settable will not define side-effects on other attributes | that are settable will not define side-effects on other attributes | |||
| that are settable, only side effects on READ-ONLY attributes, if any. | that are settable, only side effects on READ-ONLY attributes, if any. | |||
| 4.2.1 Settable and READ-ONLY Job Description attributes | 4.2.1 Settable and READ-ONLY Job Description attributes | |||
| If the Printer supports the "job-message-from-operator" Job | If the Printer supports the "job-message-from-operator" Job | |||
| Description attribute (see [RFC2911] section 4.3.16) and the client | Description attribute (see [RFC2911] section 4.3.16) and the client | |||
| explicitly supplies a new value for the "job-message-from-operator" | explicitly supplies a new value for the "job-message-from-operator" | |||
| in the Set-Job-Attributes request, then the Printer MUST set the | in the Set-Job-Attributes request, then the Printer MUST set the | |||
| "job-message-from-operator" Job attribute to this new value. | "job-message-from-operator" Job attribute to this new value. | |||
| If the Printer supports the Set-Job-Attributes operation, then it | If the Printer supports the Set-Job-Attributes operation, then it | |||
| SHOULD support setting of: | SHOULD support setting of: | |||
| all Job Template job ("xxx") attributes | all Job Template job ("xxx") attributes | |||
| that the implementation supports (see [RFC2911] section 4.2 and | that the implementation supports (see [RFC2911] section 4.2 and | |||
| extensions). | extensions). | |||
| Some Job Description attributes (see [RFC2911] section 4.3) MUST NOT | Some Job Description attributes (see [RFC2911] section 4.3) MUST NOT | |||
| be settable, i.e., they are defined to be READ-ONLY. An attribute | be settable, i.e., they are defined to be READ-ONLY. An attribute | |||
| marked as "READ-ONLY" in the Job Description attribute table in | marked as "READ-ONLY" in the Job Description attribute table in | |||
| Appendix A is such an attribute. The Job attributes not marked as | Appendix A is such an attribute. The Job attributes not marked as | |||
| "READ-ONLY" MAY be settable using the Set-Job-Attributes operation, | "READ-ONLY" MAY be settable using the Set-Job-Attributes operation, | |||
| depending on implementation. | depending on implementation. | |||
| Note: From now on, all extensions that define new object attributes | Note: From now on, all extensions that define new object attributes | |||
| will indicate whether or not the attributes are READ-ONLY, by | will indicate whether or not the attributes are READ-ONLY, by | |||
| including the "READ-ONLY" adjective in their descriptions and/or | including the "READ-ONLY" adjective in their descriptions and/or | |||
| explicitly stating whether they MAY be settable. | explicitly stating whether they MAY be settable. | |||
| Access Rights: The authenticated user (see [RFC2911] section 8.3) | Access Rights: The authenticated user (see [RFC2911] section 8.3) | |||
| performing this operation must either be the job owner (as determined | performing this operation must either be the job owner (as determined | |||
| in the Job Creation operation) or an operator or administrator of the | in the Job Creation operation) or an operator or administrator of the | |||
| Printer object (see [RFC2911] Sections 1 and 8.5). | Printer object (see [RFC2911] Sections 1 and 8.5). | |||
| 4.2.2 Set-Job-Attributes Request | 4.2.2 Set-Job-Attributes Request | |||
| The following sets of attributes are part of the Set-Job-Attributes | The following sets of attributes are part of the Set-Job-Attributes | |||
| Request: | Request: | |||
| Group 1: Operation Attributes | Group 1: Operation Attributes | |||
| Natural Language and Character Set: | Natural Language and Character Set: | |||
| The "attributes-charset" and "attributes-natural-language" | The "attributes-charset" and "attributes-natural-language" | |||
| attributes as described in [RFC2911] section 3.1.4.1. | attributes as described in [RFC2911] section 3.1.4.1. | |||
| Target: | Target: | |||
| Either (1) the "printer-uri" (uri) plus "job-id" | Either (1) the "printer-uri" (uri) plus "job-id" | |||
| (integer(1:MAX)) or (2) the "job-uri" (uri) operation | (integer(1:MAX)) or (2) the "job-uri" (uri) operation | |||
| attribute(s) which define the target for this operation as | attribute(s) which define the target for this operation as | |||
| described in [RFC2911] section 3.1.5. | described in [RFC2911] section 3.1.5. | |||
| skipping to change at page 22, line 36 ¶ | skipping to change at page 19, line 33 ¶ | |||
| the corresponding Job attribute on the target Job object. For | the corresponding Job attribute on the target Job object. For | |||
| attributes that can have multiple values (1setOf), all values | attributes that can have multiple values (1setOf), all values | |||
| supplied by the client replace all values of the corresponding | supplied by the client replace all values of the corresponding | |||
| Job object attribute. | Job object attribute. | |||
| If the client supplies an "xxx" attribute with the 'delete- | If the client supplies an "xxx" attribute with the 'delete- | |||
| attribute' out-of-band value (see section 8.2), the Printer | attribute' out-of-band value (see section 8.2), the Printer | |||
| MUST remove the "xxx" attribute from the Job object, if | MUST remove the "xxx" attribute from the Job object, if | |||
| present. | present. | |||
| 4.2.3 Set-Job-Attributes Response | 4.2.3 Set-Job-Attributes Response | |||
| The IPP object returns the following sets of attributes as part of | The IPP object returns the following sets of attributes as part of | |||
| the Set-Job-Attributes Response: | the Set-Job-Attributes 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 | |||
| response, the response OPTIONALLY includes a "status-message" | response, the response OPTIONALLY includes a "status-message" | |||
| (text(255)) and/or a "detailed-status-message" (text(MAX)) | (text(255)) and/or a "detailed-status-message" (text(MAX)) | |||
| skipping to change at page 25, line 31 ¶ | skipping to change at page 22, line 21 ¶ | |||
| supported" attribute with any 'name' value(s). | supported" attribute with any 'name' value(s). | |||
| 6.The Get-Printer-Attributes operation only requires end-user access | 6.The Get-Printer-Attributes operation only requires end-user access | |||
| rights, while the Get-Printer-Supported-Values requires | rights, while the Get-Printer-Supported-Values requires | |||
| administrator access rights. | administrator access rights. | |||
| Access Rights: The authenticated user (see [RFC2911] section 8.3) | Access Rights: The authenticated user (see [RFC2911] section 8.3) | |||
| performing this operation must be an administrator of the Printer | performing this operation must be an administrator of the Printer | |||
| object (see [RFC2911] Sections 1 and 8.5). | object (see [RFC2911] Sections 1 and 8.5). | |||
| 4.3.1 Definition of the usage of the 'admin-define' out-of-band | 4.3.1 Definition of the usage of the 'admin-define' out-of-band | |||
| attribute value | attribute value | |||
| If the Set-Printer-Attributes operation allows the System | If the Set-Printer-Attributes operation allows the System | |||
| Administrator to define arbitrary 'name' values for an "xxx- | Administrator to define arbitrary 'name' values for an "xxx- | |||
| supported" attribute, then the Get-Printer-Supported-Values operation | supported" attribute, then the Get-Printer-Supported-Values operation | |||
| MUST return the 'admin-define' out-of-band attribute value (see | MUST return the 'admin-define' out-of-band attribute value (see | |||
| section 8.3) as one of the values of the "xxx-supported" attribute. | section 8.3) as one of the values of the "xxx-supported" attribute. | |||
| In other words, the 'admin-define' out-of-band attribute value | In other words, the 'admin-define' out-of-band attribute value | |||
| indicates that the Printer implementation supports clients setting | indicates that the Printer implementation supports clients setting | |||
| arbitrary 'name' attribute syntax values for that "xxx-supported" | arbitrary 'name' attribute syntax values for that "xxx-supported" | |||
| skipping to change at page 27, line 5 ¶ | skipping to change at page 23, line 31 ¶ | |||
| If the 'admin-define' out-of-band attribute value is not one of the | If the 'admin-define' out-of-band attribute value is not one of the | |||
| values of an "xxx-supported" attribute returned in a Get-Printer- | values of an "xxx-supported" attribute returned in a Get-Printer- | |||
| Supported-Values response, then the Printer MUST NOT allow the Set- | Supported-Values response, then the Printer MUST NOT allow the Set- | |||
| Printer-Attributes operation for that attribute to contain a value | Printer-Attributes operation for that attribute to contain a value | |||
| that is not one of the explicit 'keyword' or 'name' values returned | that is not one of the explicit 'keyword' or 'name' values returned | |||
| in a Get-Printer-Supported-Values response. | in a Get-Printer-Supported-Values response. | |||
| See Appendix B: Attributes returned from Get-Printer-Supported-Values | See Appendix B: Attributes returned from Get-Printer-Supported-Values | |||
| for a full list of values returned by this operation. | for a full list of values returned by this operation. | |||
| 5 New Operation attributes | 5 New Operation attributes | |||
| This section defines new operation attributes for use with the | This section defines new operation attributes for use with the | |||
| IPP/1.1 operations indicated. As new operations are defined they | IPP/1.1 operations indicated. As new operations are defined they | |||
| will also indicate explicitly whether these operation attributes are | will also indicate explicitly whether these operation attributes are | |||
| defined for use with them. | defined for use with them. | |||
| 5.1 printer-message-from-operator (text(127)) | 5.1 printer-message-from-operator (text(127)) | |||
| The Printer SHOULD support this Operation attribute in following | The Printer SHOULD support this Operation attribute in following | |||
| operations if it supports the corresponding "printer-message-from- | operations if it supports the corresponding "printer-message-from- | |||
| skipping to change at page 29, line 35 ¶ | skipping to change at page 26, line 7 ¶ | |||
| Attributes operation, the client MUST supply the "job-message-from- | Attributes operation, the client MUST supply the "job-message-from- | |||
| operator" with its new value as one of the Job Description attributes | operator" with its new value as one of the Job Description attributes | |||
| in Group 2 in the request. Otherwise, the Printer leaves the value | in Group 2 in the request. Otherwise, the Printer leaves the value | |||
| of the Job's "job-message-from-operator" Job Description attribute | of the Job's "job-message-from-operator" Job Description attribute | |||
| unchanged by not explicitly setting the attribute. If the client | unchanged by not explicitly setting the attribute. If the client | |||
| does not explicitly supply the "job-message-from-operator" with its | does not explicitly supply the "job-message-from-operator" with its | |||
| new value in the Set-Job-Attributes request, the Printer leaves the | new value in the Set-Job-Attributes request, the Printer leaves the | |||
| value of the Job's "job-message-from-operator" Job Description | value of the Job's "job-message-from-operator" Job Description | |||
| attribute unchanged. | attribute unchanged. | |||
| 6 New Printer Description Attributes | 6 New Printer Description Attributes | |||
| The following new Printer Description attributes are needed to | The following new Printer Description attributes are needed to | |||
| support the new operations defined in this document. | support the new operations defined in this document. | |||
| 6.1 printer-settable-attributes-supported (1setOf type2 keyword) | 6.1 printer-settable-attributes-supported (1setOf type2 keyword) | |||
| This REQUIRED READ-ONLY Printer attribute identifies the Printer | This REQUIRED READ-ONLY Printer attribute identifies the Printer | |||
| object attributes that are settable in this implementation, i.e., | object attributes that are settable in this implementation, i.e., | |||
| that are settable using the Set-Printer-Attributes operations (see | that are settable using the Set-Printer-Attributes operations (see | |||
| section 4.1). This attribute MUST be supported if the Set-Printer- | section 4.1). This attribute MUST be supported if the Set-Printer- | |||
| skipping to change at page 33, line 8 ¶ | skipping to change at page 29, line 8 ¶ | |||
| such as SLP or LDPA, by using suitable delimiting characters to | such as SLP or LDPA, by using suitable delimiting characters to | |||
| separate member attributes of the collection and/or terminating | separate member attributes of the collection and/or terminating | |||
| collection values. See [svrloc-printer] and [ldap-printer]. | collection values. See [svrloc-printer] and [ldap-printer]. | |||
| The member attributes of the "printer-xri-supported" (1setOf | The member attributes of the "printer-xri-supported" (1setOf | |||
| collection) are given in Table 3. | collection) are given in Table 3. | |||
| Table 3 - Member attributes of "printer-xri-supported" (1setOf | Table 3 - Member attributes of "printer-xri-supported" (1setOf | |||
| collection) | collection) | |||
| Member attribute client Printer | Member attribute client | |||
| MUST MUST | MUST MUST | |||
| supply support | supply support | |||
| xri-uri (uri) yes yes | xri-uri (uri) yes yes | |||
| xri-authentication (1setOf type2 keyword) yes yes | xri-authentication (1setOf type2 keyword) yes yes | |||
| xri-security (1setOf type2 keyword) yes yes | xri-security (1setOf type2 keyword) yes yes | |||
| Each collection value MUST contain a single unique value for the | Each collection value MUST contain a single unique value for the | |||
| skipping to change at page 33, line 45 ¶ | skipping to change at page 29, line 45 ¶ | |||
| semantically, but in a different form. | semantically, but in a different form. | |||
| A client can query what member attribute values can be set by | A client can query what member attribute values can be set by | |||
| supplying the three attribute names: "xri-uri-scheme-supported", | supplying the three attribute names: "xri-uri-scheme-supported", | |||
| "xri-authentication-supported", and "xri-security-supported" in a | "xri-authentication-supported", and "xri-security-supported" in a | |||
| Get-Printer-Supported-Values request and getting back the uriScheme | Get-Printer-Supported-Values request and getting back the uriScheme | |||
| and type2 keyword values that can be set. Since the "printer-xri- | and type2 keyword values that can be set. Since the "printer-xri- | |||
| supported", "uri-authentication-supported", and "uri-security- | supported", "uri-authentication-supported", and "uri-security- | |||
| supported" attributes are READ-ONLY, they are not queriable with the | supported" attributes are READ-ONLY, they are not queriable with the | |||
| Get-Printer-Supported-Values operation (see section 4.3). See Table | Get-Printer-Supported-Values operation (see section 4.3). See Table | |||
| 15. | 16. | |||
| When performing a Set-Printer-Attributes operation, if there are | When performing a Set-Printer-Attributes operation, if there are | |||
| multiple values for the "xri-authentication" and/or "xri-security" | multiple values for the "xri-authentication" and/or "xri-security" | |||
| member attributes, the Printer MUST set the corresponding three READ- | member attributes, the Printer MUST set the corresponding three READ- | |||
| ONLY attributes with all possible combinations of values. For | ONLY attributes with all possible combinations of values. For | |||
| example, setting the "printer-xri-supported" with the following two | example, setting the "printer-xri-supported" with the following two | |||
| collection values where the first URI has both 'basic' and 'digest' | collection values where the first URI has both 'basic' and 'digest' | |||
| authentication: | authentication: | |||
| "printer-xri-supported = | "printer-xri-supported = | |||
| skipping to change at page 35, line 35 ¶ | skipping to change at page 31, line 26 ¶ | |||
| URI schemes that the implementation supports for use in the "uri- | URI schemes that the implementation supports for use in the "uri- | |||
| security-supported" (1setOf type2 keyword) Printer Description | security-supported" (1setOf type2 keyword) Printer Description | |||
| attribute (see [RFC2911] section 4.4.3) and the "xri-security" member | attribute (see [RFC2911] section 4.4.3) and the "xri-security" member | |||
| attribute of the "xri-printer-supported" (1setOf collection) Printer | attribute of the "xri-printer-supported" (1setOf collection) Printer | |||
| Description attribute (see section 6.6). | Description attribute (see section 6.6). | |||
| A Printer MUST support this attribute if it supports setting the | A Printer MUST support this attribute if it supports setting the | |||
| "printer-xri-supported" (1setOf collection) with the Set-Printer- | "printer-xri-supported" (1setOf collection) with the Set-Printer- | |||
| Attributes operation. | Attributes operation. | |||
| 7 Additional status codes | 7 Additional status codes | |||
| This section defines new status codes used by the operations defined | This section defines new status codes used by the operations defined | |||
| in this document. | in this document. | |||
| 7.1 'client-error-attributes-not-settable' (0x0413) | 7.1 client-error-attributes-not-settable (0x0413) | |||
| The Set-Printer-Attributes or Set-Job-Attributes operation failed | The Set-Printer-Attributes or Set-Job-Attributes operation failed | |||
| because one or more of the specified attributes cannot be set either | because one or more of the specified attributes cannot be set either | |||
| because the attribute is defined to be READ-ONLY or the attribute is | because the attribute is defined to be READ-ONLY or the attribute is | |||
| not settable in this implementation (see sections 4.1.3 and 4.2.3), | not settable in this implementation (see sections 4.1.3 and 4.2.3), | |||
| the Printer MUST return this error code and the attribute keyword | the Printer MUST return this error code and the attribute keyword | |||
| name(s) and the 'not-settable' out-of-band value (see section 8.1) in | name(s) and the 'not-settable' out-of-band value (see section 8.1) in | |||
| the Unsupported Attributes Group(see [RFC2911] section 3.1.7) for all | the Unsupported Attributes Group(see [RFC2911] section 3.1.7) for all | |||
| of the attributes that could not be set. When the Printer returns | of the attributes that could not be set. When the Printer returns | |||
| this status, it MUST NOT change any of the attributes supplied in the | this status, it MUST NOT change any of the attributes supplied in the | |||
| operation. | operation. | |||
| 8 Additional out-of-band values | 8 Additional out-of-band values | |||
| This section defines additional out-of-band values. As with all out- | This section defines additional out-of-band values. As with all out- | |||
| of-band values, a client or a Printer MUST NOT use an out-of-band | of-band values, a client or a Printer MUST NOT use an out-of-band | |||
| value unless the definition of the attribute in an operation request | value unless the definition of the attribute in an operation request | |||
| and/or response explicitly allows such usage. See the beginning of | and/or response explicitly allows such usage. See the beginning of | |||
| [RFC2911] section 4.1. | [RFC2911] section 4.1. | |||
| 8.1 'not-settable' out-of-band value | 8.1 'not-settable' out-of-band value | |||
| The 'not-settable' out-of-band attribute value is returned by the IPP | The 'not-settable' out-of-band attribute value is returned by the IPP | |||
| skipping to change at page 37, line 5 ¶ | skipping to change at page 32, line 41 ¶ | |||
| operations' definition document explicitly defines such usage. If a | operations' definition document explicitly defines such usage. If a | |||
| Printer receives this out-of-band value in any operation request, the | Printer receives this out-of-band value in any operation request, the | |||
| Printer MUST either (1) reject the entire request and return the | Printer MUST either (1) reject the entire request and return the | |||
| 'client-error-bad-request' status code or (2) ignore the attribute | 'client-error-bad-request' status code or (2) ignore the attribute | |||
| and return it with the 'unsupported' out-of-band value. | and return it with the 'unsupported' out-of-band value. | |||
| See sections 4.1.3 and 4.2.3 in this document for an example | See sections 4.1.3 and 4.2.3 in this document for an example | |||
| definition of the usage of the 'not-settable' out-of-band value in | definition of the usage of the 'not-settable' out-of-band value in | |||
| the Set-Printer-Attributes and Set-Job-Attributes responses. | the Set-Printer-Attributes and Set-Job-Attributes responses. | |||
| 8.1.1 Encoding of the 'not-settable' out-of-band attribute value | 8.1.1 Encoding of the 'not-settable' out-of-band attribute value | |||
| The encoding of the 'not-settable' out-of-band value is 0x15 (see | The encoding of the 'not-settable' out-of-band value is 0x15 (see | |||
| [RFC2910]). The value-length MUST be 0 and the value empty. | [RFC2910]). The value-length MUST be 0 and the value empty. | |||
| 8.2 'delete-attribute' out-of-band value | 8.2 'delete-attribute' out-of-band value | |||
| The 'delete-attribute' out-of-band attribute value is supplied by the | The 'delete-attribute' out-of-band attribute value is supplied by the | |||
| client in a request to indicate that the Printer is to remove the | client in a request to indicate that the Printer is to remove the | |||
| supplied attribute and all of its values from the target object, if | supplied attribute and all of its values from the target object, if | |||
| present. | present. | |||
| skipping to change at page 37, line 40 ¶ | skipping to change at page 33, line 30 ¶ | |||
| object indicates that the attribute is not supported. If a Printer | object indicates that the attribute is not supported. If a Printer | |||
| receives this out-of-band value in other operation requests, the | receives this out-of-band value in other operation requests, the | |||
| Printer MUST either (1) reject the entire request and return the | Printer MUST either (1) reject the entire request and return the | |||
| 'client-error-bad-request' status code or (2) ignore the attribute | 'client-error-bad-request' status code or (2) ignore the attribute | |||
| and return it with the 'unsupported' out-of-band value. | and return it with the 'unsupported' out-of-band value. | |||
| See section 4.2 in this document for the definition of the usage of | See section 4.2 in this document for the definition of the usage of | |||
| the 'delete-attribute' out-of-band value in the Set-Job-Attributes | the 'delete-attribute' out-of-band value in the Set-Job-Attributes | |||
| request. | request. | |||
| 8.2.1 Encoding of the 'delete-attribute' out-of-band value | 8.2.1 Encoding of the 'delete-attribute' out-of-band value | |||
| The encoding of the 'delete-attribute' out-of-band value is 0x16 (see | The encoding of the 'delete-attribute' out-of-band value is 0x16 (see | |||
| [RFC2910]). The value-length MUST be 0 and the value empty. | [RFC2910]). The value-length MUST be 0 and the value empty. | |||
| 8.3 'admin-define' out-of-band attribute value | 8.3 'admin-define' out-of-band attribute value | |||
| Section 4.3 defines the Get-Printer-Supported-Values response to | Section 4.3 defines the Get-Printer-Supported-Values response to | |||
| contain the values of an "xxx-supported" attribute that are supported | contain the values of an "xxx-supported" attribute that are supported | |||
| by the implementation before any additional value are defined by the | by the implementation before any additional value are defined by the | |||
| administrator. The 'admin-define' out-of-band attribute value is | administrator. The 'admin-define' out-of-band attribute value is | |||
| skipping to change at page 39, line 17 ¶ | skipping to change at page 35, line 5 ¶ | |||
| defines arbitrary values for such attributes. If other documents | defines arbitrary values for such attributes. If other documents | |||
| extend the use of the 'admin-define' out-of-band value to other | extend the use of the 'admin-define' out-of-band value to other | |||
| attribute syntaxes, such a document MUST define such use explicitly, | attribute syntaxes, such a document MUST define such use explicitly, | |||
| including with which attributes. | including with which attributes. | |||
| See section 4.3 in this document for an example definition of the | See section 4.3 in this document for an example definition of the | |||
| usage of the 'admin-define' out-of-band attribute value in any "xxx- | usage of the 'admin-define' out-of-band attribute value in any "xxx- | |||
| supported" attribute returned in a Get-Printer-Supported-Values | supported" attribute returned in a Get-Printer-Supported-Values | |||
| response that is defined to include the 'name' attribute syntax. | response that is defined to include the 'name' attribute syntax. | |||
| 8.3.1 Encoding of the 'admin-define' out-of-band attribute value | 8.3.1 Encoding of the 'admin-define' out-of-band attribute value | |||
| The encoding of the 'admin-define' out-of-band attribute value is | The encoding of the 'admin-define' out-of-band attribute value is | |||
| 0x17 (see [RFC2910]). The value-length MUST be 0 and the value | 0x17 (see [RFC2910]). The value-length MUST be 0 and the value | |||
| empty. | empty. | |||
| 9 Conformance Requirements | 9 New Values for Existing Printer Description Attributes | |||
| This section contains those attributes for which additional values | ||||
| are added. | ||||
| 9.1 operations-supported (1setOf type2 enum) | ||||
| The following "operation-id" values are added in order to support the | ||||
| new operations defined in this document: | ||||
| Table 4 - Operation-id assignments | ||||
| Value Operation Name | ||||
| 0x0013 Set-Printer-Attributes | ||||
| 0x0014 Set-Job-Attributes | ||||
| 0x0015 Get-Printer-Supported-Values | ||||
| 10 Conformance Requirements | ||||
| This section specifies the conformance requirements for clients and | This section specifies the conformance requirements for clients and | |||
| IPP objects. | IPP objects. | |||
| Both the Set-Job-Attributes and the Set-Printer-Attributes operations | Both the Set-Job-Attributes and the Set-Printer-Attributes operations | |||
| defined in the document are OPTIONAL for an IPP object to support. | defined in the document are OPTIONAL for an IPP object to support. | |||
| Either one MAY be supported without the other or both MAY be | Either one MAY be supported without the other or both MAY be | |||
| supported. However, if the Set-Printer-Attributes operation is | supported. However, if the Set-Printer-Attributes operation is | |||
| supported, then the Get-Printer-Supported-Values operation MUST be | supported, then the Get-Printer-Supported-Values operation MUST be | |||
| supported if any "xxx-supported" attributes are settable. Otherwise, | supported if any "xxx-supported" attributes are settable. Otherwise, | |||
| the Get-Printer-Supported-Values operation is OPTIONAL for an IPP | the Get-Printer-Supported-Values operation is OPTIONAL for an IPP | |||
| Printer to support. | Printer to support. | |||
| If the Set-Printer-Attributes operation is supported, then the | If the Set-Printer-Attributes operation is supported, then the | |||
| Printer MUST support the following additional items: | Printer MUST support the following additional items: | |||
| 1.the Get-Printer-Supported-Values operation (see section 5), if | 1. the Get-Printer-Supported-Values operation (see section 5), if | |||
| any "xxx-supported" attributes are settable. | any "xxx-supported" attributes are settable. | |||
| 2.the "printer-settable-attributes-supported" Printer Description | 2. the "printer-settable-attributes-supported" Printer Description | |||
| attribute (see section 6.1) | attribute (see section 6.1) | |||
| 3.the 'not-settable' out-of-band value in responses (see section | 3. the 'not-settable' out-of-band value in responses (see section | |||
| 8.1) | 8.1) | |||
| 4.the 'client-error-not-settable' status code (see section 7.1) | 4. the 'client-error-not-settable' status code (see section 7.1) | |||
| 5.If "printer-message-from-operator" Printer Description attribute | 5. If "printer-message-from-operator" Printer Description attribute | |||
| is supported (see [RFC2911] section 4.4.25), then it MUST be | is supported (see [RFC2911] section 4.4.25), then it MUST be | |||
| settable. | settable. | |||
| 6.the Get-Printer-Supported-Values operation (see section 4.3), if | 6. the Get-Printer-Supported-Values operation (see section 4.3), if | |||
| any "xxx-supported" attributes are settable. | any "xxx-supported" attributes are settable. | |||
| 7.If a client can set a value with the 'name' attribute syntax for | 7. If a client can set a value with the 'name' attribute syntax for | |||
| one or more "xxx-supported" attributes, then the 'admin-define' | one or more "xxx-supported" attributes, then the 'admin-define' | |||
| out-of-band attribute value (see section 8.3) MUST be supported | out-of-band attribute value (see section 8.3) MUST be supported | |||
| in the Get-Printer-Supported-Values response for each such | in the Get-Printer-Supported-Values response for each such | |||
| settable attribute (see section 4.3) | settable attribute (see section 4.3) | |||
| If the Set-Job-Attributes operation is supported, then the Printer | If the Set-Job-Attributes operation is supported, then the Printer | |||
| MUST support the following additional items: | MUST support the following additional items: | |||
| 1.the "job-settable-attributes-supported " Printer Description | 1. the "job-settable-attributes-supported" Printer Description | |||
| attribute (see section 6.2) | attribute (see section 6.2) | |||
| 2.the 'not-settable' out-of-band value in responses (see section | 2. the 'not-settable' out-of-band value in responses (see section | |||
| 8.1) | 8.1) | |||
| 3.the 'delete-attribute' out-of-band value in requests (see | 3. the 'delete-attribute' out-of-band value in requests (see | |||
| section 8.2) | section 8.2) | |||
| 4.the 'client-error-not-settable' status code (see section 7.1) | 4. the 'client-error-not-settable' status code (see section 7.1) | |||
| 5.If the "job-message-from-operator" Printer Description attribute | 5. If the "job-message-from-operator" Printer Description attribute | |||
| is supported (see [RFC2911] 4.3.16), then it MUST be settable. | is supported (see [RFC2911] 4.3.16), then it MUST be settable. | |||
| It is OPTIONAL for the Printer object to support the "printer- | It is OPTIONAL for the Printer object to support the "printer- | |||
| message-time" (integer) and "printer-message-date-time" (dateTime) | message-time" (integer) and "printer-message-date-time" (dateTime) | |||
| Printer Description attributes. If both the "printer-message-time" | Printer Description attributes. If both the "printer-message-time" | |||
| (integer) and the "printer-current-time" (dateTime) (see [RFC2911] | (integer) and the "printer-current-time" (dateTime) (see [RFC2911] | |||
| section 4.4.30) attributes are supported, then the "printer-message- | section 4.4.30) attributes are supported, then the "printer-message- | |||
| date-time" (dateTime) Printer Description attribute MUST be | date-time" (dateTime) Printer Description attribute MUST be | |||
| supported. | supported. | |||
| As with all out-of-band values, a client or a Printer MUST NOT use an | As with all out-of-band values, a client or a Printer MUST NOT use an | |||
| out-of-band value unless the definition document for the attribute in | out-of-band value unless the definition document for the attribute in | |||
| an operation request and/or response explicitly allows such usage. | an operation request and/or response explicitly allows such usage. | |||
| 10 IANA Considerations | 11 IANA Considerations | |||
| This section contains the exact information for IANA to add to the | This section contains registration information for IANA to add to the | |||
| IPP Registries according to the procedures defined in RFC 2911 | various IPP Registries according to the procedures defined in RFC | |||
| [RFC2911] section 6. | 2911 [RFC2911] section 6. | |||
| Note to RFC Editors: Replace RFC NNNN below with the RFC number for | Note to RFC Editors: Replace RFC NNNN below with the RFC number for | |||
| this document, so that it accurately reflects the content of the | this document, so that it accurately reflects the content of the | |||
| information for the IANA Registry. | information for the IANA Registry. | |||
| 10.1 Operation Registrations | 11.1 Operation Registrations | |||
| The operations defined in this document will be published by IANA | ||||
| according to the procedures in RFC 2911 [RFC2911] section 6.4 with | ||||
| the following path: | ||||
| ftp.isi.edu/iana/assignments/ipp/operations/ | ||||
| The registry entry will contain the following information: | The following table lists all of the operations defined in this | |||
| document. These are to be registered according to the procedures | ||||
| defined in RFC 2911 [RFC2911] section 6.4. | ||||
| Operations: Ref. Section: | Operations: Ref. Section: | |||
| Set-Printer-Attributes RFC NNNN 4.1 | Set-Printer-Attributes RFC NNNN 4.1 | |||
| Set-Job-Attributes RFC NNNN 4.2 | Set-Job-Attributes RFC NNNN 4.2 | |||
| Get-Printer-Supported-Values RFC NNNN 4.3 | Get-Printer-Supported-Values RFC NNNN 4.3 | |||
| 10.2 Attribute Registrations | The resulting operation registrations will be published in the | |||
| ftp://ftp.iana.org/in-notes/iana/assignments/ipp/operations/ | ||||
| area. | ||||
| The attributes defined in this document will be published by IANA | 11.2 Additional Enum Attribute Value Registrations for the "operations- | |||
| according to the procedures in RFC 2911 [RFC2911] section 6.2 with | supported" Printer Attribute | |||
| the following path: | ||||
| ftp.isi.edu/iana/assignments/ipp/attributes/ | The following table lists all the new enum attribute values defined | |||
| in this document as additional type2 enum values for use with the | ||||
| "operations-supported" Printer Description attribute. These are to be | ||||
| registered according to the procedures defined in RFC 2911 [RFC 2911] | ||||
| section 6.1. | ||||
| The registry entry will contain the following information: | Enum Attribute Values: Value Ref. Section: | |||
| Set-Printer-Attributes 0x0013 RFC NNNN 4 | ||||
| Set-Job-Attributes 0x0014 RFC NNNN 4 | ||||
| Get-Printer-Supported-Values 0x0015 RFC NNNN 4 | ||||
| The resulting enum attribute value registrations will be published in | ||||
| the | ||||
| ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attribute- | ||||
| values/operations-supported/ | ||||
| area. | ||||
| 11.3 Attribute Registrations | ||||
| The following table lists all of the attributes defined in this | ||||
| document. These are to be registered according to the procedures in | ||||
| RFC 2911 [RFC2911] section 6.2. | ||||
| Operation attributes: Ref. Section: | Operation attributes: Ref. Section: | |||
| printer-message-from-operator (text(127)) RFC NNNN 5.1 | printer-message-from-operator (text(127)) RFC NNNN 5.1 | |||
| job-message-from-operator (text(127)) RFC NNNN 5.2 | job-message-from-operator (text(127)) RFC NNNN 5.2 | |||
| Printer Description attributes: Ref. Section: | Printer Description attributes: Ref. Section: | |||
| printer-settable-attributes-supported (1setOf type2 keyword) | printer-settable-attributes-supported (1setOf type2 keyword) | |||
| RFC NNNN 6.1 | RFC NNNN 6.1 | |||
| job-settable-attributes-supported (1setOf type2 keyword) | job-settable-attributes-supported (1setOf type2 keyword) | |||
| RFC NNNN 6.2 | RFC NNNN 6.2 | |||
| document-format-varying-attributes (1setOf type2 keyword) | document-format-varying-attributes (1setOf type2 keyword) | |||
| RFC NNNN 6.3 | RFC NNNN 6.3 | |||
| printer-message-time (integer(MIN:MAX)) RFC NNNN 6.4 | printer-message-time (integer(MIN:MAX)) RFC NNNN 6.4 | |||
| printer-message-date-time (dateTime) RFC NNNN 6.5 | printer-message-date-time (dateTime) RFC NNNN 6.5 | |||
| printer-xri-supported (1setOf collection) RFC NNNN 6.6 | printer-xri-supported (1setOf collection) RFC NNNN 6.6 | |||
| xri-uri-scheme-supported (1setOf uriScheme) RFC NNNN 6.7 | xri-uri-scheme-supported (1setOf uriScheme) RFC NNNN 6.7 | |||
| xri-authentication-supported (1setOf type2 keyword) 6.8 | xri-authentication-supported (1setOf type2 keyword) 6.8 | |||
| xri-security-supported (1setOf type2 keyword) RFC NNNN 6.9 | xri-security-supported (1setOf type2 keyword) RFC NNNN 6.9 | |||
| 10.3 Status code Registrations | The resulting attribute registrations will be published in the | |||
| ftp://ftp.iana.org/in-notes/iana/assignments/ipp/attributes/ | ||||
| The status codes defined in this document will be published by IANA | area. | |||
| according to the procedures in RFC 2911 [RFC2911] section 6.6 with | ||||
| the following path: | ||||
| ftp.isi.edu/iana/assignments/ipp/status-codes/ | 11.4 Status code Registrations | |||
| The registry entry will contain the following information: | 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: | Status codes: Ref. Section: | |||
| 'client-error-attributes-not-settable' (0x0413) RFC NNNN 7.1 | client-error-attributes-not-settable (0x0413) RFC NNNN 7.1 | |||
| 10.4 Out-of-band Attribute Value Registrations | ||||
| The out-of-band attribute values defined in this document will be | The resulting status code registration will be published in the | |||
| published by IANA according to the procedures in RFC 2911 [RFC2911] | ftp://ftp.iana.org/in-notes/iana/assignments/ipp/status-codes/ | |||
| section 6.7 with the following path: | area. | |||
| ftp.isi.edu/iana/assignments/ipp/out-of-band-attribute-value-tags/ | 11.5 Out-of-band Attribute Value Registrations | |||
| The registry entry will contain the following information: | The following table lists all of the out-of-band attribute values | |||
| defined in this document. These are to be registered according to | ||||
| the procedures in RFC 2911 [RFC2911] section 6.7. | ||||
| Out-of-band Attribute Values: Ref. Section: | Out-of-band Attribute Values: Ref. Section: | |||
| 'not-settable' out-of-band value RFC NNNN 8.1 | 'not-settable' out-of-band value RFC NNNN 8.1 | |||
| 'delete-attribute' out-of-band value RFC NNNN 8.2 | 'delete-attribute' out-of-band value RFC NNNN 8.2 | |||
| 'admin-define' out-of-band attribute value RFC NNNN 8.3 | 'admin-define' out-of-band attribute value RFC NNNN 8.3 | |||
| 11 Internationalization Considerations | The resulting out-of-band attribute value registrations will be | |||
| published in the | ||||
| ftp.iana.org/in-notes/iana/assignments/ipp/out-of-band-attribute- | ||||
| value-tags/ | ||||
| area. | ||||
| 12 Internationalization Considerations | ||||
| This document has the same localization considerations as the | This document has the same localization considerations as the | |||
| [RFC2911]. | [RFC2911]. | |||
| 12 Security Considerations | 13 Security Considerations | |||
| The IPP Model and Semantics document [RFC2911 section 8] discusses | The IPP Model and Semantics document [RFC2911 section 8] discusses | |||
| high level security requirements (Client Authentication, Server | high level security requirements (Client Authentication, Server | |||
| Authentication and Operation Privacy). Client Authentication is the | Authentication and Operation Privacy). Client Authentication is the | |||
| mechanism by which the client proves its identity to the server in a | mechanism by which the client proves its identity to the server in a | |||
| secure manner. Server Authentication is the mechanism by which the | secure manner. Server Authentication is the mechanism by which the | |||
| server proves its identity to the client in a secure manner. | server proves its identity to the client in a secure manner. | |||
| Operation Privacy is defined as a mechanism for protecting operations | Operation Privacy is defined as a mechanism for protecting operations | |||
| from eavesdropping. | from eavesdropping. | |||
| skipping to change at page 44, line 7 ¶ | skipping to change at page 40, line 21 ¶ | |||
| user's Job, such as the "copies" attribute. For example, setting the | user's Job, such as the "copies" attribute. For example, setting the | |||
| number of copies to a large number. | number of copies to a large number. | |||
| The general remedy for such malicious user actions against another | The general remedy for such malicious user actions against another | |||
| user's job is to have strong Client Authentication coupled with | user's job is to have strong Client Authentication coupled with | |||
| Printer access control to limit the users who have System | Printer access control to limit the users who have System | |||
| Administrator or Operator privileges who can modify any job and, in | Administrator or Operator privileges who can modify any job and, in | |||
| addition, store the Client Authentication with each Job so that only | addition, store the Client Authentication with each Job so that only | |||
| the job owner End User can modify his/her own job. | the job owner End User can modify his/her own job. | |||
| 13 Author's Addresses | 14 Author's Addresses | |||
| Carl Kugler | Carl Kugler | |||
| IBM | IBM | |||
| P.O. Box 1900 | P.O. Box 1900 | |||
| Boulder, CO 80301-9191 | Boulder, CO 80301-9191 | |||
| Phone: (303) 924-5060 | Phone: (303) 924-5060 | |||
| FAX: | FAX: | |||
| e-mail: kugler@us.ibm.com | e-mail: kugler@us.ibm.com | |||
| skipping to change at page 44, line 35 ¶ | skipping to change at page 41, line 4 ¶ | |||
| e-mail: hastings@cp10.es.xerox.com | e-mail: hastings@cp10.es.xerox.com | |||
| Robert Herriot | Robert Herriot | |||
| Xerox Corp. | Xerox Corp. | |||
| 3400 Hill View Ave, Building 1 | 3400 Hill View Ave, Building 1 | |||
| Palo Alto, CA 94304 | Palo Alto, CA 94304 | |||
| Phone: 650-813-7696 | Phone: 650-813-7696 | |||
| Fax: 650-813-6860 | Fax: 650-813-6860 | |||
| e-mail: robert.herriot@pahv.xerox.com | e-mail: robert.herriot@pahv.xerox.com | |||
| Harry Lewis | Harry Lewis | |||
| IBM | IBM | |||
| P.O. Box 1900 | P.O. Box 1900 | |||
| Boulder, CO 80301-9191 | Boulder, CO 80301-9191 | |||
| Phone: (303) 924-5337 | Phone: (303) 924-5337 | |||
| FAX: | FAX: | |||
| e-mail: harryl@us.ibm.com | e-mail: harryl@us.ibm.com | |||
| 14 References | IPP Web Page: http://www.pwg.org/ipp/ | |||
| IPP Mailing List: ipp@pwg.org | ||||
| 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. | ||||
| 15 References | ||||
| [ipp-coll] | [ipp-coll] | |||
| deBry, R., , Hastings, T., Herriot, R., "Internet Printing Protocol | deBry, R., , Hastings, T., Herriot, R., "Internet Printing Protocol | |||
| (IPP): The Collection Attribute Syntax", <draft-ietf-ipp- | (IPP): The Collection Attribute Syntax", <draft-ietf-ipp- | |||
| collection-02.doc>, work in progress, March 9, 2000. | collection-05.txt>, work in progress, July 17, 2001. | |||
| [ipp-set2] | [ipp-set2] | |||
| Kugler, C, Hastings, T., Lewis, H., "Internet Printing | Kugler, C, Hastings, T., Lewis, H., "Internet Printing | |||
| Protocol/1.1: Job and Printer Administrative Operations", <draft- | Protocol/1.1: Job and Printer Administrative Operations", <draft- | |||
| ietf-ipp-ops-set2-01.txt>, December 8, 1999. | ietf-ipp-ops-set2-02.txt>, July 19, 2000. | |||
| [ldap-printer] | [ldap-printer] | |||
| Fleming, P., Jones, K., Lewis, H., McDonald, I., "Internet Printing | Fleming, P., Jones, K., Lewis, H., McDonald, I., "Internet Printing | |||
| Protocol (IPP): LDAP Schema for Printer Services", <draft-ietf-ipp- | Protocol (IPP): LDAP Schema for Printer Services", <draft-ietf-ipp- | |||
| ldap-printer-schema-00.txt>, work in progress, March 8, 2000. | ldap-printer-schema-04.txt>, work in progress, December 20, 2000. | |||
| [RFC2565] | [RFC2565] | |||
| Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing | Herriot, R., Butler, S., Moore, P., Tuner, R., "Internet Printing | |||
| Protocol/1.0: Encoding and Transport", RFC 2565, April 1999. | Protocol/1.0: Encoding and Transport", RFC 2565, April 1999. | |||
| [RFC2566] | [RFC2566] | |||
| 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 2566, | "Internet Printing Protocol/1.0: Model and Semantics", RFC 2566, | |||
| April 1999. | April 1999. | |||
| skipping to change at page 46, line 5 ¶ | skipping to change at page 43, line 5 ¶ | |||
| [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. | |||
| [svrloc-printer] | [svrloc-printer] | |||
| St. Pierre, P., Isaacson, S., McDonald, I., "Definition of the | St. Pierre, P., Isaacson, S., McDonald, I., "Definition of the | |||
| Printer Abstract Service Type v2.0", <draft-ietf-svrloc-printer- | Printer Abstract Service Type v2.0", <draft-ietf-svrloc-printer- | |||
| scheme-06.txt>, work in progress, March 8, 2000. | scheme-06.txt>, work in progress, March 8, 2000. | |||
| 15 Appendix A: Allowed Values for Set-Printer-Attributes and Set-Job- | 16 Appendix A: Allowed Values for Set-Printer-Attributes and Set-Job- | |||
| Attributes requests | Attributes requests | |||
| This appendix is a normative part of this document and contains a | This appendix is a normative part of this document and contains a | |||
| table of all IPP/1.1 attributes. Each row contains: | table of all IPP/1.1 attributes. Each row contains: | |||
| . an attribute and | ? an attribute and | |||
| . the values allowed in the Set-Printer-Attributes or Set-Job- | ? the values allowed in the Set-Printer-Attributes or Set-Job- | |||
| Attributes request for the attribute. The entry in each cell is | Attributes request for the attribute. The entry in each cell is | |||
| the name (first few words) of each item below 1, 2, 3, 4a-g, and | the name (first few words) of each item below 1, 2, 3, 4a-g, and | |||
| 5. | 5. | |||
| The allowed values include the following cases: | The allowed values include the following cases: | |||
| 1.READ-ONLY: the Set-Printer-Attributes or Set-Job-Attributes | 1. READ-ONLY: the Set-Printer-Attributes or Set-Job-Attributes | |||
| operation MUST NOT change this attribute and MUST reject the | operation MUST NOT change this attribute and MUST reject the | |||
| entire operation (see section 7.1). | entire operation (see section 7.1). | |||
| 2.Any of "xxx-supported": the Set-Printer-Attributes or Set-Job- | 2. Any of "xxx-supported": the Set-Printer-Attributes or Set-Job- | |||
| Attributes operation accepts values that are allowed according to | Attributes operation accepts values that are allowed according to | |||
| the IPP/1.1 rules for validating the value(s) of an "xxx" Printer | the IPP/1.1 rules for validating the value(s) of an "xxx" Printer | |||
| or Job attribute against the value(s) of the corresponding "xxx- | or Job attribute against the value(s) of the corresponding "xxx- | |||
| supported" Printer attribute. Table 4 summarizes those validation | supported" Printer attribute. Table 5 summarizes those validation | |||
| rules depending on each attribute syntax and value of an "xxx" | rules depending on each attribute syntax and value of an "xxx" | |||
| attribute supplied in the request and that of the corresponding | attribute supplied in the request and that of the corresponding | |||
| "xxx-supported" Printer attribute. The "xxx-supported" attribute | "xxx-supported" Printer attribute. The "xxx-supported" attribute | |||
| syntax type and value(s) are obtained from a Get-Printer- | syntax type and value(s) are obtained from a Get-Printer- | |||
| Supported-Values response (see the tables in this Appendix). | Supported-Values response (see the tables in this Appendix). | |||
| Table 4 - Validation rules for 'Any of "xxx-supported" ' | Table 5 - Validation rules for 'Any of "xxx-supported" ' | |||
| Type of "xxx" Type of "xxx- Validates if: | Type of "xxx" Type of "xxx- Validates if: | |||
| value to be supported" value | value to be supported" value | |||
| set | set | |||
| integer rangeOfInteger each value is in one of the | integer rangeOfInteger each value is in one of the | |||
| "xxx-supported" ranges | "xxx-supported" ranges | |||
| uri uriScheme each uri scheme matches one | uri uriScheme each uri scheme matches one | |||
| of the "xxx-supported" | of the "xxx-supported" | |||
| schemes | schemes | |||
| any boolean if the boolean "xxx- | any boolean if the boolean "xxx- | |||
| supported" is 'true' | supported" is 'true' | |||
| any same type each value matches an "xxx- | any same type each value matches an "xxx- | |||
| supported" value of the same | supported" value of the same | |||
| type | type | |||
| For additional non-normative explanatory information see section | For additional non-normative explanatory information see section | |||
| 3.1.2.3 of the "Internet Printing Protocol/1.1: Implementer's | 3.1.2.3 of the "Internet Printing Protocol/1.1: Implementer's | |||
| Guide" [ipp-iig]). | Guide" [ipp-iig]). | |||
| 3. From Get-Printer-Supported-Values: the Set-Printer-Attributes | 3. From Get-Printer-Supported-Values: the Set-Printer-Attributes | |||
| operation accepts values that are allowed according to the IPP/1.1 | operation accepts values that are allowed according to the IPP/1.1 | |||
| rules for validating the value(s) of an "xxx" Printer attribute | rules for validating the value(s) of an "xxx" Printer attribute | |||
| against the value(s) of the corresponding "xxx-supported" Printer | against the value(s) of the corresponding "xxx-supported" Printer | |||
| attribute. Table 5 summarizes those validation rules depending on | attribute. Table 6 summarizes those validation rules depending on | |||
| each attribute syntax and value of an "xxx" attribute supplied in | each attribute syntax and value of an "xxx" attribute supplied in | |||
| the request and that of the corresponding "xxx-supported" Printer | the request and that of the corresponding "xxx-supported" Printer | |||
| attribute. The "xxx-supported" attribute syntax type and attribute | attribute. The "xxx-supported" attribute syntax type and | |||
| value(s) are obtained from a Get-Printer-Supported-Values response | attribute value(s) are obtained from a Get-Printer-Supported- | |||
| (see Appendix B: Attributes returned from Get-Printer-Supported- | Values response (see Appendix B: Attributes returned from Get- | |||
| Values below). | Printer-Supported-Values below). | |||
| Table 5 - Validation rules for 'From Get-Printer-Supported-Values' | Table 6 - Validation rules for 'From Get-Printer-Supported-Values' | |||
| Type of Type of "xxx- Validates if: | Type of Type of "xxx- Validates if: | |||
| "xxx" supported" value | "xxx" supported" value | |||
| value to | value to | |||
| be set | be set | |||
| integer rangeOfInteger each 'integer' value is in one of | integer rangeOfInteger each 'integer' value is in one of | |||
| the "xxx-supported" ranges | the "xxx-supported" ranges | |||
| uri uriScheme the uri scheme of each value | uri uriScheme the uri scheme of each value | |||
| skipping to change at page 48, line 29 ¶ | skipping to change at page 45, line 29 ¶ | |||
| any boolean if the boolean "xxx-supported" is | any boolean if the boolean "xxx-supported" is | |||
| 'true' | 'true' | |||
| name 'admin-define' any 'name' value matches | name 'admin-define' any 'name' value matches | |||
| out-of-band | out-of-band | |||
| value | value | |||
| any same type each value matches an "xxx- | any same type each value matches an "xxx- | |||
| supported" value of the same type | supported" value of the same type | |||
| For additional non-normative explanatory information see section | For additional non-normative explanatory information see section | |||
| 3.1.2.3 of the "Internet Printing Protocol/1.1: Implementer's | 3.1.2.3 of the "Internet Printing Protocol/1.1: Implementer's | |||
| Guide" [ipp-iig]). | Guide" [ipp-iig]). | |||
| 4. Any value of the proper attribute syntax: the Set-Printer- | 4. Any value of the proper attribute syntax: the Set-Printer- | |||
| Attributes or Set-Job-Attributes operation accepts any value of the | Attributes or Set-Job-Attributes operation accepts any value of | |||
| specified attribute syntax. The attribute syntaxes supported are | the specified attribute syntax. The attribute syntaxes supported | |||
| enumerated below. | are enumerated below. | |||
| a.Any text(127) | a. Any text(127) | |||
| b.Any name(127) | b. Any name(127) | |||
| c.Any uri | c. Any uri | |||
| d.Any boolean | d. Any boolean | |||
| e.Any positive integer | e. Any positive integer | |||
| f.Any dateTime | f. Any dateTime | |||
| g.1setOf any uri | g. 1setOf any uri | |||
| 5. Combination of 'Any of "xxx-supported"' or 'Any name'. | 5. Combination of 'Any of "xxx-supported"' or 'Any name'. | |||
| If a Printer implementation doesn't want to allow setting values | If a Printer implementation doesn't want to allow setting values | |||
| indicated in this Appendix as "any xxx", it can make the value be | indicated in this Appendix as "any xxx", it can make the value be | |||
| not-settable. | not-settable. | |||
| Table 6 - Values allowed for Job Template Attributes in the Set-Job- | Table 7 - Values allowed for Job Template Attributes in the Set-Job- | |||
| Attributes Operation | Attributes Operation | |||
| Job Template Attributes Values allowed for | Job Template Attributes Values allowed for | |||
| Set | Set | |||
| job-priority (integer(1:100)) Any of "xxx- | job-priority (integer(1:100)) Any of "xxx- | |||
| supported" | supported" | |||
| job-hold-until (type3 keyword | name (MAX)) Any of "xxx- | job-hold-until (type3 keyword | name (MAX)) Any of "xxx- | |||
| supported" | supported" | |||
| skipping to change at page 52, line 5 ¶ | skipping to change at page 49, line 5 ¶ | |||
| media (type3 keyword | name(MAX)) Any of "xxx- | media (type3 keyword | name(MAX)) Any of "xxx- | |||
| supported" | supported" | |||
| printer-resolution (resolution) Any of "xxx- | printer-resolution (resolution) Any of "xxx- | |||
| supported" | supported" | |||
| print-quality (type2 enum) Any of "xxx- | print-quality (type2 enum) Any of "xxx- | |||
| supported" | supported" | |||
| Table 7 - Values allowed for Job Description Attributes in the Set- | Table 8 - Values allowed for Job Description Attributes in the Set- | |||
| Job-Attributes Operation | Job-Attributes Operation | |||
| Job Description Attributes Values allowed for | Job Description Attributes Values allowed for | |||
| Set | Set | |||
| job-uri (uri) READ-ONLY | job-uri (uri) READ-ONLY | |||
| job-id (integer(1:MAX)) READ-ONLY | job-id (integer(1:MAX)) READ-ONLY | |||
| job-printer-uri (uri) READ-ONLY | job-printer-uri (uri) READ-ONLY | |||
| skipping to change at page 54, line 4 ¶ | skipping to change at page 51, line 4 ¶ | |||
| job-k-octets-processed (integer(0:MAX)) READ-ONLY | job-k-octets-processed (integer(0:MAX)) READ-ONLY | |||
| job-impressions-completed (integer(0:MAX)) READ-ONLY | job-impressions-completed (integer(0:MAX)) READ-ONLY | |||
| job-media-sheets-completed (integer(0:MAX)) READ-ONLY | job-media-sheets-completed (integer(0:MAX)) READ-ONLY | |||
| attributes-charset (charset) READ-ONLY | attributes-charset (charset) READ-ONLY | |||
| attributes-natural-language READ-ONLY | attributes-natural-language READ-ONLY | |||
| (naturalLanguage) | (naturalLanguage) | |||
| Table 8 - Values allowed for Printer Job Template Attributes in the | Table 9 - Values allowed for Printer Job Template Attributes in the | |||
| Set-Printer-Attributes Operation | Set-Printer-Attributes Operation | |||
| Printer Job Template Attributes Values allowed | Printer Job Template Attributes Values allowed | |||
| for Set | for Set | |||
| job-priority-default (integer(1:100)) Any of "xxx- | job-priority-default (integer(1:100)) Any of "xxx- | |||
| supported" | supported" | |||
| job-hold-until-default (type3 keyword | name Any of "xxx- | job-hold-until-default (type3 keyword | name - | |||
| (MAX)) supported" | (MAX)) supported"xx | |||
| job-sheets-default (type3 keyword | name(MAX)) Any of "xxx- | job-sheets-default (type3 keyword | name(MAX)) Any of "xxx- | |||
| supported" | supported" | |||
| multiple-document-handling-default (type2 Any of "xxx- | multiple-document-handling-default (type2 - | |||
| keyword) supported" | keyword) supported"xx | |||
| copies-default (integer(1:MAX)) Any of "xxx- | copies-default (integer(1:MAX)) Any of "xxx- | |||
| supported" | supported" | |||
| finishings-default (1setOf type2 enum) Any of "xxx- | finishings-default (1setOf type2 enum) Any of "xxx- | |||
| supported" | supported" | |||
| sides-default (type2 keyword) Any of "xxx- | sides-default (type2 keyword) Any of "xxx- | |||
| supported" | supported" | |||
| skipping to change at page 55, line 12 ¶ | skipping to change at page 52, line 12 ¶ | |||
| Printer- | Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Job Template Attributes Values allowed | Printer Job Template Attributes Values allowed | |||
| for Set | for Set | |||
| job-hold-until-supported (1setOf(type3 keyword From Get- | job-hold-until-supported (1setOf(type3 keyword From Get- | |||
| | name (MAX))) Printer- | | name (MAX))) Printer- | |||
| Supported-Values | Supported-Values | |||
| job-sheets-supported (1setOf(type3 keyword | From Get- | job-sheets-supported (1setOf(type3 keyword | - | |||
| name(MAX))) Printer- | name(MAX))) Printer- | |||
| Supported-Values | Supported-Values | |||
| multiple-document-handling-supported (1setOf From Get- | multiple-document-handling-supported (1setOf - | |||
| type2 keyword) Printer- | type2 keyword) FromtGet | |||
| Supported-Values | Supported-Values | |||
| copies-supported (rangeOfInteger(1:MAX)) From Get- | copies-supported (rangeOfInteger(1:MAX)) From Get- | |||
| Printer- | Printer- | |||
| Supported-Values | Supported-Values | |||
| finishings-supported (1setOf type2 enum) From Get- | finishings-supported (1setOf type2 enum) From Get- | |||
| Printer- | Printer- | |||
| Supported-Values | Supported-Values | |||
| skipping to change at page 56, line 8 ¶ | skipping to change at page 53, line 8 ¶ | |||
| name(MAX))) Printer- | name(MAX))) Printer- | |||
| Supported-Values | Supported-Values | |||
| printer-resolution-supported (1setOf From Get- | printer-resolution-supported (1setOf From Get- | |||
| resolution) Printer- | resolution) Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Job Template Attributes Values allowed | Printer Job Template Attributes Values allowed | |||
| for Set | for Set | |||
| Supported-Values | ||||
| print-quality-supported (1setOf type2 enum) From Get- | print-quality-supported (1setOf type2 enum) From Get- | |||
| Printer- | Printer- | |||
| Supported-Values | Supported-Values | |||
| media-ready (type3 keyword | name(MAX)) From Get- | media-ready (type3 keyword | name(MAX)) From Get- | |||
| Printer- | Printer- | |||
| Supported-Values | Supported-Values | |||
| Table 9 - Values allowed for Printer Description Attributes in the | Table 10 - Values allowed for Printer Description Attributes in the | |||
| Set-Printer-Attributes Operation | Set-Printer-Attributes Operation | |||
| Printer Description Attributes Values allowed for | Printer Description Attributes Values allowed for | |||
| Set | Set | |||
| printer-uri-supported (1setOf uri) READ-ONLY | printer-uri-supported (1setOf uri) READ-ONLY | |||
| uri-authentication-supported (1setOf type2 READ-ONLY | uri-authentication-supported (1setOf type2 READ-ONLY | |||
| keyword) | keyword) | |||
| skipping to change at page 57, line 35 ¶ | skipping to change at page 54, line 5 ¶ | |||
| Get-Printer- | Get-Printer- | |||
| Attributes | Attributes | |||
| xri-authentication (1setOf type2 keyword) any keyword of | xri-authentication (1setOf type2 keyword) any keyword of | |||
| "xri- | "xri- | |||
| authentication- | authentication- | |||
| supported" from | supported" from | |||
| Get-Printer- | Get-Printer- | |||
| Attributes | Attributes | |||
| Printer Description Attributes Values allowed for | ||||
| Set | ||||
| xri-security (1setOf type2 keyword) any keyword of | xri-security (1setOf type2 keyword) any keyword of | |||
| "xri-security- | "xri-security- | |||
| supported" from | supported" from | |||
| Get-Printer- | Get-Printer- | |||
| Attributes | Attributes | |||
| xri-uri-scheme-supported (1setOf uriScheme) READ-ONLY | xri-uri-scheme-supported (1setOf uriScheme) READ-ONLY | |||
| xri-authentication-supported (1setOf type2 READ-ONLY | xri-authentication-supported (1setOf type2 -ONLY | |||
| keyword) | keyword) READ | |||
| xri-security-supported (1setOf type2 READ-ONLY | xri-security-supported (1setOf type2 READ-ONLY | |||
| keyword) | keyword) | |||
| printer-name (name(127)) Any name(127) | printer-name (name(127)) Any name(127) | |||
| Printer Description Attributes Values allowed for | ||||
| Set | ||||
| printer-location (text(127)) Any text(127) | printer-location (text(127)) Any text(127) | |||
| printer-info (text(127)) Any text(127) | printer-info (text(127)) Any text(127) | |||
| printer-more-info (uri) Any uri | printer-more-info (uri) Any uri | |||
| printer-driver-installer (uri) Any uri | printer-driver-installer (uri) Any uri | |||
| printer-make-and-model (text(127)) Any text(127) | printer-make-and-model (text(127)) Any text(127) | |||
| skipping to change at page 58, line 35 ¶ | skipping to change at page 55, line 5 ¶ | |||
| ipp-versions-supported (1setOf type2 From Get-Printer- | ipp-versions-supported (1setOf type2 From Get-Printer- | |||
| keyword) Supported-Values | keyword) Supported-Values | |||
| operations-supported (1setOf type2 enum) From Get-Printer- | operations-supported (1setOf type2 enum) From Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| multiple-document-jobs-supported (boolean) From Get-Printer- | multiple-document-jobs-supported (boolean) From Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Description Attributes Values allowed for | ||||
| Set | ||||
| Supported-Values | ||||
| charset-configured (charset) Any of "xxx- | charset-configured (charset) Any of "xxx- | |||
| supported", use | supported", use | |||
| "charset-supported" | "charset-supported" | |||
| charset-supported (1setOf charset) From Get-Printer- | charset-supported (1setOf charset) From Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| natural-language-configured Any of "xxx- | natural-language-configured Any of "xxx- | |||
| (naturalLanguage) supported", use | (naturalLanguage) supported", use | |||
| "generated-natural- | "generated-natural- | |||
| language-supported" | language-supported" | |||
| generated-natural-language-supported From Get-Printer- | generated-natural-language-supported From Get-Printer- | |||
| (1setOf naturalLanguage) Supported-Values | (1setOf naturalLanguage) Supported-Values | |||
| Printer Description Attributes Values allowed for | ||||
| Set | ||||
| document-format-default (mimeMediaType) Any of "xxx- | document-format-default (mimeMediaType) Any of "xxx- | |||
| supported" | supported" | |||
| document-format-supported (1setOf From Get-Printer- | document-format-supported (1setOf From Get-Printer- | |||
| mimeMediaType) Supported-Values | mimeMediaType) Supported-Values | |||
| printer-is-accepting-jobs (boolean) READ-ONLY | printer-is-accepting-jobs (boolean) READ-ONLY | |||
| queued-job-count (integer(0:MAX)) READ-ONLY | queued-job-count (integer(0:MAX)) READ-ONLY | |||
| skipping to change at page 59, line 31 ¶ | skipping to change at page 56, line 4 ¶ | |||
| reference-uri-schemes-supported (1setOf From Get-Printer- | reference-uri-schemes-supported (1setOf From Get-Printer- | |||
| uriScheme) Supported-Values | uriScheme) Supported-Values | |||
| pdl-override-supported (type2 keyword) From Get-Printer- | pdl-override-supported (type2 keyword) From Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| printer-up-time (integer(1:MAX)) READ-ONLY | printer-up-time (integer(1:MAX)) READ-ONLY | |||
| printer-current-time (dateTime) Any dateTime ** | printer-current-time (dateTime) Any dateTime ** | |||
| Printer Description Attributes Values allowed for | ||||
| Set | ||||
| multiple-operation-time-out any positive | multiple-operation-time-out any positive | |||
| (integer(1:MAX)) integer | (integer(1:MAX)) integer | |||
| compression-supported (1setOf type3 From Get-Printer- | compression-supported (1setOf type3 From Get-Printer- | |||
| keyword) Supported-Values | keyword) Supported-Values | |||
| job-k-octets-supported From Get-Printer- | job-k-octets-supported From Get-Printer- | |||
| (rangeOfInteger(0:MAX)) Supported-Values | (rangeOfInteger(0:MAX)) Supported-Values | |||
| job-impressions-supported From Get-Printer- | job-impressions-supported From Get-Printer- | |||
| (rangeOfInteger(0:MAX)) Supported-Values | (rangeOfInteger(0:MAX)) Supported-Values | |||
| job-media-sheets-supported From Get-Printer- | job-media-sheets-supported -Printer- | |||
| (rangeOfInteger(0:MAX)) Supported-Values | (rangeOfInteger(0:MAX)) Supported-Values | |||
| pages-per-minute (integer(0:MAX)) READ-ONLY | pages-per-minute (integer(0:MAX)) READ-ONLY | |||
| pages-per-minute-color (integer(0:MAX)) READ-ONLY | pages-per-minute-color (integer(0:MAX)) READ-ONLY | |||
| Printer Description Attributes Values allowed for | ||||
| Set | ||||
| printer-settable-attributes-supported From Get-Printer- | printer-settable-attributes-supported From Get-Printer- | |||
| (1setOf type2 keyword) Supported-Values | (1setOf type2 keyword) Supported-Values | |||
| job-settable-attributes-supported (1setOf From Get-Printer- | job-settable-attributes-supported (1setOf From Get-Printer- | |||
| type2 keyword) Supported-Values | type2 keyword) Supported-Values | |||
| document-format-varying-attributes (1setOf READ-ONLY | document-format-varying-attributes (1setOf READ-ONLY | |||
| type2 keyword) | type2 keyword) | |||
| printer-message-time (integer(MIN:MAX)) READ-ONLY | printer-message-time (integer(MIN:MAX)) READ-ONLY | |||
| printer-message-date-time(dateTime) READ-ONLY | printer-message-date-time(dateTime) READ-ONLY | |||
| ** - The "printer-current-time" (dateTime) attribute is settable in | ** - The "printer-current-time" (dateTime) attribute is settable in | |||
| order to allow an administrator to correct an incorrect dateTime or | order to allow an administrator to correct an incorrect dateTime or | |||
| time zone. | time zone. | |||
| 16 Appendix B: Attributes returned from Get-Printer-Supported-Values | 17 Appendix B: Attributes returned from Get-Printer-Supported-Values | |||
| This Appendix is a normative part of this document and lists all the | This Appendix is a normative part of this document and lists all the | |||
| attributes that are possible for an implementation to return in a | attributes that are possible for an implementation to return in a | |||
| Get-Printer-Supported-Values response, i.e., all the "xxx-supported" | Get-Printer-Supported-Values response, i.e., all the "xxx-supported" | |||
| attributes that can be supplied in a Set-Printer-Attributes request. | attributes that can be supplied in a Set-Printer-Attributes request. | |||
| READ-ONLY attributes MUST NOT be returned in a Get-Printer-Supported- | READ-ONLY attributes MUST NOT be returned in a Get-Printer-Supported- | |||
| Values response and are indicated in the tables as "READ-ONLY - MUST | Values response and are indicated in the tables as "READ-ONLY - MUST | |||
| NOT be returned." | NOT be returned." | |||
| For the following attributes, the value allowed by the Set-Printer- | For the following attributes, the value allowed by the Set-Printer- | |||
| Attributes operation MUST be a single integer value in the range | Attributes operation MUST be a single integer value in the range | |||
| specified by the value returned by the Get-Printer-Supported-Values | specified by the value returned by the Get-Printer-Supported-Values | |||
| operation. | operation. | |||
| Table 10 - Printer Job Template Attributes returned from Get-Printer- | Table 11 - Printer Job Template Attributes returned from Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Job Template Attributes Values Returned | Printer Job Template Attributes Values Returned | |||
| job-priority-supported (integer(1:100)) rangeOfInteger(1:100) | job-priority-supported (integer(1:100)) rangeOfInteger(1:100) | |||
| For the following attributes, the value allowed by the Set-Printer- | For the following attributes, the value allowed by the Set-Printer- | |||
| Attributes operation MUST be a single rangeOfInteger value whose | Attributes operation MUST be a single rangeOfInteger value whose | |||
| bounds do not exceed those of the range specified by the value | bounds do not exceed those of the range specified by the value | |||
| returned by the Get-Printer-Supported-Values operation. | returned by the Get-Printer-Supported-Values operation. | |||
| Table 11 - Printer Job Template Attributes returned from Get-Printer- | Table 12 - Printer Job Template Attributes returned from Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Job Template Attributes Values Returned | Printer Job Template Attributes Values Returned | |||
| copies-supported (rangeOfInteger(1:MAX)) rangeOfInteger(1:MAX) | copies-supported (rangeOfInteger(1:MAX)) rangeOfInteger(1:MAX) | |||
| The following table has the same criteria as the last, but is for | The following table has the same criteria as the last, but is for | |||
| Printer Description attributes. | Printer Description attributes. | |||
| Table 12 - Printer Description Attributes returned from Get-Printer- | Table 13 - Printer Description Attributes returned from Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Description Attributes Values allowed for Set | Printer Description Attributes Values allowed for Set | |||
| job-k-octets-supported rangeOfInteger(0:MAX) | job-k-octets-supported rangeOfInteger(0:MAX) | |||
| (rangeOfInteger(0:MAX)) | (rangeOfInteger(0:MAX)) | |||
| job-impressions-supported rangeOfInteger(0:MAX) | job-impressions-supported rangeOfInteger(0:MAX) | |||
| (rangeOfInteger(0:MAX)) | (rangeOfInteger(0:MAX)) | |||
| job-media-sheets-supported rangeOfInteger(0:MAX) | job-media-sheets-supported rangeOfInteger(0:MAX) | |||
| (rangeOfInteger(0:MAX)) | (rangeOfInteger(0:MAX)) | |||
| For the following attributes, the value allowed by the Set-Printer- | For the following attributes, the value allowed by the Set-Printer- | |||
| Attributes operation MUST be one or more integers and rangeOfInteger | Attributes operation MUST be one or more integers and rangeOfInteger | |||
| values, such that the integer values described by these integers and | values, such that the integer values described by these integers and | |||
| rangeOfInteger is the same as or a subset of the integers described | rangeOfInteger is the same as or a subset of the integers described | |||
| by the integers and rangeOf Integer of value returned by the Get- | by the integers and rangeOf Integer of value returned by the Get- | |||
| Printer-Supported-Values operation. | Printer-Supported-Values operation. | |||
| Table 13 - Printer Job Template Attributes returned from Get-Printer- | Table 14 - Printer Job Template Attributes returned from Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Job Template Attributes Values Returned | Printer Job Template Attributes Values Returned | |||
| number-up-supported (1setOf (integer(1:MAX) 1setOf | number-up-supported (1setOf (integer(1:MAX) 1setOf | |||
| | rangeOfInteger(1:MAX))) (integer(1:MAX) | | | rangeOfInteger(1:MAX))) (integer(1:MAX) | | |||
| rangeOfInteger(1:MA | rangeOfInteger(1:MA | |||
| X)) | X)) | |||
| For the following attributes, the value allowed by the Set-Printer- | For the following attributes, the value allowed by the Set-Printer- | |||
| Attributes operation MUST be one or more values, where each such | Attributes operation MUST be one or more values, where each such | |||
| value matches a value returned by the Get-Printer-Supported-Values | value matches a value returned by the Get-Printer-Supported-Values | |||
| operation. A keyword, enum, boolean, charset, naturalLanguage, | operation. A keyword, enum, boolean, charset, naturalLanguage, | |||
| uriScheme, mimeMediaType or resolution value matches if it is equal. | uriScheme, mimeMediaType or resolution value matches if it is equal. | |||
| For Job Template attributes with the attribute syntax 'type3 keyword | For Job Template attributes with the attribute syntax 'type3 keyword | |||
| | name', any 'name' attribute syntax value matches the 'admin-define' | | name', any 'name' attribute syntax value matches the 'admin-define' | |||
| out-of-band value, if the implementation allows the administrator to | out-of-band value, if the implementation allows the administrator to | |||
| set any name values for the attribute. | set any name values for the attribute. | |||
| Table 14 - Printer Job Template Attributes returned from Get-Printer- | Table 15 - Printer Job Template Attributes returned from Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Job Template Attributes Values Returned | Printer Job Template Attributes Values Returned | |||
| job-hold-until-supported (1setOf(type3 1setOf (type3 | job-hold-until-supported (1setOf(type3 1setOf (type3 | |||
| keyword | name (MAX))) keyword | 'admin- | keyword | name (MAX))) keyword | 'admin- | |||
| define') | define') | |||
| job-sheets-supported (1setOf(type3 keyword 1setOf (type3 | job-sheets-supported (1setOf(type3 keyword 1setOf (type3 | |||
| | name(MAX))) keyword | 'admin- | | name(MAX))) keyword | 'admin- | |||
| define') | define') | |||
| multiple-document-handling-supported 1setOf type2 | multiple-document-handling-supported | |||
| (1setOf type2 keyword) keyword | (1setOf type2 keyword) keywordtype2 | |||
| finishings-supported (1setOf type2 enum) 1setOf type2 enum | finishings-supported (1setOf type2 enum) 1setOf type2 enum | |||
| page-ranges-supported (boolean) 1setOf boolean ** | page-ranges-supported (boolean) 1setOf boolean ** | |||
| sides-supported (1setOf type2 keyword) 1setOf type2 | sides-supported (1setOf type2 keyword) 1setOf type2 | |||
| keyword | keyword | |||
| orientation-requested-supported (1setOf 1setOf type2 enum | orientation-requested-supported (1setOf 1setOf type2 enum | |||
| type2 enum) | type2 enum) | |||
| skipping to change at page 64, line 5 ¶ | skipping to change at page 60, line 5 ¶ | |||
| print-quality-supported (1setOf type2 enum) 1setOf type2 enum | print-quality-supported (1setOf type2 enum) 1setOf type2 enum | |||
| ** Note: the Get-Printer-Supported-Values returns a '1setOf boolean' | ** Note: the Get-Printer-Supported-Values returns a '1setOf boolean' | |||
| so that all possible values are indicated, while Get-Printer- | so that all possible values are indicated, while Get-Printer- | |||
| Attributes returns only a single 'boolean' value. | Attributes returns only a single 'boolean' value. | |||
| The following table has the same criteria as the last, but is for | The following table has the same criteria as the last, but is for | |||
| Printer Description attributes. | Printer Description attributes. | |||
| Table 15 - Printer Description Attributes returned from Get-Printer- | Table 16 - Printer Description Attributes returned from Get-Printer- | |||
| Supported-Values | Supported-Values | |||
| Printer Description Attributes Values allowed for | Printer Description Attributes Values allowed for | |||
| Set | Set | |||
| printer-uri-supported (1setOf uri) READ-ONLY - MUST | printer-uri-supported (1setOf uri) READ-ONLY - MUST | |||
| NOT be returned | NOT be returned | |||
| uri-authentication-supported (1setOf type2 READ-ONLY - MUST | uri-authentication-supported (1setOf type2 READ-ONLY - MUST | |||
| keyword) NOT be returned | keyword) NOT be returned | |||
| skipping to change at page 65, line 28 ¶ | skipping to change at page 61, line 28 ¶ | |||
| printer-settable-attributes-supported 1setOf type2 | printer-settable-attributes-supported 1setOf type2 | |||
| (1setOf type2 keyword) keyword | (1setOf type2 keyword) keyword | |||
| job-settable-attributes-supported (1setOf 1setOf type2 | job-settable-attributes-supported (1setOf 1setOf type2 | |||
| type2 keyword) keyword | type2 keyword) keyword | |||
| ** Note: the Get-Printer-Supported-Values returns a '1setOf X' so | ** Note: the Get-Printer-Supported-Values returns a '1setOf X' so | |||
| that all possible values are indicated, while Get-Printer-Attributes | that all possible values are indicated, while Get-Printer-Attributes | |||
| returns only a single 'X' value. | returns only a single 'X' value. | |||
| 17 Appendix C: Full Copyright Statement | 18 Appendix C: Description of the Base IPP Documents | |||
| The base set of IPP documents includes: | ||||
| Design Goals for an Internet Printing Protocol [RFC2567] | ||||
| Rationale for the Structure and Model and Protocol for the Internet | ||||
| Printing Protocol [RFC2568] | ||||
| Internet Printing Protocol/1.1: Model and Semantics [RFC2911] | ||||
| Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] | ||||
| Internet Printing Protocol/1.1: Implementer's Guide [IPP-IIG] | ||||
| Mapping between LPD and IPP Protocols [RFC2569] | ||||
| The "Design Goals for an Internet Printing Protocol" document takes a | ||||
| broad look at distributed printing functionality, and it enumerates | ||||
| real-life scenarios that help to clarify the features that need to be | ||||
| included in a printing protocol for the Internet. It identifies | ||||
| requirements for three types of users: end users, operators, and | ||||
| administrators. It calls out a subset of end user requirements that | ||||
| are satisfied in IPP/1.0 [RFC2566, RFC2565]. A few OPTIONAL operator | ||||
| operations have been added to IPP/1.1 [RFC2911, RFC2910]. | ||||
| The "Rationale for the Structure and Model and Protocol for the | ||||
| Internet Printing Protocol" document describes IPP from a high level | ||||
| view, defines a roadmap for the various documents that form the suite | ||||
| of IPP specification documents, and gives background and rationale | ||||
| for the IETF IPP working group's major decisions. | ||||
| The "Internet Printing Protocol/1.1: Model and Semantics" document | ||||
| describes a simplified model with abstract objects, their attributes, | ||||
| and their operations. The model introduces a Printer and a Job. The | ||||
| Job supports multiple documents per Job. The model document also | ||||
| addresses how security, internationalization, and directory issues | ||||
| are addressed. | ||||
| The "Internet Printing Protocol/1.1: Encoding and Transport" document | ||||
| is a formal mapping of the abstract operations and attributes defined | ||||
| in the model document onto HTTP/1.1 [RFC2616]. It also defines the | ||||
| encoding rules for a new Internet MIME media type called | ||||
| "application/ipp". This document also defines the rules for | ||||
| transporting over HTTP a message body whose Content-Type is | ||||
| "application/ipp". This document defines the 'ipp' scheme for | ||||
| identifying IPP printers and jobs. | ||||
| The "Internet Printing Protocol/1.1: Implementer's Guide" document | ||||
| gives insight and advice to implementers of IPP clients and IPP | ||||
| 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 | ||||
| and/or IPP object implementations. For example, a typical order of | ||||
| processing requests is given, including error checking. Motivation | ||||
| for some of the specification decisions is also included. | ||||
| The "Mapping between LPD and IPP Protocols" document gives some | ||||
| advice to implementers of gateways between IPP and LPD (Line Printer | ||||
| Daemon) implementations. | ||||
| 19 Appendix D: Full Copyright Statement | ||||
| Copyright (C) The Internet Society (1998,1999,2000,2001). All Rights | Copyright (C) The Internet Society (1998,1999,2000,2001). All Rights | |||
| Reserved | 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 | |||
| skipping to change at line 2527 ¶ | skipping to change at page 63, line 21 ¶ | |||
| The limited permissions granted above are perpetual and will not be | The limited permissions granted above are perpetual and will not be | |||
| revoked by the Internet Society or its successors or assigns. | revoked by the Internet Society or its successors or assigns. | |||
| This document and the information contained herein is provided on an | This document and the information contained herein is provided on an | |||
| "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | |||
| TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | |||
| BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | |||
| HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | |||
| MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | |||
| Acknowledgement | ||||
| Funding for the RFC Editor function is currently provided by the | ||||
| Internet Society. | ||||
| End of changes. 154 change blocks. | ||||
| 387 lines changed or deleted | 460 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||