⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc2639.txt

📁 RFC 的详细文档!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
   return.

   Get-Printer-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: Printer Object Attributes(R*) (see Note 2)
             <requested attributes> (R*)

   Note 4 - the Unsupported Attributes Group is present only if the
   client included some Operation attributes that the Printer doesn't
   support whether a success or an error return.




Hastings & Manros            Informational                     [Page 18]

RFC 2639              IPP/1.0: Implementer's Guide             July 1999


   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 IPP



Hastings & 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'.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -