📄 rfc2639.txt
字号:
Get-Job-Attributes Response: Group 1: Operation Attributes (R) attributes-charset (R) attributes-natural-language (R) status-message (O*) Group 2: Unsupported Attributes (R*) (see Note 4) <unsupported attributes> (R*) Group 3: Job Object Attributes(R*) (see Note 2) <requested attributes> (R*) Get-Jobs Response: Group 1: Operation Attributes (R) attributes-charset (R) attributes-natural-language (R) status-message (O*) Group 2: Unsupported Attributes (R*) (see Note 4) <unsupported attributes> (R*) Group 3: Job Object Attributes(R*) (see Note 2, 5) <requested attributes> (R*) Note 5: for the Get-Jobs operation the response contains a separate Job Object Attributes group 3 to N containing requested-attributes for each job object in the response.2.2.1.5 Validate the values of the REQUIRED Operation attributes An IPP object validates the values supplied by the client of the REQUIRED Operation attribute that the IPP object MUST support. The next section specifies the validation of the values of the OPTIONAL Operation attributes that IPP objects MAY support. The IPP object performs the following syntactic validation checks of each Operation attribute value: a)that the length of each Operation attribute value is correct for the attribute syntax tag supplied by the client according to [RFC2566] Section 4.1, b)that the attribute syntax tag is correct for that Operation attribute according to [RFC2566] Section 3, c)that the value is in the range specified for that Operation attribute according to [RFC2566] Section 3, d)that multiple values are supplied by the client only for operation attributes that are multi-valued, i.e., that are 1setOf X according to [RFC2566] Section 3.Hastings & Manros Informational [Page 19]RFC 2639 IPP/1.0: Implementer's Guide July 1999 If any of these checks fail, the IPP object REJECTS the request and RETURNS the 'client-error-bad-request' or the 'client-error-request- value-too-long' status code. Since such an error is most likely to be an error detected by a client developer, rather than by an end- user, the IPP object NEED NOT return an indication of which attribute had the error in either the Unsupported Attributes Group or the Status Message. The description for each of these syntactic checks is explicitly expressed in the first IF statement in the following table. In addition, the IPP object checks each Operation attribute value against some Printer object attribute or some hard-coded value if there is no "xxx-supported" Printer object attribute defined. If its value is not among those supported or is not in the range supported, then the IPP object REJECTS the request and RETURNS the error status code indicated in the table by the second IF statement. If the value of the Printer object's "xxx-supported" attribute is 'no-value' (because the system administrator hasn't configured a value), the check always fails. attributes-charset (charset) IF NOT a single non-empty 'charset' value, REJECT/RETURN 'client- error-bad-request'. IF the value length is greater than 63 octets, REJECT/RETURN ' client-error-request-value-too-long'. IF NOT in the Printer object's "charset-supported" attribute, REJECT/RETURN "client-error-charset-not-supported". attributes-natural-language(naturalLanguage) IF NOT a single non-empty 'naturalLanguage' value, REJECT/RETURN 'client-error-bad-request'. IF the value length is greater than 63 octets, REJECT/RETURN ' client-error-request-value-too-long'. ACCEPT the request even if not a member of the set in the Printer object's "generated-natural-language-supported" attribute. If the supplied value is not a member of the Printer object's "generated-natural-language-supported" attribute, use the Printer object's "natural-language-configured" value.Hastings & Manros Informational [Page 20]RFC 2639 IPP/1.0: Implementer's Guide July 1999 requesting-user-name IF NOT a single 'name' value, REJECT/RETURN 'client-error-bad- request'. IF the value length is greater than 255 octets, REJECT/RETURN 'client-error-request-value-too-long'. IF the IPP object can obtain a better authenticated name, use it instead. job-name(name) IF NOT a single 'name' value, REJECT/RETURN 'client-error-bad- request'. IF the value length is greater than 255 octets, REJECT/RETURN 'client-error-request-value-too-long'. IF NOT supplied by the client, the Printer object creates a name from the document-name or document-uri. document-name (name) IF NOT a single 'name' value, REJECT/RETURN 'client-error-bad- request'. IF the value length is greater than 255 octets, REJECT/RETURN 'client-error-request-value-too-long'. ipp-attribute-fidelity (boolean) IF NEITHER a single 'true' NOR a single 'false' 'boolean' value, REJECT/RETURN 'client-error-bad-request'. IF the value length is NOT equal to 1 octet, REJECT/RETURN ' client-error-request-value-too-long' IF NOT supplied by the client, the IPP object assumes the value 'false'. document-format (mimeMediaType) IF NOT a single non-empty 'mimeMediaType' value, REJECT/RETURN 'client-error-bad-request'. IF the value length is greater than 255 octets, REJECT/RETURN 'client-error-request-value-too-long'. IF NOT in the Printer object's "document-format-supported" attribute, REJECT/RETURN 'client-error-document-format-not- supported'Hastings & Manros Informational [Page 21]RFC 2639 IPP/1.0: Implementer's Guide July 1999 IF NOT supplied by the client, the IPP object assumes the value of the Printer object's "document-format-default" attribute. document-uri (uri) IF NOT a single non-empty 'uri' value, REJECT/RETURN 'client- error-bad-request'. IF the value length is greater than 1023 octets, REJECT/RETURN 'client-error-request-value-too-long'. IF the URI syntax is not valid, REJECT/RETURN 'client-error-bad- request'. IF scheme is NOT in the Printer object's "reference-uri-schemes- supported" attribute, REJECT/RETURN 'client-error-uri-scheme- not-supported'. The Printer object MAY check to see if the document exists and is accessible. If the document is not found or is not accessible, REJECT/RETURN 'client-error-not found'. last-document (boolean) IF NEITHER a single 'true' NOR a single 'false' 'boolean' value, REJECT/RETURN 'client-error-bad-request'. IF the value length is NOT equal to 1 octet, REJECT/RETURN ' client-error-request-value-too-long' job-id (integer(1:MAX)) IF NOT an single 'integer' value equal to 4 octets AND in the range 1 to MAX, REJECT/RETURN 'client-error-bad-request'. IF NOT a job-id of an existing Job object, REJECT/RETURN 'client- error-not-found' or 'client-error-gone' status code, if keep track of recently deleted jobs. requested-attributes (1setOf keyword) IF NOT one or more 'keyword' values, REJECT/RETURN 'client-error- bad-request'. IF the value length is greater than 255 octets, REJECT/RETURN 'client-error-request-value-too-long'. Ignore unsupported values which are the keyword names of unsupported attributes. Don't bother to copy such requested (unsupported) attributes to the Unsupported Attribute response group since the response will not return them.Hastings & Manros Informational [Page 22]RFC 2639 IPP/1.0: Implementer's Guide July 1999 which-jobs (type2 keyword) IF NOT a single 'keyword' value, REJECT/RETURN 'client-error-bad- request'. IF the value length is greater than 255 octets, REJECT/RETURN 'client-error-request-value-too-long'. IF NEITHER 'completed' NOR 'not-completed', copy the attribute and the unsupported value to the Unsupported Attributes response group and REJECT/RETURN 'client-error-attributes-or-values- not-supported'. Note: a Printer still supports the 'completed' value even if it keeps no completed/canceled/aborted jobs: by returning no jobs when so queried. IF NOT supplied by the client, the IPP object assumes the 'not- completed' value. my-jobs (boolean) IF NEITHER a single 'true' NOR a single 'false' 'boolean' value, REJECT/RETURN 'client-error-bad-request'. IF the value length is NOT equal to 1 octet, REJECT/RETURN ' client-error-request-value-too-long' IF NOT supplied by the client, the IPP object assumes the 'false' value. limit (integer(1:MAX)) IF NOT a single 'integer' value equal to 4 octets AND in the range 1 to MAX, REJECT/RETURN 'client-error-bad-request'. IF NOT supplied by the client, the IPP object returns all jobs, no matter how many.2.2.1.6 Validate the values of the OPTIONAL Operation attributes OPTIONAL Operation attributes are those that an IPP object MAY or MAY NOT support. An IPP object validates the values of the OPTIONAL attributes supplied by the client. The IPP object performs the same syntactic validation checks for each OPTIONAL attribute value as in Section 2.2.1.5. As in Section 2.2.1.5, if any fail, the IPP object REJECTS the request and RETURNS the 'client-error-bad-request' or the 'client-error-request-value-too-long' status code. In addition, the IPP object checks each Operation attribute value against some Printer attribute or some hard-coded value if there is no "xxx-supported" Printer attribute defined. If its value is not among those supported or is not in the range supported, then the IPPHastings & Manros Informational [Page 23]RFC 2639 IPP/1.0: Implementer's Guide July 1999 object REJECTS the request and RETURNS the error status code indicated in the table. If the value of the Printer object's "xxx- supported" attribute is 'no-value' (because the system administrator hasn't configured a value), the check always fails. If the IPP object doesn't recognize/support an attribute, the IPP object treats the attribute as an unknown or unsupported attribute (see the last row in the table below). document-natural-language (naturalLanguage) IF NOT a single non-empty 'naturalLanguage' value, REJECT/RETURN ' client-error-bad-request'. IF the value length is greater than 63 octets, REJECT/RETURN ' client-error-request-value-too-long'. IF NOT a value that the Printer object supports in document formats, (no corresponding "xxx-supported" Printer attribute), REJECT/RETURN 'client-error-natural-language-not-supported'. compression (type3 keyword) IF NOT a single 'keyword' value, REJECT/RETURN 'client-error-bad- request'. IF the value length is greater than 255 octets, REJECT/RETURN ' client-error-request-value-too-long'. IF NOT in the Printer object's "compression-supported" attribute, copy the attribute and the unsupported value to the Unsupported Attributes response group and REJECT/RETURN 'client-error- attributes-or-values-not-supported'. job-k-octets (integer(0:MAX)) IF NOT a single 'integer' value equal to 4 octets, REJECT/RETURN 'client-error-bad-request'. IF NOT in the range of the Printer object's "job-k-octets- supported" attribute, copy the attribute and the unsupported value to the Unsupported Attributes response group and REJECT/RETURN 'client-error-attributes-or-values-not- supported'. job-impressions (integer(0:MAX)) IF NOT a single 'integer' value equal to 4 octets, REJECT/RETURN 'client-error-bad-request'.Hastings & Manros Informational [Page 24]RFC 2639 IPP/1.0: Implementer's Guide July 1999 IF NOT in the range of the Printer object's "job-impressions- supported" attribute, copy the attribute and the unsupported
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -