draft-ietf-ipp-not-spec-10.txt   draft-ietf-ipp-not-spec-11.txt 
Internet Printing Protocol WG R. Herriot Internet Printing Protocol WG R. Herriot
INTERNET-DRAFT consultant INTERNET-DRAFT consultant
<draft-ietf-ipp-not-spec-10.txt> T. Hastings <draft-ietf-ipp-not-spec-11.txt> T. Hastings
Updates RFC 2910 and 2911 Xerox Corporation Updates RFC 2910 and 2911 Xerox Corporation
[Target Category: standards track] October 10, 2002 [Target Category: standards track] February 21, 2003
Expires: April 10, 2003 Expires: August 21, 2003
Internet Printing Protocol (IPP): Internet Printing Protocol (IPP):
Event Notifications and Subscriptions Event Notifications and Subscriptions
Copyright (C) The Internet Society (2002). All Rights Reserved. Copyright (C) The Internet Society (2003). 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 RFC 2026. Internet-Drafts are all provisions of Section 10 of RFC 2026. 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.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
skipping to change at page 5, line 25 skipping to change at page 5, line 25
24.1 Attribute Registrations......................................88 24.1 Attribute Registrations......................................88
24.2 Additional Enum Attribute Value Registrations................89 24.2 Additional Enum Attribute Value Registrations................89
24.3 Operation Registrations......................................89 24.3 Operation Registrations......................................89
24.4 Status code Registrations....................................90 24.4 Status code Registrations....................................90
24.5 Attribute Group tag Registrations............................90 24.5 Attribute Group tag Registrations............................90
24.6 Registration of Events.......................................90 24.6 Registration of Events.......................................90
24.7 Registration of Event Notification Delivery Methods..........91 24.7 Registration of Event Notification Delivery Methods..........91
24.7.1 Requirements for Registration of Event Notification Delivery 24.7.1 Requirements for Registration of Event Notification Delivery
Methods................................................91 Methods................................................91
24.7.1.1 Required Characteristics.................................91 24.7.1.1 Required Characteristics.................................91
24.7.1.2 Naming Requirements......................................91 24.7.1.2 Naming Requirements......................................92
24.7.1.3 Functionality Requirements...............................92 24.7.1.3 Functionality Requirements...............................92
24.7.1.4 Usage and Implementation Requirements....................92 24.7.1.4 Usage and Implementation Requirements....................92
24.7.1.5 Publication Requirements.................................92 24.7.1.5 Publication Requirements.................................93
24.7.2 Registration Procedure.....................................92 24.7.2 Registration Procedure.....................................93
24.7.2.1 Present the proposal to the Community....................92 24.7.2.1 Present the proposal to the Community....................93
24.7.2.2 Delivery Method Reviewer.................................93 24.7.2.2 Delivery Method Reviewer.................................93
24.7.2.3 IANA Registration........................................93 24.7.2.3 IANA Registration........................................94
24.7.3 Delivery Method Document Registrations.....................93 24.7.3 Delivery Method Document Registrations.....................94
24.7.4 Registration Template......................................94 24.7.4 Registration Template......................................95
25 Internationalization Considerations............................94 25 Intellectural Property.........................................95
26 Security Considerations........................................95 26 Internationalization Considerations............................96
26.1 Client access rights.........................................95
26.2 Printer security threats.....................................97
26.3 Notification Recipient security threats......................97
27 Contributors...................................................97 27 Security Considerations........................................96
27.1 Client access rights.........................................96
27.2 Printer security threats.....................................98
27.3 Notification Recipient security threats......................98
28 Author's Addresses.............................................98 28 Contributors...................................................99
29 Appendix G - Description of the base IPP documents (Informative)99 29 Author's Addresses............................................100
30 Appendix H - Full Copyright Statement (Informative)...........100 30 Appendix G - Description of the base IPP documents (Informative)
101
31 Appendix H - Full Copyright Statement (Informative)...........102
Tables Tables
Table 1 - Subscription Template Attributes........................22 Table 1 - Subscription Template Attributes........................22
Table 2 - Subscription Description Attributes.....................37 Table 2 - Subscription Description Attributes.....................37
Table 3 - Printer Description Attributes Associated with Notification Table 3 - Printer Description Attributes Associated with Notification
..............................................................41 ..............................................................41
Table 4 - Operation-id assignments................................42 Table 4 - Operation-id assignments................................42
Table 5 - Attributes in Event Notification Content................48 Table 5 - Attributes in Event Notification Content................48
Table 6 - Additional Event Notification Content for Job Events....49 Table 6 - Additional Event Notification Content for Job Events....49
Table 7 - Combinations of Events and Subscribed Events for "job- Table 7 - Combinations of Events and Subscribed Events for "job-
skipping to change at page 7, line 9 skipping to change at page 7, line 9
Figure 3 - Opaque Use of a Notification Server Transparent to the Figure 3 - Opaque Use of a Notification Server Transparent to the
Client ........................................................81 Client ........................................................81
Figure 4 - Use of an Extended Notification Recipient transparent to Figure 4 - Use of an Extended Notification Recipient transparent to
the Printer ...................................................82 the Printer ...................................................82
Figure 5 - Object Model for Notification..........................84 Figure 5 - Object Model for Notification..........................84
1 Introduction 1 Introduction
This IPP notification specification is an OPTIONAL extension to This IPP notification specification is an OPTIONAL extension to
Internet Printing Protocol/1.1: Model and Semantics [RFC2911, Internet Printing Protocol/1.1: Model and Semantics [RFC2911,
RFC2910]. See Appendix 29 for a description of the base IPP RFC2910]. See Appendix 30 for a description of the base IPP
documents. This document in combination with the following documents documents. This document in combination with the following documents
is intended to meet the most important notification requirements is intended to meet the most important notification requirements
described in [ipp-not-req]: described in [ipp-not-req]:
Internet Printing Protocol (IPP): "Job Progress Attributes" Internet Printing Protocol (IPP): "Job Progress Attributes"
[RFC3381] [RFC3381]
Internet Printing Protocol (IPP): "The 'ippget' Delivery Method Internet Printing Protocol (IPP): "The 'ippget' Delivery Method
for Event Notifications" [ipp-get-method] for Event Notifications" [ipp-get-method]
This specification REQUIRES that clients and Printers support the This specification REQUIRES that clients and Printers support the
skipping to change at page 22, line 16 skipping to change at page 22, line 16
Attribute in Subscription Default and Supported Printer Attribute in Subscription Default and Supported Printer
Object Attributes Object Attributes
notify-recipient-uri (uri) * notify-schemes-supported (1setOf notify-recipient-uri (uri) * notify-schemes-supported (1setOf
uriScheme) uriScheme)
notify-pull-method (type2 notify-pull-method-supported (1setOf notify-pull-method (type2 notify-pull-method-supported (1setOf
keyword) ** type2 keyword) keyword) ** type2 keyword)
notify-events (1setOf type2 notify-events-default (1setOf type2 notify-events (1setOf type2 -events-default (1setOf type2
keyword) keyword) keyword) keyword)
notify-events-supported (1setOf type2 notify-events-supported (1setOf type2
keyword) keyword)
notify-max-events-supported notify-max-events-supported
(integer(2:MAX)) (integer(2:MAX))
notify-attributes (1setOf notify-attributes-supported (1setOf notify-attributes (1setOf notify-attributes-supported (1setOf
type2 keyword) type2 keyword) type2 keyword) type2 keyword)
notify-user-data notify-user-data
skipping to change at page 49, line 18 skipping to change at page 49, line 18
Printer or it MAY say that Printer MUST support the "notify- Printer or it MAY say that Printer MUST support the "notify-
attributes" attribute if the Printer supports the Delivery Method. attributes" attribute if the Printer supports the Delivery Method.
9.1.2 Additional Event Notification Content for Job Events 9.1.2 Additional Event Notification Content for Job Events
This section lists the additional attributes that a Delivery Method This section lists the additional attributes that a Delivery Method
Document MUST specify for Job Events. See Table 6. Document MUST specify for Job Events. See Table 6.
Table 6 - Additional Event Notification Content for Job Events Table 6 - Additional Event Notification Content for Job Events
Source Value Delive Source Object Source Value Delivers Source
rs Object
job-id (integer(1:MAX)) MUST Job job-id (integer(1:MAX)) MUST Job
job-state (type1 enum) MUST Job job-state (type1 enum) MUST Job
job-state-reasons (1setOf type2 keyword) MUST Job job-state-reasons (1setOf type2 keyword) MUST Job
job-impressions-completed (integer(0:MAX)) * MUST Job job-impressions-completed (integer(0:MAX)) * MUST Job
* The Printer MUST deliver the "job-impressions-completed" attribute * The Printer MUST deliver the "job-impressions-completed" attribute
skipping to change at page 86, line 23 skipping to change at page 86, line 23
job" (the Job created by the Job Creation operation or job" (the Job created by the Job Creation operation or
references by the Create-Job-Subscriptions operation) while Job references by the Create-Job-Subscriptions operation) while Job
Events in a Per-Printer Subscription Object apply to ALL jobs Events in a Per-Printer Subscription Object apply to ALL jobs
contained in the IPP Printer. contained in the IPP Printer.
22 Normative References 22 Normative References
[ipp-get-method] [ipp-get-method]
Herriot, R., and T. Hastings, "Internet Printing Protocol (IPP): Herriot, R., and T. Hastings, "Internet Printing Protocol (IPP):
The 'ippget' Delivery Method for Event Notifications", <draft-ietf- The 'ippget' Delivery Method for Event Notifications", <draft-ietf-
ipp-notify-get-08.txt>, September 10, 2002. ipp-notify-get-09.txt>, February 21, 2003.
[RFC2119] [RFC2119]
S. Bradner, "Key words for use in RFCs to Indicate Requirement S. Bradner, "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119 , March 1997 Levels", RFC 2119 , March 1997
[RFC2396] [RFC2396]
Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource
Identifiers (URI): Generic Syntax", RFC 2396, August 1998. Identifiers (URI): Generic Syntax", RFC 2396, August 1998.
[RFC2717] [RFC2717]
skipping to change at page 87, line 51 skipping to change at page 87, line 51
HTTP/1.1", RFC 2616, June 1999. HTTP/1.1", RFC 2616, June 1999.
[RFC3196] [RFC3196]
Hastings, T., Manros, C., Zehler, P., Kugler, C., and H. Holst, Hastings, T., Manros, C., Zehler, P., Kugler, C., and H. Holst,
"Internet Printing Protocol/1.1: Implementer's Guide", RFC3196, "Internet Printing Protocol/1.1: Implementer's Guide", RFC3196,
November 2001. November 2001.
24 IANA Considerations 24 IANA Considerations
This section contains the registration information for IANA to add to This section contains the registration information for IANA to add to
the various IPP Registries according to the procedures defined in RFC the IPP Registry according to the procedures defined in RFC 2911
2911 [RFC2911] section 6 to cover the definitions in this document. [RFC2911] section 6 to cover the definitions in this document. In
addition, this section defines how Events and Delivery Methods will
In addition, this section defines how Events and Delivery Methods be registered when they are defined in other documents. The
will be registered when they are defined in other documents. The
resulting registrations will be published in the resulting registrations will be published in the
http://www.iana.org/assignments/ipp-registrations registry. http://www.iana.org/assignments/ipp-registrations registry.
Note to RFC Editors: Replace RFC NNNN below with the RFC number Note to RFC Editors: Replace RFC NNNN below (but not RFC xxxx)
for this document, so that it accurately reflects the content of with the RFC number for this document, so that it accurately
the information for the IANA Registry. reflects the content of the information for the IANA Registry.
24.1 Attribute Registrations 24.1 Attribute Registrations
The following table lists all the attributes defined in this The following table lists all the attributes defined in this
document. These are to be registered according to the procedures in document. These are to be registered according to the procedures in
RFC 2911 [RFC2911] section 6.2. RFC 2911 [RFC2911] section 6.2.
Subscription Template attributes: Ref. Section: Subscription Template attributes: Reference Section
notify-attributes (1setOf type2 keyword) RFC NNNN 5.3.4 --------------------------------- --------- -------
notify-attributes (1setOf type2 keyword) [RFCNNNN] 5.3.4
notify-attributes-supported (1setOf type2 keyword) notify-attributes-supported (1setOf type2 keyword)
RFC NNNN 5.3.4.1 [RFCNNNN] 5.3.4.1
notify-charset (charset) RFC NNNN 5.3.6 notify-charset (charset) [RFCNNNN] 5.3.6
notify-events (1setOf type2 keyword) RFC NNNN 5.3.3 notify-events (1setOf type2 keyword) [RFCNNNN] 5.3.3
notify-events-default (1setOf type2 keyword) RFC NNNN 5.3.3.1 notify-events-default (1setOf type2 keyword) [RFCNNNN] 5.3.3.1
notify-events-supported (1setOf type2 keyword) RFC NNNN 5.3.3.2 notify-events-supported (1setOf type2 keyword) [RFCNNNN] 5.3.3.2
notify-lease-duration (integer(0:67108863)) RFC NNNN 5.3.8 notify-lease-duration (integer(0:67108863)) [RFCNNNN] 5.3.8
notify-lease-duration-default (integer(0:67108863)) notify-lease-duration-default (integer(0:67108863))
RFC NNNN 5.3.8.1 [RFCNNNN] 5.3.8.1
notify-lease-duration-supported (1setOf (integer(0: 67108863) | notify-lease-duration-supported (1setOf (integer(0: 67108863) |
rangeOfInteger(0:67108863))) RFC NNNN 5.3.8.2 rangeOfInteger(0:67108863))) [RFCNNNN] 5.3.8.2
notify-max-events-supported (integer(2:MAX)) RFC NNNN 5.3.3.3 notify-max-events-supported (integer(2:MAX)) [RFCNNNN] 5.3.3.3
notify-natural-language (naturalLanguage) RFC NNNN 5.3.7 notify-natural-language (naturalLanguage) [RFCNNNN] 5.3.7
notify-pull-method (type2 keyword) RFC NNNN 5.3.2 notify-pull-method (type2 keyword) [RFCNNNN] 5.3.2
notify-pull-method-supported (1setOf type2 keyword) notify-pull-method-supported (1setOf type2 keyword)
RFC NNNN 5.3.2.1 [RFCNNNN] 5.3.2.1
notify-recipient-uri (uri) RFC NNNN 5.3.1 notify-recipient-uri (uri) [RFCNNNN] 5.3.1
notify-schemes-supported (1setOf uriScheme) RFC NNNN 5.3.1.1 notify-schemes-supported (1setOf uriScheme) [RFCNNNN] 5.3.1.1
notify-time-interval (integer(0:MAX)) RFC NNNN 5.3.9 notify-time-interval (integer(0:MAX)) [RFCNNNN] 5.3.9
notify-user-data (octetString(63)) RFC NNNN 5.3.5 notify-user-data (octetString(63)) [RFCNNNN] 5.3.5
Subscription Description Attributes: Subscription Description Attributes:
notify-job-id (integer(1:MAX))) RFC NNNN 5.4.6 notify-job-id (integer(1:MAX))) [RFCNNNN] 5.4.6
notify-lease-expiration-time (integer(0:MAX))) RFC NNNN 5.4.3 notify-lease-expiration-time (integer(0:MAX))) [RFCNNNN] 5.4.3
notify-printer-up-time (integer(1:MAX))) RFC NNNN 5.4.4 notify-printer-up-time (integer(1:MAX))) [RFCNNNN] 5.4.4
notify-printer-uri (uri)) RFC NNNN 5.4.5 notify-printer-uri (uri)) [RFCNNNN] 5.4.5
notify-sequence-number (integer (0:MAX))) RFC NNNN 5.4.2 notify-sequence-number (integer (0:MAX))) [RFCNNNN] 5.4.2
notify-subscriber-user-name (name(MAX))) RFC NNNN 5.4.7 notify-subscriber-user-name (name(MAX))) [RFCNNNN] 5.4.7
notify-subscription-id (integer (1:MAX))) RFC NNNN 5.4.1 notify-subscription-id (integer (1:MAX))) [RFCNNNN] 5.4.1
Printer Description Attributes: Printer Description Attributes:
printer-state-change-date-time (dateTime)) [RFCNNNN] 6.2
printer-state-change-date-time (dateTime)) RFC NNNN 6.2 printer-state-change-time (integer(1:MAX))) [RFCNNNN] 6.1
printer-state-change-time (integer(1:MAX))) RFC NNNN 6.1
Attributes Only in Event Notifications Attributes Only in Event Notifications
notify-subscribed-event (type2 keyword) RFC NNNN 8.1 notify-subscribed-event (type2 keyword) [RFCNNNN] 8.1
notify-text (text(MAX)) RFC NNNN 8.2 notify-text (text(MAX)) [RFCNNNN] 8.2
24.2 Additional Enum Attribute Value Registrations 24.2 Additional Enum Attribute Value Registrations
The following table lists all the new enum attribute values defined The following table lists all the new enum attribute values defined
in this document. These are to be registered according to the in this document. These are to be registered according to the
procedures in RFC 2911 [RFC2911] section 6.1. procedures in RFC 2911 [RFC2911] section 6.1.
Attribute Attribute
Value Name Reference Section Value Name Reference Section
------ ----------------------------- --------- ------- ------ ----------------------------- --------- -------
operations-supported (type2 enum) RFC2911 4.4.15 operations-supported (type2 enum) [RFC2911] 4.4.15
0x0016 Create-Printer-Subscriptions RFC NNNN 7.1 0x0016 Create-Printer-Subscriptions [RFCNNNN] 7.1
0x0017 Create-Job-Subscriptions RFC NNNN 7.1 0x0017 Create-Job-Subscriptions [RFCNNNN] 7.1
0x0018 Get-Subscription-Attributes RFC NNNN 7.1 0x0018 Get-Subscription-Attributes [RFCNNNN] 7.1
0x0019 Get-Subscriptions RFC NNNN 7.1 0x0019 Get-Subscriptions [RFCNNNN] 7.1
0x001A Renew-Subscription RFC NNNN 7.1 0x001A Renew-Subscription [RFCNNNN] 7.1
0x001B Cancel-Subscription RFC NNNN 7.1 0x001B Cancel-Subscription [RFCNNNN] 7.1
24.3 Operation Registrations 24.3 Operation Registrations
The following table lists all of the operations defined in this The following table lists all of the operations defined in this
document. These are to be registered according to the procedures in document. These are to be registered according to the procedures in
RFC 2911 [RFC2911] section 6.4. RFC 2911 [RFC2911] section 6.4.
Operations: Ref. Section: Operation Name Reference Section
Cancel-Subscription Operation RFC NNNN 11.2.7 --------------------------------- --------- -------
Create-Job-Subscriptions Operation RFC NNNN 11.1.1 Cancel-Subscription [RFCNNNN] 11.2.7
Create-Printer-Subscriptions Operation RFC NNNN 11.1.2 Create-Job - Extensions [RFCNNNN] 11.1.3
Get-Printer-Attributes - Extensions RFC NNNN 11.2.3 Create-Job-Subscriptions [RFCNNNN] 11.1.1
Get-Subscription-Attributes Operation RFC NNNN 11.2.4 Create-Printer-Subscriptions [RFCNNNN] 11.1.2
Get-Subscriptions Operation RFC NNNN 11.2.5 Get-Printer-Attributes - Extensions [RFCNNNN] 11.2.3
Job Creation Operations - Extensions RFC NNNN 11.1.3 Get-Subscription-Attributes [RFCNNNN] 11.2.4
Renew-Subscription Operation RFC NNNN 11.2.6 Get-Subscriptions [RFCNNNN] 11.2.5
Validate-Job Operation - Extensions RFC NNNN 11.2.2 Print-Job - Extensions [RFCNNNN] 11.1.3
Print-URI - Extensions [RFCNNNN] 11.1.3
Renew-Subscription [RFCNNNN] 11.2.6
Validate-Job Operation - Extensions [RFCNNNN] 11.2.2
24.4 Status code Registrations 24.4 Status code Registrations
The following table lists all the status codes defined in this The following table lists all the status codes defined in this
document. These are to be registered according to the procedures in document. These are to be registered according to the procedures in
RFC 2911 [RFC2911] section 6.6. RFC 2911 [RFC2911] section 6.6.
Value Name Ref. Section: Value Status Code Name Reference Section
----- ------------------------------------ -------- ------- ----- ---------------------------- --------- -------
0x0000:0x00FF - "successful" 0x0000:0x00FF - Successful:
0x0003 successful-ok-ignored-subscriptions RFC NNNN 12.1 0x0003 successful-ok-ignored-subscriptions [RFCNNNN] 12.1
0x0400:0x04FF - "client-error" 0x0400:0x04FF - Client Error:
0x0414 client-error-ignored-all-subscriptions RFC NNNN 12.2 0x0414 client-error-ignored-all-subscriptions [RFCNNNN] 12.2
24.5 Attribute Group tag Registrations 24.5 Attribute Group tag Registrations
The following table lists all the attribute group tags defined in The following table lists all the attribute group tags defined in
this document. These are to be registered according to the this document. These are to be registered according to the
procedures in RFC 2911 [RFC2911] section 6.5. procedures in RFC 2911 [RFC2911] section 6.5.
Value Name Ref. Section Value Attribute Group Tag Name Reference Section
----- ------------------------------------ -------- ------- ----- -------------------------------- -------- -------
0x06 subscription-attributes-tag RFC NNNN 14 0x06 subscription-attributes-tag [RFCNNNN] 14
0x07 event-notification-attributes-tag RFC NNNN 14 0x07 event-notification-attributes-tag [RFCNNNN] 14
24.6 Registration of Events 24.6 Registration of Events
When other document define additional type2 keywords to be used with The following table lists all the Events defined in this document as
the "notify-events" Subscription Template attribute (see section type2 keywords to be used with the "notify-events", "notify-events-
5.3.3)), these event keywords will be registered according to the default", and "notify-events-supported" Subscription Template
procedures of [RFC2911] section 7.1 as additional attribute values attributes (see section 5.3.3)). Rather than creating a separate
for use with the "notify-events" Subscription Template attribute, section in the IPP Registry for Events, these event keywords will be
i.e., the "notify-events", "notify-events-default", and "notify- registered according to the procedures of [RFC2911] section 7.1 as
events-supported" attributes. additional keyword attribute values for use with the "notify-events"
Subscription Template attribute (see section 5.3.3), i.e., registered
Therefore, the IPP Registry entry for an Event will be of the form: as keyword values for the "notify-events", "notify-events-default",
and "notify-events-supported" attributes:
Attribute Attribute (attribute syntax)
Value Ref. Section Value Reference Section
--------------------- -------- ------- --------------------- --------- -------
notify-events (1setOf type2 keyword) notify-events (1setOf type2 keyword) [RFCNNNN] 5.3.3
notify-events-default (1setOf type2 keyword) notify-events-default (1setOf type2 keyword) [RFCNNNN] 5.3.3.1
notify-events-supported (1setOf type2 keyword) notify-events-supported (1setOf type2 keyword) [RFCNNNN] 5.3.3.2
<event keyword name> RFC xxxx m.n notify-subscribed-event (type2 keyword) [RFCNNNN] 8.1
No Events:
none [RFCNNNN] 5.3.3.4.1
Printer Events:
printer-state-changed [RFCNNNN] 5.3.3.4.2
printer-restarted [RFCNNNN] 5.3.3.4.2
printer-shutdown [RFCNNNN] 5.3.3.4.2
printer-stopped [RFCNNNN] 5.3.3.4.2
printer-config-changed [RFCNNNN] 5.3.3.4.2
printer-media-changed [RFCNNNN] 5.3.3.4.2
printer-finishings-changed [RFCNNNN] 5.3.3.4.2
printer-queue-order-changed [RFCNNNN] 5.3.3.4.2
Job Events:
job-state-changed [RFCNNNN] 5.3.3.4.3
job-created [RFCNNNN] 5.3.3.4.3
job-completed [RFCNNNN] 5.3.3.4.3
job-stopped [RFCNNNN] 5.3.3.4.3
job-config-changed [RFCNNNN] 5.3.3.4.3
job-progress [RFCNNNN] 5.3.3.4.3
24.7 Registration of Event Notification Delivery Methods 24.7 Registration of Event Notification Delivery Methods
This section describes the requirements and procedures for This section describes the requirements and procedures for
registration and publication of Event Notification Delivery Methods registration and publication of Event Notification Delivery Methods
and for the submission of such proposals. and for the submission of such proposals.
24.7.1 Requirements for Registration of Event Notification Delivery 24.7.1 Requirements for Registration of Event Notification Delivery
Methods Methods
skipping to change at page 93, line 34 skipping to change at page 94, line 15
objections raised externally. objections raised externally.
Decisions made by the Reviewer must be posted to the ipp@pwg.org Decisions made by the Reviewer must be posted to the ipp@pwg.org
mailing list within 14 days. Decisions made by the Reviewer may be mailing list within 14 days. Decisions made by the Reviewer may be
appealed to the IESG. appealed to the IESG.
24.7.2.3 IANA Registration 24.7.2.3 IANA Registration
Provided that the Delivery Method registration proposal has either Provided that the Delivery Method registration proposal has either
passed review or has been successfully appealed to the IESG, the IANA passed review or has been successfully appealed to the IESG, the IANA
will register the Delivery Method and make it available to the will be notified by the delivery method reviewer and asked to
community. register the Delivery Method and make it available to the community.
24.7.3 Delivery Method Document Registrations 24.7.3 Delivery Method Document Registrations
Each Push Delivery Method Document defines a URI scheme which is Each Push Delivery Method Document defines a URI scheme. Such a URI
registered as an additional value of the "notify-schemes-supported" scheme is used in a URI value of the "notification-recipient" (uri)
Printer attribute. These uriScheme values will be registered Subscription Template attribute (see section 5.3.1) and the uriScheme
according to the procedures of [RFC2911] section 7.1 for additional value of the "notify-schemes-supported" (1setOf uriScheme 5.3.1.1)
attribute values. Therefore, the IPP Registry entry for a Push Printer attribute(see section ). Rather than creating a separate
Delivery Method will be of the form: section in the IPP Registry for Delivery Methods, Push Delivery
Methods will be registered as an additional value of the "notify-
schemes-supported" Printer attribute. These uriScheme values will be
registered according to the procedures of [RFC2911] section 7.1 for
additional attribute values. Therefore, the IPP Registry entry for a
Push Delivery Method will be of the form:
Attribute Attribute
Value Ref. Section Value Ref. Section
--------------------- -------- ------- --------------------- -------- -------
notify-schemes-supported (type2 keyword) RFC xxxx 5.3.1.1 notify-schemes-supported (1setOf uriScheme) RFC xxxx 5.3.1.1
<scheme name> RFC xxxx m.n <scheme name> RFC xxxx m.n
Each Pull Delivery Method Document defines a keyword method which is Each Pull Delivery Method Document defines a keyword method which is
registered as an additional value of the "notify-pull-method" and registered as an additional value of the "notify-pull-method" and
"notify-pull-method-supported" Printer attributes. These keyword "notify-pull-method-supported" Printer attributes. These keyword
values will be registered according to the procedures of [RFC2911] values will be registered according to the procedures of [RFC2911]
section 7.1 for additional attribute values. Therefore, the IPP section 7.1 for additional attribute values. Therefore, the IPP
Registry entry for a Pull Delivery Method will be of the form: Registry entry for a Pull Delivery Method will be of the form:
Attribute Attribute
Value Ref. Section Value Ref. Section
--------------------- -------- ------- --------------------- -------- -------
skipping to change at page 94, line 37 skipping to change at page 95, line 31
of a URL scheme in the IETF tree and all Pull Delivery Method names of a URL scheme in the IETF tree and all Pull Delivery Method names
must be suitable IPP keywords according to [RFC2911]) must be suitable IPP keywords according to [RFC2911])
Published specification(s): Published specification(s):
(A specification for the Delivery Method must be openly available (A specification for the Delivery Method must be openly available
that accurately describes what is being registered.) that accurately describes what is being registered.)
Person & email address to contact for further information: Person & email address to contact for further information:
25 Internationalization Considerations 25 Intellectural Property
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in RFC 2028. Copies of
claims of rights made available for publication and any assurances of
licenses to be made available, or the result of an attempt made to
obtain a general license or permission for the use of such
proprietary rights by implementers or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
26 Internationalization Considerations
This IPP Notification specification continues support for the This IPP Notification specification continues support for the
internationalization of [RFC2911] of attributes containing text internationalization of [RFC2911] of attributes containing text
strings and names. Allowing a Subscribing Client to specify a strings and names. Allowing a Subscribing Client to specify a
different natural language and charset for each Subscription Object different natural language and charset for each Subscription Object
increases the internationalization support. increases the internationalization support.
The Printer MUST be able to localize the content of Human Consumable The Printer MUST be able to localize the content of Human Consumable
Event Notifications and to localize the value of "notify-text" Event Notifications and to localize the value of "notify-text"
attribute in Machine Consumable Event Notifications that it delivers attribute in Machine Consumable Event Notifications that it delivers
to Notification Recipients. For localization, the Printer MUST use to Notification Recipients. For localization, the Printer MUST use
the value of the "notify-charset" attribute and the "notify-natural- the value of the "notify-charset" attribute and the "notify-natural-
language" attribute in the Subscription Object supplied by the language" attribute in the Subscription Object supplied by the
Subscribing Client. Subscribing Client.
26 Security Considerations 27 Security Considerations
Clients submitting Notification requests to the IPP Printer have the Clients submitting Notification requests to the IPP Printer have the
same security issues as submitting an IPP/1.1 print job request (see same security issues as submitting an IPP/1.1 print job request (see
[RFC2911] section 3.2.1 and section 8). The same mechanisms used by [RFC2911] section 3.2.1 and section 8). The same mechanisms used by
IPP/1.1 can therefore be used by the client Notification submission. IPP/1.1 can therefore be used by the client Notification submission.
Operations that require authentication can use the HTTP Operations that require authentication can use the HTTP
authentication. Operations that require privacy can use the HTTP/TLS authentication. Operations that require privacy can use the HTTP/TLS
privacy. As with IPP/1.1 Print Job Objects, if there is no security privacy. As with IPP/1.1 Print Job Objects, if there is no security
on Subscription Objects, sequential assignment of subscription-ids on Subscription Objects, sequential assignment of subscription-ids
exposes the system to a passive traffic monitoring threat. exposes the system to a passive traffic monitoring threat.
26.1 Client access rights 27.1 Client access rights
The Subscription Object access control model is the same as the The Subscription Object access control model is the same as the
access control model for Job objects. The client MUST have the access control model for Job objects. The client MUST have the
following access rights for the indicated Subscription operations: following access rights for the indicated Subscription operations:
1. Create-Job-Subscriptions (see section 11.1.1): A Per-Job 1. Create-Job-Subscriptions (see section 11.1.1): A Per-Job
Subscription object is associated with a Job. To create Per-Job Subscription object is associated with a Job. To create Per-Job
Subscription Objects, the authenticated user (see [RFC2911] Subscription Objects, the authenticated user (see [RFC2911]
section 8.3) performing this operation MUST (1) be the job section 8.3) performing this operation MUST (1) be the job
owner, (2) have Operator or Administrator access rights for this owner, (2) have Operator or Administrator access rights for this
skipping to change at page 97, line 17 skipping to change at page 98, line 29
or Administrator access rights for the Printer (see [RFC2911] or Administrator access rights for the Printer (see [RFC2911]
sections 1 and 8.5), or (3) be otherwise authorized by the sections 1 and 8.5), or (3) be otherwise authorized by the
Printer's administrator-configured security policy to cancel the Printer's administrator-configured security policy to cancel the
target Subscription Object. target Subscription Object.
The standard security concerns (delivery to the right user, privacy The standard security concerns (delivery to the right user, privacy
of content, tamper proof content) apply to each Delivery Method. of content, tamper proof content) apply to each Delivery Method.
Some Delivery Methods are more secure than others. Each Delivery Some Delivery Methods are more secure than others. Each Delivery
Method Document MUST discuss its Security Considerations. Method Document MUST discuss its Security Considerations.
26.2 Printer security threats 27.2 Printer security threats
Notification trap door: If a Printer supports the OPTIONAL "notify- Notification trap door: If a Printer supports the OPTIONAL "notify-
attributes" Subscription Template attribute (see section 5.3.4) where attributes" Subscription Template attribute (see section 5.3.4) where
the client can request that the Printer return any specified Job, the client can request that the Printer return any specified Job,
Printer, and Subscription object attributes, the Printer MUST apply Printer, and Subscription object attributes, the Printer MUST apply
the same security policy to these requested attributes in the Get- the same security policy to these requested attributes in the Get-
Notifications request as it does for the Get-Jobs, Get-Job- Notifications request as it does for the Get-Jobs, Get-Job-
Attributes, Get-Printer-Attributes, and Get-Subscription-Attributes Attributes, Get-Printer-Attributes, and Get-Subscription-Attributes
requests. requests.
26.3 Notification Recipient security threats 27.3 Notification Recipient security threats
Unwanted Events Notifications (spam): For any Push Delivery Method, Unwanted Events Notifications (spam): For any Push Delivery Method,
by far the biggest security concern is the abuse of notification: by far the biggest security concern is the abuse of notification:
delivering unwanted Event Notifications to third parties (i.e., delivering unwanted Event Notifications to third parties (i.e.,
spam). The problem is made worse by notification addresses that may spam). The problem is made worse by notification addresses that may
be redistributed to multiple parties. There exist scenarios where be redistributed to multiple parties. There exist scenarios where
third party notification is used (see Scenario #2 and #3 in [ipp-not- third party notification is used (see Scenario #2 and #3 in [ipp-not-
req]). Any fully secure solution would require active agreement of req]). Any fully secure solution would require active agreement of
all recipients before delivering anything. all recipients before delivering anything.
27 Contributors 28 Contributors
The following people made significant contributions to the design and The following people made significant contributions to the design and
review of this specification: review of this specification:
Scott A. Isaacson Scott A. Isaacson
Novell, Inc. Novell, Inc.
122 E 1700 S 122 E 1700 S
Provo, UT 84606 Provo, UT 84606
Phone: 801-861-7366 Phone: 801-861-7366
skipping to change at page 98, line 30 skipping to change at page 100, line 4
e-mail: jkm@underscore.com e-mail: jkm@underscore.com
Michael Shepherd Michael Shepherd
Xerox Corporation Xerox Corporation
800 Phillips Road MS 128-51E 800 Phillips Road MS 128-51E
Webster, NY 14450 Webster, NY 14450
Phone: 716-422-2338 Phone: 716-422-2338
Fax: 716-265-8871 Fax: 716-265-8871
e-mail: mshepherd@usa.xerox.com e-mail: mshepherd@usa.xerox.com
Ron Bergman Ron Bergman
Hitachi Koki Imaging Solutions Hitachi Koki Imaging Solutions
1757 Tapo Canyon Road 1757 Tapo Canyon Road
Simi Valley, CA 93063-3394 Simi Valley, CA 93063-3394
Phone: 805-578-4421 Phone: 805-578-4421
Fax: 805-578-4001 Fax: 805-578-4001
Email: rbergma@hitachi-hkis.com Email: rbergma@hitachi-hkis.com
28 Author's Addresses 29 Author's Addresses
Robert Herriot Robert Herriot
706 Colorado Ave. 706 Colorado Ave.
Palo Alto, CA 94303 Palo Alto, CA 94303
Phone: 650-327-4466 Phone: 650-327-4466
Fax: 650-327-4466 Fax: 650-327-4466
Email: bob@herriot.com Email: bob@herriot.com
Tom Hastings Tom Hastings
Xerox Corporation Xerox Corporation
737 Hawaii St. ESAE 231 737 Hawaii St. ESAE 231
El Segundo, CA 90245 El Segundo, CA 90245
Phone: 310-333-6413 Phone: 310-333-6413
Fax: 310-333-5514 Fax: 310-333-5514
e-mail: hastings@cp10.es.xerox.com e-mail: hastings@cp10.es.xerox.com
IPP Web Page: http://www.pwg.org/ipp/ IPP Web Page: http://www.pwg.org/ipp/
skipping to change at page 99, line 31 skipping to change at page 101, line 5
end end
Implementers of this specification document are encouraged to join Implementers of this specification document are encouraged to join
the IPP Mailing List in order to participate in any discussions of the IPP Mailing List in order to participate in any discussions of
clarification issues and review of registration proposals for clarification issues and review of registration proposals for
additional attributes and values. In order to reduce spam the additional attributes and values. In order to reduce spam the
mailing list rejects mail from non-subscribers, so you must subscribe 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 to the mailing list in order to send a question or comment to the
mailing list. mailing list.
29 Appendix G - Description of the base IPP documents (Informative) 30 Appendix G - Description of the base IPP documents (Informative)
The base set of IPP documents includes: The base set of IPP documents includes:
Design Goals for an Internet Printing Protocol [RFC2567] Design Goals for an Internet Printing Protocol [RFC2567]
Rationale for the Structure and Model and Protocol for the Internet Rationale for the Structure and Model and Protocol for the Internet
Printing Protocol [RFC2568] Printing Protocol [RFC2568]
Internet Printing Protocol/1.1: Model and Semantics [RFC2911] Internet Printing Protocol/1.1: Model and Semantics [RFC2911]
Internet Printing Protocol/1.1: Encoding and Transport [RFC2910] Internet Printing Protocol/1.1: Encoding and Transport [RFC2910]
Internet Printing Protocol/1.1: Implementer's Guide [RFC3196] Internet Printing Protocol/1.1: Implementer's Guide [RFC3196]
Mapping between LPD and IPP Protocols [RFC2569] Mapping between LPD and IPP Protocols [RFC2569]
skipping to change at page 100, line 39 skipping to change at page 102, line 11
objects. It is intended to help them understand IPP/1.1 and some of objects. It is intended to help them understand IPP/1.1 and some of
the considerations that may assist them in the design of their client the considerations that may assist them in the design of their client
and/or IPP object implementations. For example, a typical order of and/or IPP object implementations. For example, a typical order of
processing requests is given, including error checking. Motivation processing requests is given, including error checking. Motivation
for some of the specification decisions is also included. for some of the specification decisions is also included.
The "Mapping between LPD and IPP Protocols" document gives some The "Mapping between LPD and IPP Protocols" document gives some
advice to implementers of gateways between IPP and LPD (Line Printer advice to implementers of gateways between IPP and LPD (Line Printer
Daemon) implementations. Daemon) implementations.
30 Appendix H - Full Copyright Statement (Informative) 31 Appendix H - Full Copyright Statement (Informative)
Copyright (C) The Internet Society (1998,1999,2000,2001,2002). All Copyright (C) The Internet Society (1998,1999,2000,2001,2002,2003).
Rights Reserved All Rights Reserved
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
 End of changes. 

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