RFC3808

From RFC-Wiki

Network Working Group I. McDonald Request for Comments: 3808 High North Category: Informational June 2004

                        IANA Charset MIB

Status of this Memo

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

Copyright Notice

Copyright (C) The Internet Society (2004).

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. This IANA Charset MIB is now an IANA registry. In particular, a single textual convention 'IANACharset' is defined that may be used to specify charset labels in MIB objects. 'IANACharset' was extracted from Printer MIB v2 (RFC 3805). 'IANACharset' was originally defined (and mis-named) as 'CodedCharSet' in Printer MIB v1 (RFC 1759). A tool has been written in C, that may be used by IANA to regenerate this IANA Charset MIB, when future charsets are registered in accordance with the IANA Charset Registration Procedures (RFC 2978).

Introduction

This IANA Charset MIB [CHARMIB] module defines the single textual convention 'IANACharset'. Once adopted, all future versions of the IANA Charset MIB [CHARMIB] may be machine-generated whenever the IANA Charset Registry [CHARSET] is updated by IANA staff according to the procedures defined in RFC2978, using the utility [CHARGEN] described in section 3 of this document or any other machine- generation method.

It is strongly recommended that future updates to the IANA Charset MIB [CHARMIB] be machine-generated (rather than hand-edited) to avoid asynchrony between the IANA Charset Registry [CHARSET] and the IANA Charset MIB [CHARMIB].

Note: Questions and comments on this IANA Charset MIB [CHARMIB] should be sent to the editor ([email protected]) and IANA ([email protected]) with a copy to the IETF Charsets mailing list (ietf- [email protected]).

Conformance Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 RFC2119.

Charset Terminology

The following terms are used in this specification, exactly as defined in section 1 'Definitions and Notation' of the IANA Charset Registration Procedures RFC2978: "character", "charset", "coded character set (CCS)", and "character encoding scheme (CES)".

The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 RFC3410.

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 RFC2578, STD 58, RFC 2579 RFC2579, and STD 58, RFC 2580 RFC2580.

Generation of IANA Charset MIB

Intellectual Property: The C language utility 'ianachar.c' [CHARGEN] and the IANA Charset MIB template file [CHARTEMP] are hereby donated by the author (Ira McDonald) to IANA, in perpetuity, free of license or any other restraint.

The [CHARGEN] utility may be used to generate an updated version of the 'IANACharset' textual convention by reading and parsing the (currently plaintext) IANA Charset Registry [CHARSET].

This utility parses each charset registration, finding (in order):

1) The 'Name' field (which is saved for a fallback - see below);

2) The 'MIBenum' field (which contains the IANA-assigned positive

  decimal enum value); and

3) The (usually present) 'Alias' field that begins with 'cs' (that

  contains the IANA-assigned enum label).  If an 'Alias' field is
  not found, the utility constructs one from the 'Name' field by:
  -  Beginning the enum label with a lowercase 'cs' prefix;
  -  Copying _only_ alpha/numeric characters from the 'Name' field
     to the enum label (ignoring punctuation, whitespace, etc.).

Definition of IANA Charset MIB

IANA-CHARSET-MIB DEFINITIONS ::= BEGIN -- http://www.iana.org/assignments/ianacharset-mib

IMPORTS

MODULE-IDENTITY,
    mib-2
        FROM SNMPv2-SMI                              -- RFC2578
TEXTUAL-CONVENTION
        FROM SNMPv2-TC;                              -- RFC2579

ianaCharsetMIB MODULE-IDENTITY

LAST-UPDATED    "200406080000Z"
ORGANIZATION    "IANA"
CONTACT-INFO    "       Internet Assigned Numbers Authority
                Postal: ICANN
                        4676 Admiralty Way, Suite 330
                        Marina del Rey, CA 90292
                Tel:    +1 310 823 9358
                E-Mail: [email protected]"
DESCRIPTION     "This MIB module defines the IANACharset
                TEXTUAL-CONVENTION.  The IANACharset TC is used to
                specify the encoding of string objects defined in
                a MIB.
                Each version of this MIB will be released based on
                the IANA Charset Registry file (see RFC 2978) at
                http://www.iana.org/assignments/character-sets.
                Note:  The IANACharset TC, originally defined in
                RFC 1759, was inaccurately named CodedCharSet.
                Note:  Best practice is to define new MIB string
                objects with invariant UTF-8 (RFC 3629) syntax
                using the SnmpAdminString TC (defined in RFC 3411)
                in accordance with IETF Policy on Character Sets and
                Languages (RFC 2277).
                Copyright (C) The Internet Society (2004).  The
                initial version of this MIB module was published
                in RFC 3808; for full legal notices see the RFC
                itself.  Supplementary information may be
                available on
                http://www.ietf.org/copyrights/ianamib.html."
--  revision history
REVISION        "200406080000Z"
DESCRIPTION     "Original version transferred from Printer MIB,
                generated from the IANA maintained assignments
                http://www.iana.org/assignments/character-sets."
::= { mib-2 106 }

IANACharset ::= TEXTUAL-CONVENTION

STATUS  current
DESCRIPTION
    "Specifies an IANA registered 'charset' - coded character set
    (CCS) plus optional character encoding scheme (CES) - terms
    defined in 'IANA Charset Registration Procedures' (RFC 2978).
    Objects of this syntax are used to specify the encoding for
    string objects defined in one or more MIBs.  For example, the
    prtLocalizationCharacterSet, prtInterpreterDefaultCharSetIn, and
    prtInterpreterDefaultCharSetOut objects defined in Printer MIB.
    The current list of 'charset' names and enumerated values
    is contained in the IANA Character Set Registry at:
       http://www.iana.org/assignments/character-sets
    Enum names are derived from the IANA Charset Registry 'Alias'
    fields that begin with 'cs' (for character set).
    Enum values are derived from the parallel 'MIBenum' fields."
SYNTAX  INTEGER {
    other(1),   -- used if the designated
                -- character set is not currently
                -- registered by IANA
    unknown(2), -- used as a default value
    csASCII(3),
    csISOLatin1(4),
    csISOLatin2(5),
    csISOLatin3(6),
    csISOLatin4(7),
    csISOLatinCyrillic(8),
    csISOLatinArabic(9),
    csISOLatinGreek(10),
    csISOLatinHebrew(11),
    csISOLatin5(12),
    csISOLatin6(13),
    csISOTextComm(14),
    csHalfWidthKatakana(15),
    csJISEncoding(16),
    csShiftJIS(17),
    csEUCPkdFmtJapanese(18),
    csEUCFixWidJapanese(19),
    csISO4UnitedKingdom(20),
    csISO11SwedishForNames(21),
    csISO15Italian(22),
    csISO17Spanish(23),
    csISO21German(24),
    csISO60DanishNorwegian(25),
    csISO69French(26),
    csISO10646UTF1(27),
    csISO646basic1983(28),
    csINVARIANT(29),
    csISO2IntlRefVersion(30),
    csNATSSEFI(31),
    csNATSSEFIADD(32),
    csNATSDANO(33),
    csNATSDANOADD(34),
    csISO10Swedish(35),
    csKSC56011987(36),
    csISO2022KR(37),
    csEUCKR(38),
    csISO2022JP(39),
    csISO2022JP2(40),
    csISO13JISC6220jp(41),
    csISO14JISC6220ro(42),
    csISO16Portuguese(43),
    csISO18Greek7Old(44),
    csISO19LatinGreek(45),
    csISO25French(46),
    csISO27LatinGreek1(47),
    csISO5427Cyrillic(48),
    csISO42JISC62261978(49),
    csISO47BSViewdata(50),
    csISO49INIS(51),
    csISO50INIS8(52),
    csISO51INISCyrillic(53),
    csISO54271981(54),
    csISO5428Greek(55),
    csISO57GB1988(56),
    csISO58GB231280(57),
    csISO61Norwegian2(58),
    csISO70VideotexSupp1(59),
    csISO84Portuguese2(60),
    csISO85Spanish2(61),
    csISO86Hungarian(62),
    csISO87JISX0208(63),
    csISO88Greek7(64),
    csISO89ASMO449(65),
    csISO90(66),
    csISO91JISC62291984a(67),
    csISO92JISC62991984b(68),
    csISO93JIS62291984badd(69),
    csISO94JIS62291984hand(70),
    csISO95JIS62291984handadd(71),
    csISO96JISC62291984kana(72),
    csISO2033(73),
    csISO99NAPLPS(74),
    csISO102T617bit(75),
    csISO103T618bit(76),
    csISO111ECMACyrillic(77),
    csa71(78),
    csa72(79),
    csISO123CSAZ24341985gr(80),
    csISO88596E(81),
    csISO88596I(82),
    csISO128T101G2(83),
    csISO88598E(84),
    csISO88598I(85),
    csISO139CSN369103(86),
    csISO141JUSIB1002(87),
    csISO143IECP271(88),
    csISO146Serbian(89),
    csISO147Macedonian(90),
    csISO150(91),
    csISO151Cuba(92),
    csISO6937Add(93),
    csISO153GOST1976874(94),
    csISO8859Supp(95),
    csISO10367Box(96),
    csISO158Lap(97),
    csISO159JISX02121990(98),
    csISO646Danish(99),
    csUSDK(100),
    csDKUS(101),
    csKSC5636(102),
    csUnicode11UTF7(103),
    csISO2022CN(104),
    csISO2022CNEXT(105),
    csUTF8(106),
    csISO885913(109),
    csISO885914(110),
    csISO885915(111),
    csISO885916(112),
    csGBK(113),
    csGB18030(114),
    csOSDEBCDICDF0415(115),
    csOSDEBCDICDF03IRV(116),
    csOSDEBCDICDF041(117),
    csUnicode(1000),
    csUCS4(1001),
    csUnicodeASCII(1002),
    csUnicodeLatin1(1003),
    csUnicodeIBM1261(1005),
    csUnicodeIBM1268(1006),
    csUnicodeIBM1276(1007),
    csUnicodeIBM1264(1008),
    csUnicodeIBM1265(1009),
    csUnicode11(1010),
    csSCSU(1011),
    csUTF7(1012),
    csUTF16BE(1013),
    csUTF16LE(1014),
    csUTF16(1015),
    csCESU8(1016),
    csUTF32(1017),
    csUTF32BE(1018),
    csUTF32LE(1019),
    csBOCU1(1020),
    csWindows30Latin1(2000),
    csWindows31Latin1(2001),
    csWindows31Latin2(2002),
    csWindows31Latin5(2003),
    csHPRoman8(2004),
    csAdobeStandardEncoding(2005),
    csVenturaUS(2006),
    csVenturaInternational(2007),
    csDECMCS(2008),
    csPC850Multilingual(2009),
    csPCp852(2010),
    csPC8CodePage437(2011),
    csPC8DanishNorwegian(2012),
    csPC862LatinHebrew(2013),
    csPC8Turkish(2014),
    csIBMSymbols(2015),
    csIBMThai(2016),
    csHPLegal(2017),
    csHPPiFont(2018),
    csHPMath8(2019),
    csHPPSMath(2020),
    csHPDesktop(2021),
    csVenturaMath(2022),
    csMicrosoftPublishing(2023),
    csWindows31J(2024),
    csGB2312(2025),
    csBig5(2026),
    csMacintosh(2027),
    csIBM037(2028),
    csIBM038(2029),
    csIBM273(2030),
    csIBM274(2031),
    csIBM275(2032),
    csIBM277(2033),
    csIBM278(2034),
    csIBM280(2035),
    csIBM281(2036),
    csIBM284(2037),
    csIBM285(2038),
    csIBM290(2039),
    csIBM297(2040),
    csIBM420(2041),
    csIBM423(2042),
    csIBM424(2043),
    csIBM500(2044),
    csIBM851(2045),
    csIBM855(2046),
    csIBM857(2047),
    csIBM860(2048),
    csIBM861(2049),
    csIBM863(2050),
    csIBM864(2051),
    csIBM865(2052),
    csIBM868(2053),
    csIBM869(2054),
    csIBM870(2055),
    csIBM871(2056),
    csIBM880(2057),
    csIBM891(2058),
    csIBM903(2059),
    csIBBM904(2060),
    csIBM905(2061),
    csIBM918(2062),
    csIBM1026(2063),
    csIBMEBCDICATDE(2064),
    csEBCDICATDEA(2065),
    csEBCDICCAFR(2066),
    csEBCDICDKNO(2067),
    csEBCDICDKNOA(2068),
    csEBCDICFISE(2069),
    csEBCDICFISEA(2070),
    csEBCDICFR(2071),
    csEBCDICIT(2072),
    csEBCDICPT(2073),
    csEBCDICES(2074),
    csEBCDICESA(2075),
    csEBCDICESS(2076),
    csEBCDICUK(2077),
    csEBCDICUS(2078),
    csUnknown8BiT(2079),
    csMnemonic(2080),
    csMnem(2081),
    csVISCII(2082),
    csVIQR(2083),
    csKOI8R(2084),
    csHZGB2312(2085),
    csIBM866(2086),
    csPC775Baltic(2087),
    csKOI8U(2088),
    csIBM00858(2089),
    csIBM00924(2090),
    csIBM01140(2091),
    csIBM01141(2092),
    csIBM01142(2093),
    csIBM01143(2094),
    csIBM01144(2095),
    csIBM01145(2096),
    csIBM01146(2097),
    csIBM01147(2098),
    csIBM01148(2099),
    csIBM01149(2100),
    csBig5HKSCS(2101),
    csIBM1047(2102),
    csPTCP154(2103),
    csAmiga1251(2104),
    csKOI7switched(2105),
    cswindows1250(2250),
    cswindows1251(2251),
    cswindows1252(2252),
    cswindows1253(2253),
    cswindows1254(2254),
    cswindows1255(2255),
    cswindows1256(2256),
    cswindows1257(2257),
    cswindows1258(2258),
    csTIS620(2259),
    reserved(3000)
}

END

IANA Considerations

IANA has assigned a base arc in the 'mgmt' (standards track) OID tree for the 'ianaCharset' MODULE-IDENTITY defined in the IANA Charset MIB [CHARMIB].

Whenever any 'charset' is added to the IANA Charset Registry [CHARSET], a new version of the IANA Charset MIB [CHARMIB] may be machine-generated using the C language utility [CHARGEN], described in section 3 of this document or some other utility.

Internationalization Considerations

The IANA Charset MIB [CHARMIB] defines the 'IANACharset' textual convention that may be used in a given MIB module to supply explicit character set labels for one or more text string objects defined in that MIB module.

For example, the Printer MIB RFC1759 defines the three character set label objects 'prtLocalizationCharacterSet' (for description and console strings), 'prtInterpreterDefaultCharSetIn' (for received

print job input data), and 'prtIntpreterDefaultCharSetOut' (for processed print job output data).

The IANA Charset MIB [CHARMIB] supports implementation of the best practices specified in "IETF Policy on Character Sets and Languages" RFC2277.

Note: The use of the 'SnmpAdminString' textual convention defined in RFC3411, which has a fixed character set of UTF-8 RFC3629, is STRONGLY RECOMMENDED in defining new MIB modules. The IANA Charset MIB [CHARMIB] supports locale-specific MIB objects with variable character sets.

Security Considerations

This MIB module does not define any management objects. Instead, it defines a (set of) textual convention(s) which may be used by other MIB modules to define management objects.

Meaningful security considerations can only be written in the MIB modules that define management objects. Therefore, this document has no impact on the security of the Internet.

Acknowledgements

The editor would like to thank: Bert Wijnen (Lucent) for his original suggestion that the 'IANACharset' textual convention should be extracted from Printer MIB v2 RFC3805; Ron Bergman (Hitachi Printing Solutions) and Harry Lewis (IBM) for their many years of effort as editors of Printer MIB v2 RFC3805.

References

Normative References

RFC2119 Bradner, S., "Key words for use in RFCs to Indicate

            Requirement Levels", BCP 14, RFC 2119, March 1997.

RFC2277 Alvestrand, H., "IETF Policy on Character Sets and

            Languages", RFC 2277, January 1998.

RFC2578 McCloghrie, K., Perkins, D., and J. Schoenwaelder,

            "Structure of Management Information Version 2 (SMIv2)",
            STD 58, RFC 2578, April 1999.

RFC2579 McCloghrie, K., Perkins, D., and J. Schoenwaelder,

            "Textual Conventions for SMIv2", STD 58, RFC 2579, April
            1999.

RFC2580 McCloghrie, K., Perkins, D., and J. Schoenwaelder,

            "Conformance Statements for SMIv2", STD 58, RFC 2580,
            April 1999.

RFC2978 Freed, N. and J. Postel, "IANA Charset Registration

            Procedures", BCP 19, RFC 2978, October 2000.

RFC3411 Harrington, D., Presuhn, R., and B. Wijnen, "An

            Architecture for Describing SNMP Network Management
            Frameworks", STD 62, RFC 3411, December 2002.

RFC3629 Yergeau, F., "UTF-8, a transformation format of ISO

            10646", RFC 3629, November 2003.

Informative References

[CHARGEN] IANA Charset MIB Generation Utility (archived at):

            ftp://www.pwg.org/pub/pwg/pmp/tools/ianachar.c

[CHARMIB] IANA Charset MIB (in the future, to be archived at):

            http://www.iana.org/assignments/ianacharset-mib

[CHARSET] IANA Charset Registry (archived at):

            http://www.iana.org/assignments/character-sets

[CHARTEMP] IANA Charset MIB template file (archived at):

            ftp://www.pwg.org/pub/pwg/pmp/tools/ianachar.dat

RFC1759 Smith, R., Wright, F., Hastings, T., Zilles, S., and J.

            Gyllenskog.  "Printer MIB", RFC 1759, March 1995.

RFC3805 Bergman, R., Lewis, H., and I. McDonald, "Printer MIB

            v2", RFC 3805, June 2004.

RFC3410 Case, J., Mundy, P., Partain, D., and B. Stewart,

            "Introduction and Applicability Statements for
            Internet-Standard Network Management Framework", RFC
            3410, December 2002.

10. Authors' Addresses

Ira McDonald High North Inc 221 Ridge Ave Grand Marais, MI 49839 USA

Phone: +1 906 494 2434 EMail: [email protected]

Internet Assigned Numbers Authority (IANA) ICANN 4676 Admiralty Way, Suite 330 Marina del Rey, CA 90292 USA

Phone: +1 310 823 9358 EMail: [email protected]

Note: Questions and comments on this IANA Charset MIB [CHARMIB] should be sent to the editor ([email protected]) and IANA ([email protected]) with a copy to the IETF Charsets mailing list ([email protected]).

11. Full Copyright Statement

Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Intellectual Property

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights 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; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

Copies of IPR disclosures made to the IETF Secretariat 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 on-line IPR repository at http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- [email protected].

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.