Skip to main content

Host Resources MIB
RFC 2790

Document Type RFC - Draft Standard (March 2000)
Obsoletes RFC 1514
Was draft-ops-hostmib (individual)
Authors Pete Grillo , Steven Waldbusser
Last updated 2013-03-02
RFC stream Legacy stream
Formats
IESG Responsible AD (None)
Send notices to (None)
RFC 2790
Network Working Group                                     P. Saint-Andre
Internet-Draft                                                       JSF
Expires: October 2, 2006                                  March 31, 2006

   Internationalized Resource Identifiers (IRIs) and Uniform Resource
 Identifiers (URIs) for the Extensible Messaging and Presence Protocol
                                 (XMPP)
                      draft-saintandre-xmpp-iri-04

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on October 2, 2006.

Copyright Notice

   Copyright (C) The Internet Society (2006).

Abstract

   This document defines the use of Internationalized Resource
   Identifiers (IRIs) and Uniform Resource Identifiers (URIs) in
   identifying or interacting with entities that can communicate via the
   Extensible Messaging and Presence Protocol (XMPP).

Saint-Andre              Expires October 2, 2006                [Page 1]
Internet-Draft               XMPP IRIs/URIs                   March 2006

Table of Contents"KBytes"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The size of this partition."
       ::= { hrPartitionEntry 4 }

   hrPartitionFSIndex OBJECT-TYPE

Waldbusser & Grillo         Standards Track                    [Page 22]
RFC 2790                   Host Resources MIB                 March 2000

       SYNTAX     Integer32 (0..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The index of the file system mounted on this
           partition.  If no file system is mounted on this
           partition, then this value shall be zero.  Note that
           multiple partitions may point to one file system,
           denoting that that file system resides on those
           partitions.  Multiple file systems may not reside on
           one partition."
       ::= { hrPartitionEntry 5 }

   -- The File System Table

   -- Registration point for popular File System types,
   -- for use with hrFSType. These are defined in the
   -- HOST-RESOURCES-TYPES module.
   hrFSTypes               OBJECT IDENTIFIER ::= { hrDevice 9 }

   hrFSTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF HrFSEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "The (conceptual) table of file systems local to this
           host or remotely mounted from a file server.  File
           systems that are in only one user's environment on a
           multi-user system will not be included in this table."
       ::= { hrDevice 8 }

   hrFSEntry OBJECT-TYPE
       SYNTAX     HrFSEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "A (conceptual) entry for one file system local to
           this host or remotely mounted from a file server.
           File systems that are in only one user's environment
           on a multi-user system will not be included in this
           table.

           As an example of how objects in this table are named,
           an instance of the hrFSMountPoint object might be
           named hrFSMountPoint.3"
       INDEX { hrFSIndex }
       ::= { hrFSTable 1 }

Waldbusser & Grillo         Standards Track                    [Page 23]
RFC 2790                   Host Resources MIB                 March 2000

   HrFSEntry ::= SEQUENCE {
           hrFSIndex                   Integer32,
           hrFSMountPoint              InternationalDisplayString,
           hrFSRemoteMountPoint        InternationalDisplayString,
           hrFSType                    AutonomousType,
           hrFSAccess                  INTEGER,
           hrFSBootable                TruthValue,
           hrFSStorageIndex            Integer32,
           hrFSLastFullBackupDate      DateAndTime,
           hrFSLastPartialBackupDate   DateAndTime
       }

   hrFSIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A unique value for each file system local to this
           host.  The value for each file system must remain
           constant at least from one re-initialization of the
           agent to the next re-initialization."
       ::= { hrFSEntry 1 }

   hrFSMountPoint OBJECT-TYPE
       SYNTAX     InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The path name of the root of this file system."
       ::= { hrFSEntry 2 }

   hrFSRemoteMountPoint OBJECT-TYPE
       SYNTAX     InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A description of the name and/or address of the
           server that this file system is mounted from.  This
           may also include parameters such as the mount point on
           the remote file system.  If this is not a remote file
           system, this string should have a length of zero."
       ::= { hrFSEntry 3 }

   hrFSType OBJECT-TYPE
       SYNTAX     AutonomousType
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION

Waldbusser & Grillo         Standards Track                    [Page 24]
RFC 2790                   Host Resources MIB                 March 2000

           "The value of this object identifies the type of this
           file system."
       ::= { hrFSEntry 4 }

   hrFSAccess OBJECT-TYPE
       SYNTAX     INTEGER {
                      readWrite(1),
                      readOnly(2)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "An indication if this file system is logically
           configured by the operating system to be readable and
           writable or only readable.  This does not represent
           any local access-control policy, except one that is
           applied to the file system as a whole."
       ::= { hrFSEntry 5 }

   hrFSBootable OBJECT-TYPE
       SYNTAX     TruthValue
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A flag indicating whether this file system is
           bootable."
       ::= { hrFSEntry 6 }

   hrFSStorageIndex OBJECT-TYPE
       SYNTAX     Integer32 (0..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The index of the hrStorageEntry that represents
           information about this file system.  If there is no
           such information available, then this value shall be
           zero.  The relevant storage entry will be useful in
           tracking the percent usage of this file system and
           diagnosing errors that may occur when it runs out of
           space."
       ::= { hrFSEntry 7 }

   hrFSLastFullBackupDate OBJECT-TYPE
       SYNTAX     DateAndTime
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
           "The last date at which this complete file system was

Waldbusser & Grillo         Standards Track                    [Page 25]
RFC 2790                   Host Resources MIB                 March 2000

           copied to another storage device for backup.  This
           information is useful for ensuring that backups are
           being performed regularly.

           If this information is not known, then this variable
           shall have the value corresponding to January 1, year
           0000, 00:00:00.0, which is encoded as
           (hex)'00 00 01 01 00 00 00 00'."
       ::= { hrFSEntry 8 }

   hrFSLastPartialBackupDate OBJECT-TYPE
       SYNTAX     DateAndTime
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
           "The last date at which a portion of this file system
           was copied to another storage device for backup.  This
           information is useful for ensuring that backups are
           being performed regularly.

           If this information is not known, then this variable
           shall have the value corresponding to January 1, year
           0000, 00:00:00.0, which is encoded as
           (hex)'00 00 01 01 00 00 00 00'."
       ::= { hrFSEntry 9 }

   -- The Host Resources Running Software Group
   --
   -- The hrSWRunTable contains an entry for each distinct piece of
   -- software that is running or loaded into physical or virtual
   -- memory in preparation for running.  This includes the host's
   -- operating system, device drivers, and applications.

   hrSWOSIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The value of the hrSWRunIndex for the hrSWRunEntry
           that represents the primary operating system running
           on this host.  This object is useful for quickly and
           uniquely identifying that primary operating system."
       ::= { hrSWRun 1 }

   hrSWRunTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF HrSWRunEntry
       MAX-ACCESS not-accessible
       STATUS     current

Waldbusser & Grillo         Standards Track                    [Page 26]
RFC 2790                   Host Resources MIB                 March 2000

       DESCRIPTION
           "The (conceptual) table of software running on the
           host."
       ::= { hrSWRun 2 }

   hrSWRunEntry OBJECT-TYPE
       SYNTAX     HrSWRunEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "A (conceptual) entry for one piece of software
           running on the host Note that because the installed
           software table only contains information for software
           stored locally on this host, not every piece of
           running software will be found in the installed
           software table.  This is true of software that was
           loaded and run from a non-local source, such as a
           network-mounted file system.

           As an example of how objects in this table are named,
           an instance of the hrSWRunName object might be named
           hrSWRunName.1287"
       INDEX { hrSWRunIndex }
       ::= { hrSWRunTable 1 }

   HrSWRunEntry ::= SEQUENCE {
           hrSWRunIndex       Integer32,
           hrSWRunName        InternationalDisplayString,
           hrSWRunID          ProductID,
           hrSWRunPath        InternationalDisplayString,
           hrSWRunParameters  InternationalDisplayString,
           hrSWRunType        INTEGER,
           hrSWRunStatus      INTEGER
       }

   hrSWRunIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A unique value for each piece of software running on
           the host.  Wherever possible, this should be the
           system's native, unique identification number."
       ::= { hrSWRunEntry 1 }

   hrSWRunName OBJECT-TYPE
       SYNTAX     InternationalDisplayString (SIZE (0..64))
       MAX-ACCESS read-only

Waldbusser & Grillo         Standards Track                    [Page 27]
RFC 2790                   Host Resources MIB                 March 2000

       STATUS     current
       DESCRIPTION
           "A textual description of this running piece of
           software, including the manufacturer, revision,  and
           the name by which it is commonly known.  If this
           software was installed locally, this should be the
           same string as used in the corresponding
           hrSWInstalledName."
       ::= { hrSWRunEntry 2 }

   hrSWRunID OBJECT-TYPE
       SYNTAX     ProductID
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The product ID of this running piece of software."
       ::= { hrSWRunEntry 3 }

   hrSWRunPath OBJECT-TYPE
       SYNTAX     InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A description of the location on long-term storage
           (e.g. a disk drive) from which this software was
           loaded."
       ::= { hrSWRunEntry 4 }

   hrSWRunParameters OBJECT-TYPE
       SYNTAX     InternationalDisplayString (SIZE(0..128))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A description of the parameters supplied to this
           software when it was initially loaded."
       ::= { hrSWRunEntry 5 }

   hrSWRunType OBJECT-TYPE
       SYNTAX     INTEGER {
                      unknown(1),
                      operatingSystem(2),
                      deviceDriver(3),
                      application(4)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The type of this software."

Waldbusser & Grillo         Standards Track                    [Page 28]
RFC 2790                   Host Resources MIB                 March 2000

       ::= { hrSWRunEntry 6 }

   hrSWRunStatus OBJECT-TYPE
       SYNTAX     INTEGER {
                      running(1),
                      runnable(2),    -- waiting for resource
                                      -- (i.e., CPU, memory, IO)
                      notRunnable(3), -- loaded but waiting for event
                      invalid(4)      -- not loaded
                  }
       MAX-ACCESS read-write
       STATUS     current
       DESCRIPTION
           "The status of this running piece of software.
           Setting this value to invalid(4) shall cause this
           software to stop running and to be unloaded. Sets to
           other values are not valid."
       ::= { hrSWRunEntry 7 }

   -- The Host Resources Running Software Performance Group
   --
   -- The hrSWRunPerfTable contains an entry corresponding to
   -- each entry in the hrSWRunTable.

   hrSWRunPerfTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF HrSWRunPerfEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "The (conceptual) table of running software
           performance metrics."
       ::= { hrSWRunPerf 1 }

   hrSWRunPerfEntry OBJECT-TYPE
       SYNTAX     HrSWRunPerfEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "A (conceptual) entry containing software performance
           metrics.  As an example, an instance of the
           hrSWRunPerfCPU object might be named
           hrSWRunPerfCPU.1287"
       AUGMENTS { hrSWRunEntry }  -- This table augments information in
                                  -- the hrSWRunTable.
       ::= { hrSWRunPerfTable 1 }

   HrSWRunPerfEntry ::= SEQUENCE {
           hrSWRunPerfCPU          Integer32,

Waldbusser & Grillo         Standards Track                    [Page 29]
RFC 2790                   Host Resources MIB                 March 2000

           hrSWRunPerfMem          KBytes
   }

   hrSWRunPerfCPU OBJECT-TYPE
       SYNTAX     Integer32 (0..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The number of centi-seconds of the total system's CPU
           resources consumed by this process.  Note that on a
           multi-processor system, this value may increment by
           more than one centi-second in one centi-second of real
           (wall clock) time."
       ::= { hrSWRunPerfEntry 1 }

   hrSWRunPerfMem OBJECT-TYPE
       SYNTAX     KBytes
       UNITS      "KBytes"
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The total amount of real system memory allocated to
           this process."
       ::= { hrSWRunPerfEntry 2 }

   -- The Host Resources Installed Software Group
   --
   -- The hrSWInstalledTable contains an entry for each piece
   -- of software installed in long-term storage (e.g. a disk
   -- drive) locally on this host.  Note that this does not
   -- include software loadable remotely from a network
   -- server.
   --
   -- Different implementations may track software in varying
   -- ways. For example, while some implementations may track
   -- executable files as distinct pieces of software, other
   -- implementations may use other strategies such as keeping
   -- track of software "packages" (e.g., related groups of files)
   -- or keeping track of system or application "patches".
   --
   -- This table is useful for identifying and inventorying
   -- software on a host and for diagnosing incompatibility
   -- and version mismatch problems between various pieces
   -- of hardware and software.

   hrSWInstalledLastChange OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only

Waldbusser & Grillo         Standards Track                    [Page 30]
RFC 2790                   Host Resources MIB                 March 2000

       STATUS     current
       DESCRIPTION
           "The value of sysUpTime when an entry in the
           hrSWInstalledTable was last added, renamed, or
           deleted.  Because this table is likely to contain many
           entries, polling of this object allows a management
           station to determine when re-downloading of the table
           might be useful."
       ::= { hrSWInstalled 1 }

   hrSWInstalledLastUpdateTime OBJECT-TYPE
       SYNTAX     TimeTicks
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The value of sysUpTime when the hrSWInstalledTable
           was last completely updated.  Because caching of this
           data will be a popular implementation strategy,
           retrieval of this object allows a management station
           to obtain a guarantee that no data in this table is
           older than the indicated time."
       ::= { hrSWInstalled 2 }

   hrSWInstalledTable OBJECT-TYPE
       SYNTAX     SEQUENCE OF HrSWInstalledEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "The (conceptual) table of software installed on this
           host."
       ::= { hrSWInstalled 3 }

   hrSWInstalledEntry OBJECT-TYPE
       SYNTAX     HrSWInstalledEntry
       MAX-ACCESS not-accessible
       STATUS     current
       DESCRIPTION
           "A (conceptual) entry for a piece of software
           installed on this host.

           As an example of how objects in this table are named,
           an instance of the hrSWInstalledName object might be
           named hrSWInstalledName.96"
       INDEX { hrSWInstalledIndex }
       ::= { hrSWInstalledTable 1 }

   HrSWInstalledEntry ::= SEQUENCE {
           hrSWInstalledIndex       Integer32,

Waldbusser & Grillo         Standards Track                    [Page 31]
RFC 2790                   Host Resources MIB                 March 2000

           hrSWInstalledName        InternationalDisplayString,
           hrSWInstalledID          ProductID,
           hrSWInstalledType        INTEGER,
           hrSWInstalledDate        DateAndTime
   }

   hrSWInstalledIndex OBJECT-TYPE
       SYNTAX     Integer32 (1..2147483647)
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A unique value for each piece of software installed
           on the host.  This value shall be in the range from 1
           to the number of pieces of software installed on the
           host."
       ::= { hrSWInstalledEntry 1 }

   hrSWInstalledName OBJECT-TYPE
       SYNTAX     InternationalDisplayString (SIZE (0..64))
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "A textual description of this installed piece of
           software, including the manufacturer, revision, the
           name by which it is commonly known, and optionally,
           its serial number."
       ::= { hrSWInstalledEntry 2 }

   hrSWInstalledID OBJECT-TYPE
       SYNTAX     ProductID
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The product ID of this installed piece of software."
       ::= { hrSWInstalledEntry 3 }

   hrSWInstalledType OBJECT-TYPE
       SYNTAX     INTEGER {
                      unknown(1),
                      operatingSystem(2),
                      deviceDriver(3),
                      application(4)
                  }
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The type of this software."
       ::= { hrSWInstalledEntry 4 }

Waldbusser & Grillo         Standards Track                    [Page 32]
RFC 2790                   Host Resources MIB                 March 2000

   hrSWInstalledDate OBJECT-TYPE
       SYNTAX     DateAndTime
       MAX-ACCESS read-only
       STATUS     current
       DESCRIPTION
           "The last-modification date of this application as it
           would appear in a directory listing.

           If this information is not known, then this variable
           shall have the value corresponding to January 1, year
           0000, 00:00:00.0, which is encoded as
           (hex)'00 00 01 01 00 00 00 00'."
       ::= { hrSWInstalledEntry 5 }

   -- Conformance information

   hrMIBCompliances OBJECT IDENTIFIER ::= { hrMIBAdminInfo 2 }
   hrMIBGroups      OBJECT IDENTIFIER ::= { hrMIBAdminInfo 3 }

   -- Compliance Statements
   hrMIBCompliance MODULE-COMPLIANCE
       STATUS current
       DESCRIPTION
           "The requirements for conformance to the Host Resources MIB."
       MODULE -- this module
         MANDATORY-GROUPS { hrSystemGroup, hrStorageGroup,
                            hrDeviceGroup }

         OBJECT hrSystemDate
             MIN-ACCESS read-only
             DESCRIPTION
                 "Write access is not required."

         OBJECT hrSystemInitialLoadDevice
             MIN-ACCESS read-only
             DESCRIPTION
                 "Write access is not required."

         OBJECT hrSystemInitialLoadParameters
             MIN-ACCESS read-only
             DESCRIPTION
                 "Write access is not required."

         OBJECT hrStorageSize
             MIN-ACCESS read-only
             DESCRIPTION
                 "Write access is not required."

Waldbusser & Grillo         Standards Track                    [Page 33]
RFC 2790                   Host Resources MIB                 March 2000

         OBJECT hrFSLastFullBackupDate
             MIN-ACCESS read-only
             DESCRIPTION
                 "Write access is not required."

         OBJECT hrFSLastPartialBackupDate
             MIN-ACCESS read-only
             DESCRIPTION
                 "Write access is not required."

         GROUP hrSWRunGroup
             DESCRIPTION
                 "The Running Software Group. Implementation
                 of this group is mandatory only when the
                 hrSWRunPerfGroup is implemented."

         OBJECT hrSWRunStatus
             MIN-ACCESS read-only
             DESCRIPTION
                 "Write access is not required."

         GROUP hrSWRunPerfGroup
             DESCRIPTION
                 "The Running Software Performance Group.
                 Implementation of this group is at the discretion
                 of the implementor."

         GROUP hrSWInstalledGroup
             DESCRIPTION
                 "The Installed Software Group.
                 Implementation of this group is at the discretion
                 of the implementor."

       ::= { hrMIBCompliances 1 }

       hrSystemGroup OBJECT-GROUP
           OBJECTS {
               hrSystemUptime, hrSystemDate,
               hrSystemInitialLoadDevice,
               hrSystemInitialLoadParameters,
               hrSystemNumUsers, hrSystemProcesses,
               hrSystemMaxProcesses
           }
           STATUS current
           DESCRIPTION
               "The Host Resources System Group."
           ::= { hrMIBGroups 1 }

Waldbusser & Grillo         Standards Track                    [Page 34]
RFC 2790                   Host Resources MIB                 March 2000

       hrStorageGroup OBJECT-GROUP
           OBJECTS {
               hrMemorySize, hrStorageIndex, hrStorageType,
               hrStorageDescr, hrStorageAllocationUnits,
               hrStorageSize, hrStorageUsed,
               hrStorageAllocationFailures
           }
           STATUS current
           DESCRIPTION
               "The Host Resources Storage Group.&

   1.   Introduction . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1  Terminology  . . . . . . . . . . . . . . . . . . . . . . .   3
   2.   Use of XMPP IRIs and URIs  . . . . . . . . . . . . . . . . .   3
     2.1  Rationale  . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.2  Form . . . . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.3  Authority Component  . . . . . . . . . . . . . . . . . . .   6
     2.4  Path Component . . . . . . . . . . . . . . . . . . . . . .   7
     2.5  Query Component  . . . . . . . . . . . . . . . . . . . . .   7
     2.6  Fragment Identifier Component  . . . . . . . . . . . . . .   8
     2.7  Generation of XMPP IRIs/URIs . . . . . . . . . . . . . . .   9
     2.8  Processing of XMPP IRIs/URIs . . . . . . . . . . . . . . .  11
     2.9  Internationalization . . . . . . . . . . . . . . . . . . .  14
   3.   IANA Registration of xmpp URI Scheme . . . . . . . . . . . .  14
     3.1  URI scheme name  . . . . . . . . . . . . . . . . . . . . .  14
     3.2  Status . . . . . . . . . . . . . . . . . . . . . . . . . .  14
     3.3  URI scheme syntax  . . . . . . . . . . . . . . . . . . . .  14
     3.4  URI scheme semantics . . . . . . . . . . . . . . . . . . .  15
     3.5  Encoding considerations  . . . . . . . . . . . . . . . . .  15
     3.6  Applications/protocols that use this URI scheme name . . .  16
     3.7  Interoperability considerations  . . . . . . . . . . . . .  16
     3.8  Security considerations  . . . . . . . . . . . . . . . . .  16
     3.9  Contact  . . . . . . . . . . . . . . . . . . . . . . . . .  16
     3.10   Author/change controller . . . . . . . . . . . . . . . .  16
     3.11   References . . . . . . . . . . . . . . . . . . . . . . .  16
   4.   IANA Considerations  . . . . . . . . . . . . . . . . . . . .  16
   5.   Security Considerations  . . . . . . . . . . . . . . . . . .  16
     5.1  Reliability and Consistency  . . . . . . . . . . . . . . .  17
     5.2  Malicious Construction . . . . . . . . . . . . . . . . . .  17
     5.3  Back-End Transcoding . . . . . . . . . . . . . . . . . . .  18
     5.4  Sensitive Information  . . . . . . . . . . . . . . . . . .  18
     5.5  Semantic Attacks . . . . . . . . . . . . . . . . . . . . .  18
     5.6  Spoofing . . . . . . . . . . . . . . . . . . . . . . . . .  19
   6.   References . . . . . . . . . . . . . . . . . . . . . . . . .  19
     6.1  Normative References . . . . . . . . . . . . . . . . . . .  19
     6.2  Informative References . . . . . . . . . . . . . . . . . .  19
        Author's Address . . . . . . . . . . . . . . . . . . . . . .  22
        Intellectual Property and Copyright Statements . . . . . . .  23

Saint-Andre              Expires October 2, 2006                [Page 2]
Internet-Draft               XMPP IRIs/URIs                   March 2006

1.  Introduction

   The Extensible Messaging and Presence Protocol (XMPP) is a streaming
   XML technology that enables any two entities on a network to exchange
   well-defined but extensible XML elements (called "XML stanzas") in
   close to real time.

   As specified in [XMPP-CORE], entity addresses as used in
   communications over an XMPP network must not be prepended with a
   Uniform Resource Identifier (URI) scheme (as specified in [URI]).
   However, applications external to an XMPP network may need to
   identify XMPP entities either as URIs or, in a more modern fashion,
   as Internationalized Resource Identifiers (IRIs; see [IRI]).
   Examples of such external applications include databases that need to
   store XMPP addresses and non-native user agents such as web browsers
   and calendaring applications that provide interfaces to XMPP
   services.

   The format for an XMPP address is defined in [XMPP-CORE].  Such an
   address may contain nearly any [UNICODE] character and must adhere to
   various profiles of [STRINGPREP].  The result is that an XMPP address
   is fully internationalizable and is very close to being an IRI
   without a scheme.  However, given that there is no freestanding
   registry of IRI schemes, it is necessary to define XMPP identifiers
   primarily as URIs rather than as IRIs, and to register an xmpp URI
   scheme rather than an IRI scheme.  Therefore this document does the
   following:

   o  Specifies how to identify XMPP entities as IRIs or URIs.
   o  Specifies how to interact with XMPP entities as IRIs or URIs.
   o  Formally defines the syntax for XMPP IRIs and URIs.
   o  Specifies how to transform XMPP IRIs into URIs and vice-versa.
   o  Registers the xmpp URI scheme.

1.1  Terminology

   This document inherits terminology from [IRI], [URI], and [XMPP-
   CORE].

   The capitalized 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 RFC
   2119 [TERMS].

2.  Use of XMPP IRIs and URIs

Saint-Andre              Expires October 2, 2006                [Page 3]
Internet-Draft               XMPP IRIs/URIs                   March 2006

2.1  Rationale

   As described in [XMPP-IM], instant messaging and presence
   applications of XMPP must handle im: and pres: URIs (as specified by
   [CPIM] and [CPP]).  However, there are many other applications of
   XMPP (including network management, workflow systems, generic
   publish-subscribe, remote procedure calls, content syndication,
   gaming, and middleware), and these applications do not implement
   instant messaging and presence semantics.  Neither does a generic
   XMPP entity implement the semantics of any existing URI scheme, such
   as the http:, ftp:, or mailto: scheme.  Therefore, it is appropriate
   to define a new URI scheme that makes it possible to identify or
   interact with any XMPP entity (not just instant messaging and
   presence entities) as an IRI or URI.

   XMPP IRIs and URIs are defined for use by non-native interfaces and
   applications, and primarily for the purpose of identification rather
   than interaction (on the latter distinction, see Section 1.2.2 of
   [URI]).  In order to ensure interoperability on XMPP networks, when
   data is routed to an XMPP entity (e.g., when an XMPP address is
   contained in the 'to' or 'from' attribute of an XML stanza) or an
   XMPP entity is otherwise identified in standard XMPP protocol
   elements, the entity MUST be addressed as <[node@]domain[/resource]>
   (i.e., without a prepended scheme), where the "node identifier",
   "domain identifier", and "resource identifier" portions of an XMPP
   address conform to the definitions provided in Section 3 of [XMPP-
   CORE].

   (Note: For historical reasons, the term "resource identifier" is used
   in XMPP to refer to the optional portion of an XMPP address that
   follows the domain identifier and the "/" separator character (for
   details, refer to Section 3.4 of [XMPP-CORE]); this use of the term
   "resource identifier" is not to be confused with the meanings of
   "resource" and "identifier" provided in Section 1.1 of [URI].)

2.2  Form

   As described in [XMPP-CORE], an XMPP address used natively on an XMPP
   network is a string of Unicode characters that (1) conforms to a
   certain set of [STRINGPREP] profiles and [IDNA] restrictions, (2)
   follows a certain set of syntax rules, and (3) is encoded as [UTF-8].
   The form of such an address can be represented using Augmented
   Backus-Naur Form ([ABNF]) as:

      [ node "@" ] domain [ "/" resource ]

   In this context, the "node" and "resource" rules rely on distinct
   profiles of [STRINGPREP] and the "domain" rule relies on the concept

Saint-Andre              Expires October 2, 2006                [Page 4]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   of an internationalized domain name as described in [IDNA].  (Note:
   there is no need to refer to punycode in the IRI syntax itself, since
   any punycode representation would occur only inside an XMPP
   application in order to represent internationalized domain names;
   however, it is the responsibility of the processing application to
   convert [IRI] syntax into [IDNA] syntax before addressing XML stanzas
   to the specified entity on an XMPP network).

   Naturally, in order to be converted into an IRI or URI, an XMPP
   address must be prepended with a scheme (specifically the xmpp
   scheme) and may also need to undergo transformations that adhere to
   the rules defined in [IRI] and [URI].  Furthermore, in order to
   enable more advanced interaction with an XMPP entity rather than
   simple identification, it is desirable to take advantage of
   additional aspects of URI syntax and semantics, such as authority
   components, query components, and fragment identifier components.

   Therefore, the ABNF syntax for an XMPP IRI is defined as shown below
   using Augmented Backus-Naur Form as specified by [ABNF], where the
   "ifragment", "ihost", and "iunreserved" rules are defined in [IRI],
   the "pct-encoded" rule is defined in [URI], and DQUOTE is defined in
   [ABNF]:

     xmppiri    = "xmpp" ":" ihierxmpp
                  [ "?" iquerycomp ]
                  [ "#" ifragment ]
     ihierxmpp  = iauthpath / ipathxmpp
     iauthpath  = "//" iauthxmpp [ "/" ipathxmpp ]
     iauthxmpp  = inodeid "@" ihost
     ipathxmpp  = [ inodeid "@" ] ihost [ "/" iresid ]
     inodeid    = *( iunreserved / pct-encoded / nodeallow )
     nodeallow  = "!" / "$" / "(" / ")" / "*" / "+" / "," / ";" /
                  "=" / "[" / "\" / "]" / "^" / "`" / "{" / "|" /
                  "}"
     iresid     = *( iunreserved / pct-encoded / resallow )
     resallow   = "!" / DQUOTE / "$" / "(" / ")" / "*" / "+" /
                  "," / ":" / ";" / "<" / "=" / ">" / "[" /
                  "\" / "]" / "^" / "`" / "{" / "|" / "}"
     iquerycomp = iquerytype [ *ipair ]
     iquerytype = *iunreserved
     ipair      = ";" ikey "=" ivalue
     ikey       = *iunreserved
     ivalue     = *( iunreserved / pct-encoded )

   However, the foregoing syntax is not appropriate for inclusion in the
   registration of the xmpp URI scheme, since the IANA recognizes only
   URI schemes rather than IRI schemes.  Therefore, the ABNF syntax for
   an XMPP URI rather than IRI is defined as shown in Section 3.3

Saint-Andre              Expires October 2, 2006                [Page 5]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   section of this document (see below under "IANA Registration").  If
   it is necessary to convert the IRI syntax into URI syntax, an
   application MUST adhere to the mapping procedure specified in Section
   3.1 of [IRI].

   The following is an example of a basic XMPP IRI/URI used for purposes
   of identifying a node associated with an XMPP server:

      xmpp:node@example.com

   Descriptions of the various components of an XMPP IRI/URI are
   provided in the following sections.

2.3  Authority Component

   As explained in Section 2.8 of this document, in the absence of an
   authority component the processing application would authenticate as
   a configured user at a configured XMPP server.  That is, the
   authority component section is unnecessary and should be ignored if
   the processing application has been configured with a set of default
   credentials.

   In accordance with Section 3.2 of RFC 3986, the authority component
   is preceded by a double slash ("//") and is terminated by the next
   slash ("/"), question mark ("?"), or number sign ("#") character, or
   by the end of the IRI/URI.  As explained more fully in Section 2.8.1
   of this document, the presence of an authority component signals the
   processing application to authenticate as the node@domain specified
   in the authority component rather than as a configured node@domain
   (see the Security Considerations section of this document regarding
   authentication).  (While it is unlikely that the authority component
   will be included in most XMPP IRIs or URIs, the scheme allows for its
   inclusion if appropriate.)  Thus, the following XMPP IRI/URI
   indicates to authenticate as "guest@example.com":

      xmpp://guest@example.com

   Note well that this is quite different from the following XMPP IRI/
   URI, which identifies a node "guest@example.com" but does not signal
   the processing application to authenticate as that node:

      xmpp:guest@example.com

   Similarly, using a possible query component of "?message" to trigger
   an interface for sending a message, the following XMPP IRI/URI
   signals the processing application to authenticate as
   "guest@example.com" and send a message to "support@example.com":

Saint-Andre              Expires October 2, 2006                [Page 6]
Internet-Draft               XMPP IRIs/URIs                   March 2006

      xmpp://guest@example.com/support@example.com?message

   By contrast, the following XMPP IRI/URI signals the processing
   application to authenticate as its configured default account and
   send a message to "support@example.com":

      xmpp:support@example.com?message

2.4  Path Component

   The path component of an XMPP IRI/URI identifies an XMPP address or
   specifies the XMPP address to which an XML stanza shall be directed
   at the end of IRI/URI processing.

   For example, the following XMPP IRI/URI identifies a node associated
   with an XMPP server:

      xmpp:example-node@example.com

   The following XMPP IRI/URI identifies a node associated with an XMPP
   server along with a particular XMPP resource identifier associated
   with that node:

      xmpp:example-node@example.com/some-resource

   Inclusion of a node is optional in XMPP addresses, so that the
   following XMPP IRI/URI simply identifies an XMPP server:

      xmpp:example.com

2.5  Query Component

   There are many potential use cases for encapsulating information in
   the query component of an XMPP IRI/URI; examples include but are not
   limited to:

   o  Sending an XMPP message stanza (see [XMPP-IM]).
   o  Adding a roster item (see [XMPP-IM]).
   o  Sending a presence subscription (see [XMPP-IM]).
   o  Probing for current presence information (see [XMPP-IM]).
   o  Triggering a remote procedure call (see [JEP-0009]).
   o  Discovering the identity or capabilities of another entity (see
      [JEP-0030]).
   o  Joining an XMPP-based text chat room (see [JEP-0045]).

Saint-Andre              Expires October 2, 2006                [Page 7]
Internet-Draft               XMPP IRIs/URIs                   March 2006quot;
           ::= { hrMIBGroups 2 }

       hrDeviceGroup OBJECT-GROUP
           OBJECTS {
               hrDeviceIndex, hrDeviceType, hrDeviceDescr,
               hrDeviceID, hrDeviceStatus, hrDeviceErrors,
               hrProcessorFrwID, hrProcessorLoad,
               hrNetworkIfIndex, hrPrinterStatus,
               hrPrinterDetectedErrorState,
               hrDiskStorageAccess, hrDiskStorageMedia,
               hrDiskStorageRemoveble, hrDiskStorageCapacity,
               hrPartitionIndex, hrPartitionLabel,
               hrPartitionID, hrPartitionSize,
               hrPartitionFSIndex, hrFSIndex, hrFSMountPoint,
               hrFSRemoteMountPoint, hrFSType, hrFSAccess,
               hrFSBootable, hrFSStorageIndex,
               hrFSLastFullBackupDate,
               hrFSLastPartialBackupDate
           }
           STATUS current
           DESCRIPTION
               "The Host Resources Device Group."
           ::= { hrMIBGroups 3 }

       hrSWRunGroup OBJECT-GROUP
           OBJECTS {
               hrSWOSIndex, hrSWRunIndex, hrSWRunName,
               hrSWRunID, hrSWRunPath, hrSWRunParameters,
               hrSWRunType, hrSWRunStatus
           }
           STATUS current
           DESCRIPTION
               "The Host Resources Running Software Group."
           ::= { hrMIBGroups 4 }

       hrSWRunPerfGroup OBJECT-GROUP
           OBJECTS { hrSWRunPerfCPU, hrSWRunPerfMem }
           STATUS current

Waldbusser & Grillo         Standards Track                    [Page 35]
RFC 2790                   Host Resources MIB                 March 2000

           DESCRIPTION
               "The Host Resources Running Software
               Performance Group."
           ::= { hrMIBGroups 5 }

       hrSWInstalledGroup OBJECT-GROUP
           OBJECTS {
               hrSWInstalledLastChange,
               hrSWInstalledLastUpdateTime,
               hrSWInstalledIndex, hrSWInstalledName,
               hrSWInstalledID, hrSWInstalledType,
               hrSWInstalledDate
           }
           STATUS current
           DESCRIPTION
               "The Host Resources Installed Software Group."
           ::= { hrMIBGroups 6 }

   END

5.  Type Definitions

   HOST-RESOURCES-TYPES DEFINITIONS ::= BEGIN

   IMPORTS
     MODULE-IDENTITY, OBJECT-IDENTITY        FROM SNMPv2-SMI
     hrMIBAdminInfo, hrStorage, hrDevice     FROM HOST-RESOURCES-MIB;

   hostResourcesTypesModule MODULE-IDENTITY
     LAST-UPDATED "200003060000Z"    -- 6 March, 2000
     ORGANIZATION "IETF Host Resources MIB Working Group"
     CONTACT-INFO
         "Steve Waldbusser
         Postal: Lucent Technologies, Inc.
                 1213 Innsbruck Dr.
                 Sunnyvale, CA 94089
                 USA
         Phone: 650-318-1251
         Fax:   650-318-1633
         Email: waldbusser@ins.com

         In addition, the Host Resources MIB mailing list is dedicated
         to discussion of this MIB. To join the mailing list, send a
         request message to hostmib-request@andrew.cmu.edu. The mailing
         list address is hostmib@andrew.cmu.edu."
     DESCRIPTION
         "This MIB module registers type definitions for
         storage types, device types, and file system types.

Waldbusser & Grillo         Standards Track                    [Page 36]
RFC 2790                   Host Resources MIB                 March 2000

         After the initial revision, this module will be
         maintained by IANA."
     REVISION "200003060000Z"    -- 6 March 2000
     DESCRIPTION
         "The original version of this module, published as RFC
         2790."
     ::= { hrMIBAdminInfo 4 }

   -- Registrations for some storage types, for use with hrStorageType
   hrStorageTypes          OBJECT IDENTIFIER ::= { hrStorage 1 }

   hrStorageOther OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used when no other defined
           type is appropriate."
       ::= { hrStorageTypes 1 }

   hrStorageRam OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for RAM."
       ::= { hrStorageTypes 2 }

   hrStorageVirtualMemory OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for virtual memory,
           temporary storage of swapped or paged memory."
       ::= { hrStorageTypes 3 }

   hrStorageFixedDisk OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for non-removable
           rigid rotating magnetic storage devices."
       ::= { hrStorageTypes 4 }

   hrStorageRemovableDisk OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for removable rigid
           rotating magnetic storage devices."
       ::= { hrStorageTypes 5 }

   hrStorageFloppyDisk OBJECT-IDENTITY
       STATUS current
       DESCRIPTION

Waldbusser & Grillo         Standards Track                    [Page 37]
RFC 2790                   Host Resources MIB                 March 2000

           "The storage type identifier used for non-rigid rotating
           magnetic storage devices."
       ::= { hrStorageTypes 6 }

   hrStorageCompactDisc OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for read-only rotating
           optical storage devices."
       ::= { hrStorageTypes 7 }

   hrStorageRamDisk OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for a file system that
           is stored in RAM."
       ::= { hrStorageTypes 8 }

   hrStorageFlashMemory OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for flash memory."
       ::= { hrStorageTypes 9 }

   hrStorageNetworkDisk OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The storage type identifier used for a
           networked file system."
       ::= { hrStorageTypes 10 }

   -- Registrations for some device types, for use with hrDeviceType
   hrDeviceTypes             OBJECT IDENTIFIER ::= { hrDevice 1 }

   hrDeviceOther OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used when no other defined
           type is appropriate."
       ::= { hrDeviceTypes 1 }

   hrDeviceUnknown OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used when the device type is
           unknown."
       ::= { hrDeviceTypes 2 }

Waldbusser & Grillo         Standards Track                    [Page 38]
RFC 2790                   Host Resources MIB                 March 2000

   hrDeviceProcessor OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a CPU."
       ::= { hrDeviceTypes 3 }

   hrDeviceNetwork OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a network interface."
       ::= { hrDeviceTypes 4 }

   hrDevicePrinter OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a printer."
       ::= { hrDeviceTypes 5 }

   hrDeviceDiskStorage OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a disk drive."
       ::= { hrDeviceTypes 6 }

   hrDeviceVideo OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a video device."
       ::= { hrDeviceTypes 10 }

   hrDeviceAudio OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for an audio device."
       ::= { hrDeviceTypes 11 }

   hrDeviceCoprocessor OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a co-processor."
       ::= { hrDeviceTypes 12 }

   hrDeviceKeyboard OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a keyboard device."
       ::= { hrDeviceTypes 13 }

Waldbusser & Grillo         Standards Track                    [Page 39]
RFC 2790                   Host Resources MIB                 March 2000

   hrDeviceModem OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a modem."
       ::= { hrDeviceTypes 14 }

   hrDeviceParallelPort OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a parallel port."
       ::= { hrDeviceTypes 15 }

   hrDevicePointing OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a pointing device
           (e.g., a mouse)."
       ::= { hrDeviceTypes 16 }

   hrDeviceSerialPort OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a serial port."
       ::= { hrDeviceTypes 17 }

   hrDeviceTape OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a tape storage device."
       ::= { hrDeviceTypes 18 }

   hrDeviceClock OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a clock device."
       ::= { hrDeviceTypes 19 }

   hrDeviceVolatileMemory OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a volatile memory
           storage device."
       ::= { hrDeviceTypes 20 }

   hrDeviceNonVolatileMemory OBJECT-IDENTITY
       STATUS current
       DESCRIPTION
           "The device type identifier used for a non-volatile memory

Waldbusser & Grillo         Standards Track                    [Page 40]
RFC 2790                   Host Resources MIB                 March 2000

           storage device."
       ::= { hrDeviceTypes 21 }

   -- Registrations for some popular File System types,
   -- for use with hrFSType.
   hrFSTypes               OBJECT IDENTIFIER ::= { hrDevice 9 }

   hrFSOther OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used when no other
           defined type is appropriate."
       ::= { hrFSTypes 1 }

   hrFSUnknown OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used when the type of
           file system is unknown."
       ::= { hrFSTypes 2 }

   hrFSBerkeleyFFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Berkeley Fast File System."
       ::= { hrFSTypes 3 }

   hrFSSys5FS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           System V File System."
       ::= { hrFSTypes 4 }

   hrFSFat OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for
           DOS's FAT file system."
       ::= { hrFSTypes 5 }

   hrFSHPFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for OS/2's
           High Performance File System."
       ::= { hrFSTypes 6 }

Waldbusser & Grillo         Standards Track                    [Page 41]
RFC 2790                   Host Resources MIB                 March 2000

   hrFSHFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Macintosh Hierarchical File System."
       ::= { hrFSTypes 7 }

   hrFSMFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Macintosh File System."
       ::= { hrFSTypes 8 }

   hrFSNTFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Windows NT File System."
       ::= { hrFSTypes 9 }

   hrFSVNode OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           VNode File System."
       ::= { hrFSTypes 10 }

   hrFSJournaled OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Journaled File System."
       ::= { hrFSTypes 11 }

   hrFSiso9660 OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           ISO 9660 File System for CD's."
       ::= { hrFSTypes 12 }

   hrFSRockRidge OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           RockRidge File System for CD's."
       ::= { hrFSTypes 13 }

Waldbusser & Grillo         Standards Track                    [Page 42]
RFC 2790                   Host Resources MIB                 March 2000

   hrFSNFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           NFS File System."
       ::= { hrFSTypes 14 }

   hrFSNetware OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Netware File System."
       ::= { hrFSTypes 15 }

   hrFSAFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Andrew File System."
       ::= { hrFSTypes 16 }

   hrFSDFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           OSF DCE Distributed File System."
       ::= { hrFSTypes 17 }

   hrFSAppleshare OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           AppleShare File System."
       ::= { hrFSTypes 18 }

   hrFSRFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           RFS File System."
       ::= { hrFSTypes 19 }

   hrFSDGCFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Data General DGCFS."
       ::= { hrFSTypes 20 }

Waldbusser & Grillo         Standards Track                    [Page 43]
RFC 2790                   Host Resources MIB                 March 2000

   hrFSBFS OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           SVR4 Boot File System."
       ::= { hrFSTypes 21 }

   hrFSFAT32 OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Windows FAT32 File System."
       ::= { hrFSTypes 22 }

   hrFSLinuxExt2 OBJECT-IDENTITY
       STATUS  current
       DESCRIPTION
           "The file system type identifier used for the
           Linux EXT2 File System."
       ::= { hrFSTypes 23 }

   END

6.  Internationalization Considerations

   This MIB has many objects that identify file-system pathnames on the
   managed host. Many file systems allow pathnames to be encoded in a
   variety of character sets (other than ASCII), but do not support the
   encoding of the actual character set used with the pathname. The
   implementation strategy is that user interfaces (i.e. character-based
   shells or graphical applications) will have configuration options
   that control with which character set they will interpret and display
   all pathnames. This is often a per-user configuration (e.g. an
   environment variable), so that users using different languages and
   character sets on a multi-user system may each work effectively with
   their preferred character set. A human usually controls this
   configuration. If an application is not configured or is configured
   incorrectly, it will often have trouble displaying pathnames in the
   intended character set.

   This situation made it important for this MIB to handle two issues:

   1) Pathname objects must be able to transfer a variety of character
      sets with potentially multi-byte encodings; and,

Waldbusser & Grillo         Standards Track                    [Page 44]
RFC 2790                   Host Resources MIB                 March 2000

   2) HostMIB agents will generally not be correctly configured for the
      appropriate character set to be used for all files on the system,
      particularly on a system with multiple users using different
      character sets. It was thus impossible to mandate that the agent
      tag pathnames with the character set in use.

   These issues were solved with the introduction of the
   InternationalDisplayString textual convention, which supports multi-
   byte encodings. Network management stations should use a local
   algorithm to determine which character set is in use and how it
   should be displayed. It is expected that network management station
   applications will rely on human configuration to choose which
   character set in which to interpret InternationalDisplayString
   objects, much like an application running locally on that host.

7.  Security Considerations

   There are a number of management objects defined in this MIB that
   have a MAX-ACCESS clause of read-write.  Such objects may be
   considered sensitive or vulnerable in some network environments.  The
   support for SET operations in a non-secure environment without proper
   protection can have a negative effect on system operations.

   There are a number of managed objects in this MIB that may contain
   sensitive information. The objects in the Running Software Group list
   information about running software on the system (including the
   operating system software and version).  Some may wish not to
   disclose to others what software they are running. Further, an
   inventory of the running software and versions may be helpful to an
   attacker who hopes to exploit software bugs in certain applications.
   The same issues exist for the objects in the Installed Software
   Group.

   It is thus important to control even GET access to these objects and
   possibly to even encrypt the values of these object when sending them
   over the network via SNMP.  Not all versions of SNMP provide features
   for such a secure environment.

   SNMPv1 by itself is not a secure environment.  Even if the network
   itself is secure (for example by using IPSec), even then, there is no
   control as to who on the secure network is allowed to access and
   GET/SET (read/change/create/delete) the objects in this MIB.

   It is recommended that the implementers consider the security
   features as provided by the SNMPv3 framework.  Specifically, the use
   of the User-based Security Model RFC 2574 [RFC2574] and the View-
   based Access Control Model RFC 2575 [RFC2575] is recommended.

Waldbusser & Grillo         Standards Track                    [Page 45]
RFC 2790                   Host Resources MIB                 March 2000

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to the objects only to those principals
   (users) that have legitimate rights to indeed GET or SET
   (change/create/delete) them.

8.  References

   [RFC2571]   Harrington, D., Presuhn, R. and B. Wijnen, "An
               Architecture for Describing SNMP Management Frameworks",
               RFC 2571, April 1999.

   [RFC1155]   Rose, M. and K. McCloghrie, "Structure and Identification
               of Management Information for TCP/IP-based Internets",
               STD 16, RFC 1155, May 1990.

   [RFC1212]   Rose, M. and K. McCloghrie, "Concise MIB Definitions",
               STD 16, RFC 1212, March 1991.

   [RFC1215]   Rose, M., "A Convention for Defining Traps for use with
               the SNMP&

   o  Interacting with publish-subscribe channels (see [JEP-0060]).
   o  Providing a SOAP interface (see [JEP-0072]).
   o  Registering with another entity (see [JEP-0077]).

   Many of these potential use cases are application-specific, and the
   full range of such applications cannot be foreseen in advance given
   the continued expansion in XMPP development; however, there is
   agreement within the Jabber/XMPP developer community that all of the
   uses envisioned to date can be encapsulated via a "query type",
   optionally supplemented by one or more "key-value" pairs (this is
   similar to the "application/x-www-form-urlencoded" MIME type
   described in [HTML]).

   As an example, an XMPP IRI/URI intended to launch an interface for
   sending a message to the XMPP entity "example-node@example.com" might
   be represented as follows:

      xmpp:example-node@example.com?message

   Similarly, an XMPP IRI/URI intended to launch an interface for
   sending a message to the XMPP entity "example-node@example.com" with
   a particular subject might be represented as follows:

      xmpp:example-node@example.com?message;subject=Hello%20World

   If the processing application does not understand query components or
   the specified query type, it MUST ignore the query component and
   treat the IRI/URI as consisting of, for example,
   <xmpp:example-node@example.com> rather than
   <xmpp:example-node@example.com?query>.  If the processing application
   does not understand a particular key within the query component, it
   MUST ignore that key and its associated value.

   As noted, there exist many kinds of XMPP applications (both actual
   and potential), and such applications may define query types and keys
   for use in the query component portion of XMPP URIs.  The Jabber
   Registrar function (see [JEP-0053]) of the Jabber Software Foundation
   maintains a registry of such query types and keys at
   <http://www.jabber.org/registrar/querytypes.html>.  To help ensure
   interoperability, any application using the formats defined in this
   document SHOULD submit any associated query types and keys to that
   registry in accordance with the procedures specified in [JEP-0147].

2.6  Fragment Identifier Component

   As stated in Section 3.5 of [URI], "The fragment identifier component
   of a URI allows indirect identification of a secondary resource by
   reference to a primary resource and additional identifying

Saint-Andre              Expires October 2, 2006                [Page 8]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   information."  Because the resource identified by an XMPP IRI/URI
   does not make available any media type (see [MIME]) and therefore (in
   the terminology of [URI]) no representation exists at an XMPP
   resource, the semantics of the fragment identifier component in XMPP
   IRIs/URIs are to be "considered unknown and, effectively,
   unconstrained" (ibid.).  Particular XMPP applications MAY make use of
   the fragment identifier component for their own purposes.  However,
   if a processing application does not understand fragment identifier
   components or the syntax of a particular fragment identifier
   component included in an XMPP IRI/URI, it MUST ignore the fragment
   identifier component.

2.7  Generation of XMPP IRIs/URIs

2.7.1  Generation Method

   In order to form an XMPP IRI from an XMPP node identifier, domain
   identifier, and resource identifier, the generating application MUST
   first ensure that the XMPP address conforms to the rules specified in
   [XMPP-CORE], including application of the relevant [STRINGPREP]; it
   MUST then concatenate:

   1.  the "xmpp" scheme and the ":" character
   2.  optionally (if an authority component is to be included before
       the node identifier), the characters "//", an authority component
       of the form node@domain, and the character "/"
   3.  optionally (if the XMPP address contained an XMPP "node
       identifier"), a string of Unicode characters that conforms to the
       "inodeid" rule, followed by the "@" character
   4.  a string of Unicode characters that conforms to the "ihost" rule
   5.  optionally (if the XMPP address contained an XMPP "resource
       identifier"), the character "/" and a string of Unicode
       characters that conforms to the "iresid" rule
   6.  optionally (if a query component is to be included), the "?"
       character and query component
   7.  optionally (if a fragment identifier component is to be
       included), the "#" character and fragment identifier component

   In order to form an XMPP URI from the resulting IRI, an application
   MUST adhere to the mapping procedure specified in Section 3.1 of
   [IRI].

2.7.2  Generation Notes

   Certain characters are allowed in the node identifier, domain
   identifier, and resource identifier portions of a native XMPP address
   but prohibited by the "inodeid", "ihost", and "iresid" rules of an
   XMPP IRI.  Specifically, the "#" and "?" characters are allowed in

Saint-Andre              Expires October 2, 2006                [Page 9]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   node identifiers and the "/", "?", "#", and "@" characters are
   allowed in resource identifiers, but these characters are used as
   delimiters in XMPP IRIs; in addition, the " " (US-ASCII space)
   character is allowed in resource identifiers but prohibited in IRIs.
   Therefore, all of the foregoing characters MUST be percent-encoded
   when transforming an XMPP address into an XMPP IRI.

   Consider the following nasty node in an XMPP address:

      nasty!#$%()*+,-.;=?[\]^_`{|}~node@example.com

   That address would be transformed into the following XMPP IRI:

      xmpp:nasty!%23$%25()*+,-.;=%3F[\]^_`{|}~node@example.com

   Consider the following repulsive resource in an XMPP address (split
   into two lines for layout purposes):

      node@example.com
      /repulsive !#"$%&'()*+,-./:;<=>?@[\]^_`{|}~resource

   That address would be transformed into the following XMPP IRI (split
   into two lines for layout purposes):

      xmpp:node@example.com
      /repulsive%20!%23"$%25&'()*+,-.%2F:;<=>%3F%40[\]^_`{|}~resource

   Furthermore, virtually any non-US-ASCII character is allowed in an
   XMPP address and therefore also in an XMPP IRI, but URI syntax
   forbids such characters directly and specifies that such characters
   MUST be percent-encoded.  In order to determine the URI associated
   with an XMPP IRI, an application MUST adhere to the mapping procedure
   specified in Section 3.1 of [IRI].

2.7.3  Generation Example

   Consider the following XMPP address:

         <ji&#x159;i@&#x10D;echy.example/v Praze>

   (Note: The string "&#x159;" stands for the Unicode character LATIN
   SMALL LETTER R WITH CARON and the string "&#x10D;" stands for the
   Unicode character LATIN SMALL LETTER C WITH CARON, following the "XML
   Notation" used in [IRI] to represent characters that cannot be
   rendered in ASCII-only documents (note also that these characters are
   represented in their stringprep canonical form).  The '<' and '>'
   characters are not part of the address itself, but are provided to
   set off the address for legibility.  For those who do not read Czech,

Saint-Andre              Expires October 2, 2006               [Page 10]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   this example could be Anglicized as "george@czech-lands.example/In
   Prague".)

   In accordance with the process specified above, the generating
   application would do the following to generate a valid XMPP IRI from
   this address:

   1.  Ensure that the XMPP address conforms to the rules specified in
       [XMPP-CORE], including application of the relevant [STRINGPREP]
       profiles and encoding as a [UTF-8] string.
   2.  Concatenate the following:
       1.  the "xmpp" scheme and the ":" character
       2.  an "authority component" if included (not shown in this
           example)
       3.  a string of Unicode characters that represents the XMPP
           address, transformed in accordance with the "inodeid",
           "ihost", and "iresid" rules
       4.  the "?" character followed by a "query component" if
           appropriate to the application (not shown in this example)
       5.  the "#" character followed by a "fragment identifier
           component" if appropriate to the application (not shown in
           this example)

   The result is this XMPP IRI:

       <xmpp:ji&#x159;i@&#x10D;echy.example/v%20Praze>

   In order to generate a valid XMPP URI from the foregoing IRI, the
   application MUST adhere to the procedure specified in Section 3.1 of
   [IRI], resulting in the following URI:

       <xmpp:ji%C5%99i@%C4%8Dechy.example/v%20Praze>

2.8  Processing of XMPP IRIs/URIs

2.8.1  Processing Method

   If a processing application is presented with an XMPP URI rather than
   an XMPP IRI, it MUST first convert the URI into an IRI by following
   the procedure specified in Section 3.2 of [IRI].

   In order to decompose an XMPP IRI for interaction with the entity it
   identifies, a processing application MUST separate:

   1.  the "xmpp" scheme and the ":" character

Saint-Andre              Expires October 2, 2006               [Page 11]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   2.  the authority component if included (the string of Unicode
       characters between the "//" characters and the next "/"
       character, the "?" character, the "#" character, or the end of
       the IRI)
   3.  a string of Unicode characters that represents an XMPP address as
       transformed in accordance with the "inodeid", "ihost", and
       "iresid" rules
   4.  optionally the query component if included, using the "?"
       character as a separator
   5.  optionally the fragment identifier component if included, using
       the "#" character as a separator

   At this point, the processing application MUST ensure that the
   resulting XMPP address conforms to the rules specified in [XMPP-
   CORE], including application of the relevant [STRINGPREP].  The
   processing application then would either (1) complete further XMPP
   handling itself or (2) invoke a helper application to complete XMPP
   handling; such XMPP handling would most likely consist of the
   following steps:

   1.  If not already connected to an XMPP server, connecting either as
       the user specified in the authority component or as the
       configured user at the configured XMPP server, normally by
       adhering to the XMPP connection procedures defined in [XMPP-
       CORE].  (Note: the processing application SHOULD ignore the
       authority component if it has been configured with a set of
       default credentials.)
   2.  Optionally determining the nature of the intended recipient
       (e.g., via [JEP-0030]).
   3.  Optionally presenting an appropriate interface to a user based on
       the nature of the intended recipient and/or the contents of the
       query component.
   4.  Generating an XMPP stanza that translates any user or application
       inputs into their corresponding XMPP equivalents.
   5.  Sending the XMPP stanza via the authenticated server connection
       for delivery to the intended recipient.

2.8.2  Processing Notes

   It may help implementors to note that the first two steps of "further
   XMPP handling" as described at the end of Section 2.8.1 are similar
   to HTTP authentication ([HTTP-AUTH]), while the next three steps are
   similar to the handling of mailto: URIs ([MAILTO]).

   As noted in Section 2.7.2 of this document, certain characters are
   allowed in the node identifier, domain identifier, and resource
   identifier portions of a native XMPP address but prohibited by the
   "inodeid", "ihost", and "iresid" rules of an XMPP IRI.  The percent-

Saint-Andre              Expires October 2, 2006               [Page 12]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   encoded octets corresponding to these characters in XMPP IRIs MUST be
   transformed into the characters allowed in XMPP addresses when
   processing an XMPP IRI for interaction with the represented XMPP
   entity.

   Consider the following nasty node in an XMPP IRI:

      xmpp:nasty!%23$%()*+,-.;=%3F[\]^_`{|}~node@example.com

   That IRI would be transformed into the following XMPP address:

      nasty!#$%()*+,-.;=?[\]^_`{|}~node@example.com

   Consider the following repulsive resource in an XMPP IRI (split into
   two lines for layout purposes):

      xmpp:node@example.com
      /repulsive%20!%23"$%25&'()*+,-.%2F:;<=>%3F%40[\]^_`{|}~resource

   That IRI would be transformed into the following XMPP address (split
   into two lines for layout purposes):

      node@example.com
      /repulsive !#"$%&'()*+,-./:;<=>?@[\]^_`{|}~resource

2.8.3  Processing Example

   Consider the XMPP URI that resulted from the previous example:

       <xmpp:ji%C5%99i@%C4%8Dechy.example/v%20Praze>

   In order to generate a valid XMPP IRI from that URI, the application
   MUST adhere to the procedure specified in Section 3.2 of [IRI],
   resulting in the following IRI:

       <xmpp:ji&#x159;i@&#x10D;echy.example/v%20Praze>

   In accordance with the process specified above, the processing
   application would remove the "xmpp" scheme and ":" character to
   extract the XMPP address from this XMPP IRI, converting any percent-
   encoded octets from the "inodeid", "ihost", and "iresid" rules into
   their character equivalents (e.g., "%20" into the space character).

   The result is this XMPP address:

       <ji&#x159;i@&#x10D;echy.example/v Praze>

Saint-Andre              Expires October 2, 2006               [Page 13]
Internet-Draft               XMPP IRIs/URIs                   March 2006

2.9  Internationalization

   Because XMPP addresses are [UTF-8] strings and because the non-US-
   ASCII octets in XMPP addresses can be easily converted to percent-
   encoded octets, XMPP addresses are designed to work well with
   Internationalized Resource Identifiers ([IRI]).  In particular, with
   the exception of stringprep verification, the conversion of syntax-
   relevant US-ASCII characters (e.g., "?"), and the conversion of
   percent-encoded octets from the "inodeid", "ihost", and "iresid"
   rules into their character equivalents (e.g., "%20" into the US-ASCII
   space character), an XMPP IRI can be constructed directly by
   prepending the "xmpp" scheme and ":" character to an XMPP address.
   Furthermore, an XMPP IRI can be converted into URI syntax by adhering
   to the procedure specified in Section 3.1 of [IRI] and an XMPP URI
   can be converted into IRI syntax by adhering to the procedure
   specified in Section 3.2 of [IRI], thus ensuring interoperability
   with applications that are able to process URIs but unable to process
   IRIs.

3.  IANA Registration of xmpp URI Scheme

   In accordance with [URI-SCHEMES], this section provides the
   information required to register the xmpp URI scheme.

3.1  URI scheme name

   xmpp

3.2  Status

   permanent

3.3  URI scheme syntax

   The syntax for an xmpp URI is defined below using Augmented Backus-
   Naur Form as specified by [ABNF], where the "fragment", "host", "pct-
   encoded", and "unreserved" rules are defined in [URI] and DQUOTE is
   defined in [ABNF]:

Saint-Andre              Expires October 2, 2006               [Page 14]
Internet-Draft               XMPP IRIs/URIs                   March 2006

     xmppuri   = "xmpp" ":" hierxmpp [ "?" querycomp ] [ "#" fragment ]
     hierxmpp  = authpath / pathxmpp
     authpath  = "//" authxmpp [ "/" pathxmpp ]
     authxmpp  = nodeid "@" host
     pathxmpp  = [ nodeid "@" ] host [ "/" resid ]
     nodeid    = *( unreserved / pct-encoded / nodeallow )
     nodeallow = "!" / "$" / "(" / ")" / "*" / "+" / "," / ";" /
                 "=" / "[" / "\" / "]" / "^" / "`" / "{" / "|" /
                 "}"
     resid     = *( unreserved / pct-encoded / resallow )
     resallow   = "!" / DQUOTE / "$" / "(" / ")" / "*" / "+" /
                  "," / ":" / ";" / "<" / "=" / ">" / "[" /
                  "\" / "]" / "^" / "`" / "{" / "|" / "}"
     querycomp = querytype [ *pair ]
     querytype = *( unreserved / pct-encoded )
     pair      = ";" key "=" value
     key       = *( unreserved / pct-encoded )
     value     = *( unreserved / pct-encoded )

3.4  URI scheme semantics

   The xmpp URI scheme identifies entities that natively communicate
   using the Extensible Messaging and Presence Protocol (XMPP), and is
   mainly used for identification rather than resource location.
   However, if an application that processes an xmpp URI enables
   interaction with the XMPP address identified by the URI, it MUST
   follow the methodology defined in the Use of XMPP IRIs and URIs
   (Section 2) section of XXXX to reconstruct the encapsulated XMPP
   address, connect to an appropriate XMPP server, and send an
   appropriate XMPP "stanza" (XML fragment) to the XMPP address.  (Note:
   There is no MIME type associated with the xmpp URI scheme.)

3.5  Encoding considerations

   In addition to XMPP URIs, there will also be XMPP Internationalized
   Resource Identifiers (IRIs).  Prior to converting an Extensible
   Messaging and Presence Protocol (XMPP) address into an IRI (and in
   accordance with [XMPP-CORE]), the XMPP address must be represented as
   [UTF-8] by the generating application (e.g., by transforming an
   application's internal representation of the address as a UTF-16
   string into a UTF-8 string) and the UTF-8 string must then be
   prepended with the "xmpp" scheme and ":" character.  However, because
   an XMPP URI must contain only US-ASCII characters, the UTF-8 string
   of an XMPP IRI must be transformed into URI syntax by adhering to the
   procedure specified in RFC 3987.

Saint-Andre              Expires October 2, 2006               [Page 15]
Internet-Draft               XMPP IRIs/URIs                   March 2006

3.6  Applications/protocols that use this URI scheme name

   The xmpp URI scheme is intended to be used by interfaces to an XMPP
   network from non-native user agents such as web browsers, as well as
   by non-native applications that need to identify XMPP entities as
   full URIs or IRIs.

3.7  Interoperability considerations

   There are no known interoperability concerns related to use of the
   xmpp URI scheme.  In order to help ensure interoperability, the
   Jabber Registrar function of the Jabber Software Foundation maintains
   a registry of query types and keys that can be used in the query
   components of XMPP URIs and IRIs, located at
   <http://www.jabber.org/registrar/querytypes.html>.

3.8  Security considerations

   See the Security Considerations (Section 5) section of XXXX.

3.9  Contact

   Peter Saint-Andre [mailto:stpeter@jabber.org,
   xmpp:stpeter@jabber.org]

3.10  Author/change controller

   This scheme is registered under the IETF tree.  As such, the IETF
   maintains change control.

3.11  References

   [XMPP-CORE]

4.  IANA Considerations

   This document registers a URI scheme.  The registration template can
   be found in Section 3 of this document.  In order to help ensure
   interoperability, the Jabber Registrar function of the Jabber
   Software Foundation maintains a registry of query types and keys that
   can be used in the query components of XMPP URIs and IRIs, located at
   <http://www.jabber.org/registrar/querytypes.html>.

5.  Security Considerations

   Providing an interface to XMPP services from non-native applications
   introduces new security concerns.  The security considerations
   discussed in [IRI], [URI], and [XMPP-CORE] apply to XMPP IRIs, and

Saint-Andre              Expires October 2, 2006               [Page 16]
Internet-Draft               XMPP IRIs/URIs                   March 2006

   the security considerations discussed in [URI] and [XMPP-CORE] apply
   to XMPP URIs.  In accordance with Section 2.7 of [URI-SCHEMES] and
   Section 7 of [URI], particular security considerations are specified
   in the following sections.

5.1  Reliability and Consistency

   Given that XMPP addresses of the form node@domain.tld are typically
   created via registration at an XMPP server or provisioned by an
   administrator of such a server, it is possible that such addresses
   may also be unregistered or deprovisioned; therefore the XMPP IRI/URI
   that identifies such an XMPP address may not reliably and
   consistently be associated with the same principal, account owner,
   application, or device.

   XMPP addresses of the form node@domain.tld/resouce are typically even
   more ephemeral (since a given XMPP resource identifier is typically
   associated with a particular, temporary session of an XMPP client at
   an XMPP server); therefore the XMPP IRI/URI that identifies such an
   XMPP address probably will not reliably and consistently be
   associated with the same session.  However, the procedures specified
   in Section 10 of [XMPP-CORE] effectively eliminate any potential
   confusion that might be introduced by the lack of reliability and
   consistency for the XMPP IRI/URI that identifies such an XMPP
   address.

   XMPP addresses of the form domain.tld are typically long-lived XMPP
   servers or associated services; although naturally it is possible for
   server or service administrators to de-commission the server or
   service at any time, typically the IRIs/URIs that identify such
   servers or services are the most reliable and consistent of XMPP
   IRIs/URIs.

   XMPP addresses of the form domain.tld/resource are not yet common on
   XMPP networks; however, the reliability and consistency of XMPP IRIs/
   URIs that identify such XMPP addresses would likely fall somewhere
   between those that identify XMPP addresses of the form domain.tld and
   those that identify XMPP addresses of the form node@domain.tld.

5.2  Malicious Construction

   Malicious construction of XMPP IRIs/URIs is made less likely by the
   prohibition on port numbers in XMPP IRIs/URIs (since port numbers are
   to be discovered using [DNS-SRV] records as specified in [XMPP-
   CORE]).

Saint-Andre              Expires October 2, 2006               [Page 17]
Internet-Draft               XMPP IRIs/URIs                   March 2006quot;, RFC 1215, March 1991.

   [RFC2578]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Structure of Management
               Information Version 2 (SMIv2)", STD 58, RFC 2578, April
               1999.

   [RFC2579]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Textual Conventions for
               SMIv2", STD 58, RFC 2579, April 1999.

   [RFC2580]   McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J.,
               Rose, M. and S. Waldbusser, "Conformance Statements for
               SMIv2", STD 58, RFC 2580, April 1999.

   [RFC1157]   Case, J., Fedor, M., Schoffstall, M. and J.  Davin,
               "Simple Network Management Protocol", STD 15, RFC 1157,
               May 1990.

   [RFC1901]   Case, J., McCloghrie, K., Rose, M. and S.  Waldbusser,
               "Introduction to Community-based SNMPv2", RFC 1901,
               January 1996.

   [RFC1906]   Case, J., McCloghrie, K., Rose, M. and S.  Waldbusser,
               "Transport Mappings for Version 2 of the Simple Network
               Management Protocol (SNMPv2)", RFC 1906, January 1996.

Waldbusser & Grillo         Standards Track                    [Page 46]
RFC 2790                   Host Resources MIB                 March 2000

   [RFC2572]   Case, J., Harrington D., Presuhn R. and B. Wijnen,
               "Message Processing and Dispatching for the Simple
               Network Management Protocol (SNMP)", RFC 2572, April 1999

   [RFC2574]   Blumenthal, U. and B. Wijnen, "User-based Security Model
               (USM) for version 3 of the Simple Network Management
               Protocol (SNMPv3)", RFC 2574, April 1999.

   [RFC1905]   Case, J., McCloghrie, K., Rose, M. and S.  Waldbusser,
               "Protocol Operations for Version 2 of the Simple Network
               Management Protocol (SNMPv2)", RFC 1905, January 1996.

   [RFC2573]   Levi, D., Meyer, P. and B. Stewart, "SNMPv3
               Applications", RFC 2573, April 1999.

   [RFC2575]   Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based
               Access Control Model (VACM) for the Simple Network
               Management Protocol (SNMP)", RFC 2575, April 1999.

   [RFC2570]   Case, J., Mundy, R., Partain, D. and B. Stewart,
               "Introduction to Version 3 of the Internet- standard
               Network Management Framework", RFC 2570, April 1999.

   [RFC1907]   Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
               "Management Information Base for Version 2 of the Simple
               Network Management Protocol (SNMPv2)", RFC 1907, January
               1996.

   [RFC2233]   McCloghrie, K. and F. Kastenholz, "The Interfaces Group
               MIB", RFC 2233, November 1997.

   [RFC2119]   Bradner, S., "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119, March 1997.

Waldbusser & Grillo         Standards Track                    [Page 47]
RFC 2790                   Host Resources MIB                 March 2000

9.  Acknowledgments

   This document was produced by the Host Resources MIB working group.

   Bobby Krupczak's efforts were particularly helpful in the creation of
   the draft standard version of this document.

   In addition, the authors gratefully acknowledge the comments of the
   following individuals:

           Amatzia Ben-Artzi  NetManage
           Ron Bergman        Hitachi, Inc.
           Steve Bostock      Novell
           Stephen Bush       GE Information Systems
           Jeff Case          SNMP Research
           Chuck Davin        Bellcore
           Ray Edgarton       Bell Atlantic
           Mike Erlinger      Aerospace Corporation
           Tim Farley         Magee Enterprises
           Mark Kepke         Hewlett Packard
           Bobby Krupczak     Empire Technologies, Inc.
           Cheryl Krupczak    Empire Technologies, Inc.
           Harry Lewis        IBM Corp.
           Keith McCloghrie   Cisco Systems
           Greg Minshall      Novell
           Steve Moulton      SNMP Research
           Dave Perkins       Synoptics
           Ed Reeder          Objective Systems Integrators
           Mike Ritter        Apple Computer
           Marshall Rose      Dover Beach Consulting
           Jon Saperia        DEC
           Rodney Thayer      Sable Technology
           Kaj Tesink         Bellcore
           Dean Throop        Data General
           Bert Wijnen        Lucent
           Lloyd Young        Lexmark International

Waldbusser & Grillo         Standards Track                    [Page 48]
RFC 2790                   Host Resources MIB                 March 2000

10.  Authors' Addresses

   Pete Grillo
   WeSync.com
   1001 SW Fifth Ave, Fifth Floor
   Portland, OR 97204

   Phone: 503-425-5051
   Fax: 503-827-6718
   email: pete@wesync.com
   Phone: +1 503 827 6717

   Steven Waldbusser
   Lucent Technologies, Inc.
   1213 Innsbruck Dr.
   Sunnyvale CA 94089

   Phone: +1 650 318 1251
   Fax:   +1 650 318 1633
   EMail: waldbusser@ins.com

11.  Intellectual 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 BCP-11.
   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 implementors 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.

Waldbusser & Grillo         Standards Track                    [Page 49]
RFC 2790                   Host Resources MIB                 March 2000

12.  Full Copyright Statement

   Copyright (C) The Internet Society (2000).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.

   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS 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.

Acknowledgement

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

Waldbusser & Grillo         Standards Track                    [Page 50]