PMP> ISSUE: CR/LF, not just LF, to mark lines in prtChannelInfo,

PMP> ISSUE: CR/LF, not just LF, to mark lines in prtChannelInfo,

Tom Hastings hastings at cp10.es.xerox.com
Wed Jul 16 04:16:39 EDT 1997


There are several places in the Printer MIB where a LF by itself
is indicated as the way to separate lines.  But US-ASCII and NVT ASCII
both specify that lines are ended with the two character sequence
CR (carriage return = decimal 13) and LF (line feed = decimal 10).  
If you send ONLY a LF to a display console (eg, an NMS), you will NOT 
reposition to the first column for the next fragment and these strings 
will be displayed incorrectly (as a cascade to the right).  
This is because LF is only a vertical motion in US-ASCII and NVT ASCII.  
It is UNIX and C that have the convention that LF by itself is a new-line.


The following objects are affected:


1.  The 'prtChannelInformation' object specifies ONLY an LF (line feed) 
as a delimiter and NOT a CR/LF pair (consistent with MIME mail and HTTP
header usage, US-ASCII and NVT ASCII usage).  


2.  The 'prtGeneralCurrentOperator' and 'prtGeneralServicePerson'
specify ONLY an LF (line feed) to delimit lines, NOT a CR/LF pair.






Suggested changes of text


Here is the current text for the three objects:


          prtChannelInformation OBJECT-TYPE
              SYNTAX     DisplayString (SIZE (0..255))
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                   "Auxiliary information to allow a printing application
                   to use the channel for data submission to the printer.
                   An application capable of using a specific
                   PrtChannelType should be able to use the combined
                   information from the prtChannelInformation and other
                   channel and interface group objects to 'bootstrap' its
                   use of the channel.  prtChannelInformation is not
                   intended to provide a general channel description, nor
                   to provide information that is available once the
                   channel is in use.










          Turner      draft-ietf-printmib-mib-info-02.txt        [Page 120]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






                   The encoding and interpretation of the
                   prtChannelInformation object is specific to channel
                   type.  The description of each PrtChannelType enum value
                   for which prtChannelInformation is defined specifies the
                   appropriate encoding and interpretation, including
                   interaction with other objects.  For channel types that
                   do not specify a prtChannelInformation value, its value
                   shall be null (0 length).


                   When a new PrtChannelType enumeration value is
                   registered, its accompanying description must specify
                   the encoding and interpretation of the
                   prtChannelInformation value for the channel type.
                   prtChannelInformation semantics for an existing
                   PrtChannelType may be added or amended in the same
                   manner as described in section 2.4.1 for type 2
                   enumeration values.


                   The prtChannelInformation specifies values for a
                   collection of channel attributes, represented as text
                   according to the following rules:


                   1. The prtChannelInformation is coded in the NVT ASCII
                   character set. It is not affected by localization.


                   2. The prtChannelInformation is a list of entries
                   representing the attribute values.  Each entry consists
                   of the following items, in order:


                   a. a keyword, composed of alphabetic characters (A-Z,
                   a-z), that identifies a channel attribute,


                   b. an Equals Sign (=) to delimit the keyword,


                   c. a data value, consisting of NVT ASCII graphics
                   characters (codes 32-126),


                   d. a Line Feed character (code 10) to delimit the data
                   value.


                   No other characters shall be present.


                   Keywords are case-sensitive.  Conventionally, keywords
                   are capitalized (including each word of a multi-word








          Turner      draft-ietf-printmib-mib-info-02.txt        [Page 121]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






                   keyword), and, since they occupy space in the
                   prtChannelInformation, they are kept short.


                   3. If a channel attribute has multiple values, it is
                   represented by multiple entries with the same keyword,
                   each specifying one value. Otherwise, there shall be at
                   most one entry for each attribute.


                   4. By default, entries may appear in any order.  If
                   there are ordering constraints for particular entries,
                   these must be specified in their definitions.


                   5. The prtChannelInformation value may represent
                   information that is not normally coded in textual form,
                   or that is coded in a character set other than NVT
                   ASCII.  In these cases, whatever symbolic representation
                   is conventionally used for the information should be
                   used for encoding the prtChannelInformation.  (For
                   instance, a binary port value might be represented as a
                   decimal number, Unicode would be represented in UTF-8
                   format.)


                   6. For each PrtChannelType for which
                   prtChannelInformation entries are defined, the
                   descriptive text associated with the PrtChannelType
                   enumeration value shall specify the following
                   information for each entry:


                 Title:        Brief description phrase, e.g.: 'Port name',
                               'Service Name', etc.


                 Keyword:      The keyword value, e.g.: 'Port' or 'Service'


                 Syntax:       The encoding of the entry value, if it
                               cannot be directly represented by NVT ASCII.


                 Status:       'Mandatory', 'Optional', or 'Conditionally
                               Mandatory'


                 Multiplicity: 'Single' or 'Multiple' to indicate whether
                               the entry may be present multiple times.


                 Description:  Description of the use of the entry, other
                               information required to complete the
                               definition (e.g.: ordering constraints,






          Turner      draft-ietf-printmib-mib-info-02.txt        [Page 122]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






                               interactions between entries).


                 Applications that interpret prtChannelInformation should
                 ignore unrecognized entries, so they are not affected if
                 new entry types are added."








               ::= { prtChannelEntry 9 }
          prtGeneralCurrentOperator OBJECT-TYPE
              SYNTAX     OCTET STRING (SIZE(0..127))
              MAX-ACCESS read-write
              STATUS     current
              DESCRIPTION
                   "The name of the person who is responsible for operating
                   this printer. It is suggested that this string include
                   information that would enable other humans to reach the
                   operator, such as a phone number. As a convention to
                   facilitate automatic notification of the operator by the
                   agent or the network management station, the phone
                   number, fax number or email address should be placed on
                   a separate line starting with ASCII LF (hex 0x0A) and
                   the ASCII text string (without the quotes): 'phone: ',
                   'fax: ', and 'email: ', respectively. Phone numbers may
                   contain digits, spaces and parentheses, which shall be
                   ignored. Phone numbers may also include ASCII comma






          Turner      draft-ietf-printmib-mib-info-02.txt         [Page 70]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






                   characters(hex 2C) that are used to indicate a two-
                   second pause during the dialing sequence. If either the
                   phone, fax, or email information is not available, then
                   a line should not be included for this information.


                   NOTE: For interoperability purposes, it is advisable to
                   use email addresses formatted according to RFC 822
                   requirements."
              ::= { prtGeneralEntry 4 }






          prtGeneralServicePerson OBJECT-TYPE
              SYNTAX     OCTET STRING (SIZE(0..127))
              MAX-ACCESS read-write
              STATUS     current
              DESCRIPTION
                   "The name of the person responsible for servicing this
                   printer. It is suggested that this string include
                   information that would enable other humans to reach the
                   service person, such as a phone number. As a convention
                   to facilitate automatic notification of the service
                   person by the agent or a network management station, the
                   phone number, fax number or email address should be
                   placed on a separate line starting with ASCII LF (hex
                   0x0A) and the ASCII text string (without the quotes):
                   'phone: ', 'fax: ', and 'email: ', respectively. Phone
                   numbers may contain digits, spaces and parentheses,
                   which shall be ignored. Phone numbers can also include
                   one or more ASCII comma characters(hex 2C) to indicate a
                   two-second pause during the dialing sequence. If either
                   the phone, fax, or email information is not available,
                   then a line should not included for this information.


                   NOTE: For interoperability purposes, it is advisable to
                   use email addresses formatted according to RFC 822
                   requirements."


              ::= { prtGeneralEntry 5 }








The suggested changes are indicated with | in line one:


          prtChannelInformation OBJECT-TYPE
|             SYNTAX     OCTET STRING (SIZE (0..255))
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                   "Auxiliary information to allow a printing application
                   to use the channel for data submission to the printer.
                   An application capable of using a specific
                   PrtChannelType should be able to use the combined
                   information from the prtChannelInformation and other
                   channel and interface group objects to 'bootstrap' its
                   use of the channel.  prtChannelInformation is not
                   intended to provide a general channel description, nor
                   to provide information that is available once the
                   channel is in use.










          Turner      draft-ietf-printmib-mib-info-02.txt        [Page 120]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






                   The encoding and interpretation of the
                   prtChannelInformation object is specific to channel
                   type.  The description of each PrtChannelType enum value
                   for which prtChannelInformation is defined specifies the
                   appropriate encoding and interpretation, including
                   interaction with other objects.  For channel types that
                   do not specify a prtChannelInformation value, its value
                   shall be null (0 length).


                   When a new PrtChannelType enumeration value is
                   registered, its accompanying description must specify
                   the encoding and interpretation of the
                   prtChannelInformation value for the channel type.
                   prtChannelInformation semantics for an existing
                   PrtChannelType may be added or amended in the same
                   manner as described in section 2.4.1 for type 2
                   enumeration values.


                   The prtChannelInformation specifies values for a
                   collection of channel attributes, represented as text
                   according to the following rules:


|                  1. The prtChannelInformation SHALL NOT be affected by 
|                  localization.


                   2. The prtChannelInformation is a list of entries
                   representing the attribute values.  Each entry consists
                   of the following items, in order:


|                  a. a keyword, composed of US-ASCII [US-ASCII] alphabetic 
|                  characters (A-Z, a-z), that identifies a channel 
                   attribute,


|                  b. a US-ASCII Equals Sign (=) to delimit the keyword,


|                  c. a data value, consisting of US-ASCII graphics
|                  characters (codes 32-126) and possibly graphic
|                  characters of another one or two byte set in codes
|                  128 to 255 according to the structure of 8-bit codes
|                  in ISO 2022 as with any other OCTET STRING in this 
|                  MIB not subject to localization.  See section
                   2.2.1 entitled "General Printer".


|                  d. a Carriage Return (code 13) and a Line Feed 
|                  character (code 10) to delimit the data value.


                   No other characters shall be present.


                   Keywords are case-sensitive.  Conventionally, keywords
                   are capitalized (including each word of a multi-word








          Turner      draft-ietf-printmib-mib-info-02.txt        [Page 121]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






                   keyword), and, since they occupy space in the
                   prtChannelInformation, they are kept short.


                   3. If a channel attribute has multiple values, it is
                   represented by multiple entries with the same keyword,
                   each specifying one value. Otherwise, there shall be at
                   most one entry for each attribute.


                   4. By default, entries may appear in any order.  If
                   there are ordering constraints for particular entries,
                   these must be specified in their definitions.


                   5. The prtChannelInformation value may represent
                   information that is not normally coded in textual form,
|                  or that is coded in a character set other than US-
                   ASCII.  In these cases, whatever symbolic representation
                   is conventionally used for the information should be
                   used for encoding the prtChannelInformation.  (For
                   instance, a binary port value might be represented as a
                   decimal number, Unicode would be represented in UTF-8
                   [UTF-8] format.)


                   6. For each PrtChannelType for which
                   prtChannelInformation entries are defined, the
                   descriptive text associated with the PrtChannelType
                   enumeration value shall specify the following
                   information for each entry:


                 Title:        Brief description phrase, e.g.: 'Port name',
                               'Service Name', etc.


                 Keyword:      The keyword value, e.g.: 'Port' or 'Service'


                 Syntax:       The encoding of the entry value, if it
|                              cannot be directly represented by US-ASCII.


                 Status:       'Mandatory', 'Optional', or 'Conditionally
                               Mandatory'


                 Multiplicity: 'Single' or 'Multiple' to indicate whether
                               the entry may be present multiple times.


                 Description:  Description of the use of the entry, other
                               information required to complete the
                               definition (e.g.: ordering constraints,






          Turner      draft-ietf-printmib-mib-info-02.txt        [Page 122]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






                               interactions between entries).


                 Applications that interpret prtChannelInformation should
                 ignore unrecognized entries, so they are not affected if
                 new entry types are added."








               ::= { prtChannelEntry 9 }
          prtGeneralCurrentOperator OBJECT-TYPE
              SYNTAX     OCTET STRING (SIZE(0..127))
              MAX-ACCESS read-write
              STATUS     current
              DESCRIPTION
                   "The name of the person who is responsible for operating
                   this printer. It is suggested that this string include
                   information that would enable other humans to reach the
                   operator, such as a phone number. As a convention to
                   facilitate automatic notification of the operator by the
                   agent or the network management station, the phone
                   number, fax number or email address should be placed on
|                  a separate line starting with US-ASCII carriage return
|                  (CR = decimal 13) and line feed (LF = decimal 10) and
|                  the US-ASCII text string (without the quotes): 'phone: ',
                   'fax: ', and 'email: ', respectively. Phone numbers may
                   contain digits, spaces and parentheses, which shall be
|                  ignored. Phone numbers may also include US-ASCII comma






          Turner      draft-ietf-printmib-mib-info-02.txt         [Page 70]
                            Expires January 12, 1998
 


          INTERNET DRAFT          Printer MIB                  July 8, 1997






|                  characters (decimal 44) that are used to indicate a two-
                   second pause during the dialing sequence. If either the
                   phone, fax, or email information is not available, then
                   a line should not be included for this information.


                   NOTE: For interoperability purposes, it is advisable to
                   use email addresses formatted according to RFC 822
                   requirements."
              ::= { prtGeneralEntry 4 }






          prtGeneralServicePerson OBJECT-TYPE
              SYNTAX     OCTET STRING (SIZE(0..127))
              MAX-ACCESS read-write
              STATUS     current
              DESCRIPTION
                   "The name of the person responsible for servicing this
                   printer. It is suggested that this string include
                   information that would enable other humans to reach the
                   service person, such as a phone number. As a convention
                   to facilitate automatic notification of the service
                   person by the agent or a network management station, the
                   phone number, fax number or email address should be
|                  placed on a separate line starting with US-ASCII 
|                  carriage return (CR = decimal 13) and line feed 
|                  (LF = decimal 10) and the US-ASCIItext string 
                   (without the quotes):
                   'phone: ', 'fax: ', and 'email: ', respectively. Phone
                   numbers may contain digits, spaces and parentheses,
                   which shall be ignored. Phone numbers can also include
                   one or more ASCII comma characters(hex 2C) to indicate a
                   two-second pause during the dialing sequence. If either
                   the phone, fax, or email information is not available,
                   then a line should not included for this information.


                   NOTE: For interoperability purposes, it is advisable to
                   use email addresses formatted according to RFC 822
                   requirements."


              ::= { prtGeneralEntry 5 }



More information about the Pmp mailing list