home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 May / W2KPRK.iso / apps / InternetScanner / data1.cab / Program_Files / Mibs / SNMPv2-PARTY-MIB.txt < prev    next >
Text File  |  1999-11-22  |  67KB  |  1,456 lines

  1. SNMPv2-PARTY-MIB DEFINITIONS ::= BEGIN
  2.  
  3.           IMPORTS
  4.               MODULE-IDENTITY, OBJECT-TYPE, snmpModules,
  5.                   UInteger32
  6.                   FROM SNMPv2-SMI
  7.               TEXTUAL-CONVENTION, RowStatus, TruthValue
  8.                   FROM SNMPv2-TC
  9.               MODULE-COMPLIANCE, OBJECT-GROUP
  10.                   FROM SNMPv2-CONF;
  11.  
  12.           partyMIB MODULE-IDENTITY
  13.               LAST-UPDATED "9304010000Z"
  14.               ORGANIZATION "IETF SNMP Security Working Group"
  15.               CONTACT-INFO
  16.                       "        Keith McCloghrie
  17.  
  18.                        Postal: Hughes LAN Systems
  19.                                1225 Charleston Road
  20.                                Mountain View, CA  94043
  21.                                US
  22.  
  23.                           Tel: +1 415 966 7934
  24.                           Fax: +1 415 960 3738
  25.  
  26.                        E-mail: kzm@hls.com"
  27.               DESCRIPTION
  28.                       "The MIB module describing SNMPv2 parties."
  29.               ::= { snmpModules 3 }
  30.  
  31.  
  32.           -- textual conventions
  33.  
  34.           Party ::= TEXTUAL-CONVENTION
  35.               STATUS       current
  36.               DESCRIPTION
  37.                       "Denotes a SNMPv2 party identifier.
  38.  
  39.                       Note that agents may impose implementation
  40.                       limitations on the length of OIDs used to identify
  41.                       Parties. As such, management stations creating
  42.                       new parties should be aware that using an
  43.                       excessively long OID may result in the agent
  44.                       refusing to perform the set operation and instead
  45.                       returning the appropriate error response, e.g.,
  46.                       noCreation."
  47.               SYNTAX       OBJECT IDENTIFIER
  48.  
  49.           TAddress ::= TEXTUAL-CONVENTION
  50.               STATUS       current
  51.               DESCRIPTION
  52.                       "Denotes a transport service address.
  53.  
  54.                       For snmpUDPDomain, a TAddress is 6 octets long,
  55.                       the initial 4 octets containing the IP-address in
  56.                       network-byte order and the last 2 containing the
  57.                       UDP port in network-byte order.  Consult [5] for
  58.                       further information on snmpUDPDomain."
  59.               SYNTAX       OCTET STRING
  60.  
  61.  
  62.           Clock ::= TEXTUAL-CONVENTION
  63.               STATUS       current
  64.               DESCRIPTION
  65.                       "A party's authentication clock - a non-negative
  66.                       integer which is incremented as specified/allowed
  67.                       by the party's Authentication Protocol.
  68.  
  69.                       For noAuth, a party's authentication clock is
  70.                       unused and its value is undefined.
  71.  
  72.                       For v2md5AuthProtocol, a party's authentication
  73.                       clock is a relative clock with 1-second
  74.                       granularity."
  75.               SYNTAX       UInteger32
  76.  
  77.           Context ::= TEXTUAL-CONVENTION
  78.               STATUS       current
  79.               DESCRIPTION
  80.                       "Denotes a SNMPv2 context identifier.
  81.  
  82.                       Note that agents may impose implementation
  83.                       limitations on the length of OIDs used to identify
  84.                       Contexts. As such, management stations creating new
  85.                       contexts should be aware that using an excessively
  86.                       long OID may result in the agent refusing to
  87.                       perform the set operation and instead returning
  88.                       the appropriate error response, e.g., noCreation."
  89.               SYNTAX       OBJECT IDENTIFIER
  90.  
  91.  
  92.           StorageType ::= TEXTUAL-CONVENTION
  93.               STATUS       current
  94.               DESCRIPTION
  95.                       "Describes the memory realization of a conceptual
  96.                       row.  A row which is volatile(2) is lost upon
  97.                       reboot.  A row which is nonVolatile(3) is backed
  98.                       up by stable storage.  A row which is permanent(4)
  99.                       cannot be changed nor deleted."
  100.               SYNTAX       INTEGER {
  101.                                other(1),       -- eh?
  102.                                volatile(2),    -- e.g., in RAM
  103.                                nonVolatile(3), -- e.g., in NVRAM
  104.                                permanent(4)    -- e.g., in ROM
  105.                            }
  106.  
  107.  
  108.           -- administrative assignments
  109.  
  110.           partyAdmin     OBJECT IDENTIFIER ::= { partyMIB 1 }
  111.  
  112.           -- definitions of security protocols
  113.  
  114.           partyProtocols OBJECT IDENTIFIER ::= { partyAdmin 1 }
  115.  
  116.           -- the protocol without authentication
  117.           noAuth         OBJECT IDENTIFIER ::= { partyProtocols 1 }
  118.  
  119.           -- the protocol without privacy
  120.           noPriv         OBJECT IDENTIFIER ::= { partyProtocols 2 }
  121.  
  122.           -- the DES Privacy Protocol [4]
  123.           desPrivProtocol
  124.                          OBJECT IDENTIFIER ::= { partyProtocols 3 }
  125.  
  126.           -- the MD5 Authentication Protocol [4]
  127.           v2md5AuthProtocol
  128.                          OBJECT IDENTIFIER ::= { partyProtocols 4 }
  129.  
  130.           -- definitions of temporal domains
  131.  
  132.           temporalDomains
  133.                          OBJECT IDENTIFIER ::= { partyAdmin 2 }
  134.  
  135.           -- this temporal domain refers to management information
  136.           -- at the current time
  137.           currentTime    OBJECT IDENTIFIER ::= { temporalDomains 1 }
  138.  
  139.           -- this temporal domain refers to management information
  140.           -- upon the next re-initialization of the managed device
  141.           restartTime    OBJECT IDENTIFIER ::= { temporalDomains 2 }
  142.  
  143.           -- the temporal domain { cacheTime N } refers to management
  144.           -- information that is cached and guaranteed to be at most
  145.           -- N seconds old
  146.           cacheTime      OBJECT IDENTIFIER ::= { temporalDomains 3 }
  147.  
  148.  
  149.           -- Definition of Initial Party and Context Identifiers
  150.  
  151.           -- When devices are installed, they need to be configured
  152.           -- with an initial set of SNMPv2 parties and contexts.  The
  153.           -- configuration of SNMPv2 parties and contexts requires (among
  154.           -- other things) the assignment of several OBJECT IDENTIFIERs.
  155.           -- Any local network administration can obtain the delegated
  156.           -- authority necessary to assign its own OBJECT IDENTIFIERs.
  157.           -- However, to provide for those administrations who have not
  158.           -- obtained the necessary authority, this document allocates a
  159.           -- branch of the naming tree for use with the following
  160.           -- conventions.
  161.  
  162.           initialPartyId OBJECT IDENTIFIER ::= { partyAdmin 3 }
  163.  
  164.           initialContextId
  165.                          OBJECT IDENTIFIER ::= { partyAdmin 4 }
  166.  
  167.           -- Note these are identified as "initial" party and context
  168.           -- identifiers since these allow secure SNMPv2 communication
  169.           -- to proceed, thereby allowing further SNMPv2 parties to be
  170.           -- configured through use of the SNMPv2 itself.
  171.  
  172.           -- The following definitions identify a party identifier, and
  173.           -- specify the initial values of various object instances
  174.           -- indexed by that identifier.  In addition, the SNMPv2
  175.           -- context, access control policy, and MIB view information
  176.           -- assigned, by convention, are identified.
  177.  
  178.  
  179.           -- Party Identifiers for use as initial SNMPv2 parties
  180.           --       at IP address  a.b.c.d
  181.  
  182.           -- Note that for all OBJECT IDENTIFIERs assigned under
  183.           -- initialPartyId, the four sub-identifiers immediately
  184.           -- following initialPartyId represent the four octets of
  185.           -- an IP address.  Initial party identifiers for other address
  186.           -- families are assigned under a different OBJECT IDENTIFIER,
  187.           -- as defined elsewhere.
  188.  
  189.           -- Devices which support SNMPv2 as entities acting in an
  190.           -- agent role, and accessed via the snmpUDPDomain transport
  191.           -- domain, are required to be configured with the appropriate
  192.           -- set of the following as implicit assignments as and when
  193.           -- they are configured with an IP address.  The appropriate
  194.           -- set is all those applicable to the authentication and
  195.           -- privacy protocols supported by the device.
  196.  
  197.  
  198.           --      a noAuth/noPriv party which executes at the agent
  199.           -- partyIdentity            = { initialPartyId a b c d 1 }
  200.           -- partyIndex               = 1
  201.           -- partyTDomain             = snmpUDPDomain
  202.           -- partyTAddress            = a.b.c.d, 161
  203.           -- partyLocal               = true (in agent's database)
  204.           -- partyAuthProtocol        = noAuth
  205.           -- partyAuthClock           = 0
  206.           -- partyAuthPrivate         = ''H    (the empty string)
  207.           -- partyAuthPublic          = ''H    (the empty string)
  208.           -- partyAuthLifetime        = 0
  209.           -- partyPrivProtocol        = noPriv
  210.           -- partyPrivPrivate         = ''H    (the empty string)
  211.           -- partyPrivPublic          = ''H    (the empty string)
  212.  
  213.           --      a noAuth/noPriv party which executes at a manager
  214.           -- partyIdentity            = { initialPartyId a b c d 2 }
  215.           -- partyIndex               = 2
  216.           -- partyTDomain             = snmpUDPDomain
  217.           -- partyTAddress            = assigned by local administration
  218.           -- partyLocal               = false (in agent's database)
  219.           -- partyAuthProtocol        = noAuth
  220.           -- partyAuthClock           = 0
  221.           -- partyAuthPrivate         = ''H    (the empty string)
  222.           -- partyAuthPublic          = ''H    (the empty string)
  223.           -- partyAuthLifetime        = 0
  224.           -- partyPrivProtocol        = noPriv
  225.           -- partyPrivPrivate         = ''H    (the empty string)
  226.           -- partyPrivPublic          = ''H    (the empty string)
  227.  
  228.  
  229.           --      a md5Auth/noPriv party which executes at the agent
  230.           -- partyIdentity            = { initialPartyId a b c d 3 }
  231.           -- partyIndex               = 3
  232.           -- partyTDomain             = snmpUDPDomain
  233.           -- partyTAddress            = a.b.c.d, 161
  234.           -- partyLocal               = true (in agent's database)
  235.           -- partyAuthProtocol        = v2md5AuthProtocol
  236.           -- partyAuthClock           = 0
  237.           -- partyAuthPrivate         = assigned by local administration
  238.           -- partyAuthPublic          = ''H    (the empty string)
  239.           -- partyAuthLifetime        = 300
  240.           -- partyPrivProtocol        = noPriv
  241.           -- partyPrivPrivate         = ''H    (the empty string)
  242.           -- partyPrivPublic          = ''H    (the empty string)
  243.  
  244.           --      a md5Auth/noPriv party which executes at a manager
  245.           -- partyIdentity            = { initialPartyId a b c d 4 }
  246.           -- partyIndex               = 4
  247.           -- partyTDomain             = snmpUDPDomain
  248.           -- partyTAddress            = assigned by local administration
  249.           -- partyLocal               = false (in agent's database)
  250.           -- partyAuthProtocol        = v2md5AuthProtocol
  251.           -- partyAuthClock           = 0
  252.           -- partyAuthPrivate         = assigned by local administration
  253.           -- partyAuthPublic          = ''H    (the empty string)
  254.           -- partyAuthLifetime        = 300
  255.           -- partyPrivProtocol        = noPriv
  256.           -- partyPrivPrivate         = ''H    (the empty string)
  257.           -- partyPrivPublic          = ''H    (the empty string)
  258.  
  259.  
  260.           --      a md5Auth/desPriv party which executes at the agent
  261.           -- partyIdentity            = { initialPartyId a b c d 5 }
  262.           -- partyIndex               = 5
  263.           -- partyTDomain             = snmpUDPDomain
  264.           -- partyTAddress            = a.b.c.d, 161
  265.           -- partyLocal               = true (in agent's database)
  266.           -- partyAuthProtocol        = v2md5AuthProtocol
  267.           -- partyAuthClock           = 0
  268.           -- partyAuthPrivate         = assigned by local administration
  269.           -- partyAuthPublic          = ''H    (the empty string)
  270.           -- partyAuthLifetime        = 300
  271.           -- partyPrivProtocol        = desPrivProtocol
  272.           -- partyPrivPrivate         = assigned by local administration
  273.           -- partyPrivPublic          = ''H    (the empty string)
  274.  
  275.           --      a md5Auth/desPriv party which executes at a manager
  276.           -- partyIdentity            = { initialPartyId a b c d 6 }
  277.           -- partyIndex               = 6
  278.           -- partyTDomain             = snmpUDPDomain
  279.           -- partyTAddress            = assigned by local administration
  280.           -- partyLocal               = false (in agent's database)
  281.           -- partyAuthProtocol        = v2md5AuthProtocol
  282.           -- partyAuthClock           = 0
  283.           -- partyAuthPrivate         = assigned by local administration
  284.           -- partyAuthPublic          = ''H    (the empty string)
  285.           -- partyAuthLifetime        = 300
  286.           -- partyPrivProtocol        = desPrivProtocol
  287.           -- partyPrivPrivate         = assigned by local administration
  288.           -- partyPrivPublic          = ''H    (the empty string)
  289.  
  290.  
  291.           -- the initial SNMPv2 contexts assigned, by convention, are:
  292.  
  293.           -- contextIdentity          = { initialContextId a b c d 1 }
  294.           -- contextIndex             = 1
  295.           -- contextLocal             = true (in agent's database)
  296.           -- contextViewIndex         = 1
  297.           -- contextLocalEntity       = ''H    (the empty string)
  298.           -- contextLocalTime         = currentTime
  299.           -- contextProxyDstParty     = { 0 0 }
  300.           -- contextProxySrcParty     = { 0 0 }
  301.           -- contextProxyContext      = { 0 0 }
  302.  
  303.           -- contextIdentity          = { initialContextId a b c d 2 }
  304.           -- contextIndex             = 2
  305.           -- contextLocal             = true (in agent's database)
  306.           -- contextViewIndex         = 2
  307.           -- contextLocalEntity       = ''H    (the empty string)
  308.           -- contextLocalTime         = currentTime
  309.           -- contextProxyDstParty     = { 0 0 }
  310.           -- contextProxySrcParty     = { 0 0 }
  311.           -- contextProxyContext      = { 0 0 }
  312.  
  313.  
  314.        -- The initial access control policy assigned, by
  315.        -- convention, is:
  316.  
  317.        -- aclTarget                =   1
  318.        -- aclSubject               =   2
  319.        -- aclResources             =   1
  320.        -- aclPrivileges            =  35 (Get, Get-Next & Get-Bulk)
  321.  
  322.        -- aclTarget                =   2
  323.        -- aclSubject               =   1
  324.        -- aclResources             =   1
  325.        -- aclPrivileges            = 132 (Response & SNMPv2-Trap)
  326.  
  327.        -- aclTarget                =   3
  328.        -- aclSubject               =   4
  329.        -- aclResources             =   2
  330.        -- aclPrivileges            =  43 (Get, Get-Next, Set & Get-Bulk)
  331.  
  332.        -- aclTarget                =   4
  333.        -- aclSubject               =   3
  334.        -- aclResources             =   2
  335.        -- aclPrivileges            =   4 (Response)
  336.  
  337.        -- aclTarget                =   5
  338.        -- aclSubject               =   6
  339.        -- aclResources             =   2
  340.        -- aclPrivileges            =  43 (Get, Get-Next, Set & Get-Bulk)
  341.  
  342.        -- aclTarget                =   6
  343.        -- aclSubject               =   5
  344.        -- aclResources             =   2
  345.        -- aclPrivileges            =   4 (Response)
  346.  
  347.        -- Note that the initial context and access control
  348.        -- information assigned above, by default, to the
  349.        -- md5Auth/desPriv parties are identical to those assigned to
  350.        -- the md5Auth/noPriv parties.  However, each administration
  351.        -- may choose to have different authorization policies,
  352.        -- depending on whether privacy is used.
  353.  
  354.  
  355.           -- The initial MIB views assigned, by convention, are:
  356.  
  357.           -- viewIndex                = 1
  358.           -- viewSubtree              = system
  359.           -- viewMask                 = ''H
  360.           -- viewType                 = included
  361.  
  362.           -- viewIndex                = 1
  363.           -- viewSubtree              = snmpStats
  364.           -- viewMask                 = ''H
  365.           -- viewType                 = included
  366.  
  367.           -- viewIndex                = 1
  368.           -- viewSubtree              = snmpParties
  369.           -- viewMask                 = ''H
  370.           -- viewType                 = included
  371.  
  372.           -- viewIndex                = 2
  373.           -- viewSubtree              = internet
  374.           -- viewMask                 = ''H
  375.           -- viewType                 = included
  376.  
  377.           -- Note that full access to the partyTable, contextTable,
  378.           -- aclTable, and viewTable gives a manager the ability to
  379.           -- configure any parties with any/all capabilities (the
  380.           -- equivalent of "root" access).  A lesser manager can be
  381.           -- given access only to the partyTable so that it can
  382.           -- maintain its own parties, but not increase/decrease
  383.           -- their capabilities.  Such a lesser manager can also
  384.           -- create new parties but they are of no use to it.
  385.  
  386.  
  387.           -- object assignments
  388.  
  389.           partyMIBObjects
  390.                          OBJECT IDENTIFIER ::= { partyMIB 2 }
  391.  
  392.           -- the SNMPv2 party database group
  393.  
  394.           snmpParties    OBJECT IDENTIFIER ::= { partyMIBObjects 1 }
  395.  
  396.           partyTable OBJECT-TYPE
  397.               SYNTAX      SEQUENCE OF PartyEntry
  398.               MAX-ACCESS  not-accessible
  399.               STATUS      current
  400.               DESCRIPTION
  401.                       "The SNMPv2 Party database."
  402.               ::= { snmpParties 1 }
  403.  
  404.           partyEntry OBJECT-TYPE
  405.               SYNTAX      PartyEntry
  406.               MAX-ACCESS  not-accessible
  407.               STATUS      current
  408.               DESCRIPTION
  409.                       "Locally held information about a particular
  410.                       SNMPv2 party."
  411.               INDEX      { IMPLIED partyIdentity }
  412.               ::= { partyTable 1 }
  413.  
  414.  
  415.           PartyEntry ::=
  416.               SEQUENCE {
  417.                   partyIdentity        Party,
  418.                   partyIndex           INTEGER,
  419.                   partyTDomain         OBJECT IDENTIFIER,
  420.                   partyTAddress        TAddress,
  421.                   partyMaxMessageSize  INTEGER,
  422.                   partyLocal           TruthValue,
  423.                   partyAuthProtocol    OBJECT IDENTIFIER,
  424.                   partyAuthClock       Clock,
  425.                   partyAuthPrivate     OCTET STRING,
  426.                   partyAuthPublic      OCTET STRING,
  427.                   partyAuthLifetime    INTEGER,
  428.                   partyPrivProtocol    OBJECT IDENTIFIER,
  429.                   partyPrivPrivate     OCTET STRING,
  430.                   partyPrivPublic      OCTET STRING,
  431.                   partyCloneFrom       Party,
  432.                   partyStorageType     StorageType,
  433.                   partyStatus          RowStatus
  434.               }
  435.  
  436.           partyIdentity OBJECT-TYPE
  437.               SYNTAX      Party
  438.               MAX-ACCESS  not-accessible
  439.               STATUS      current
  440.               DESCRIPTION
  441.                       "A party identifier uniquely identifying a
  442.                       particular SNMPv2 party."
  443.               ::= { partyEntry 1 }
  444.  
  445.           partyIndex OBJECT-TYPE
  446.               SYNTAX      INTEGER (1..65535)
  447.               MAX-ACCESS  read-only
  448.               STATUS      current
  449.               DESCRIPTION
  450.                       "A unique value for each SNMPv2 party.  The value
  451.                       for each SNMPv2 party must remain constant at
  452.                       least from one re-initialization of the entity's
  453.                       network management system to the next re-
  454.                       initialization."
  455.               ::= { partyEntry 2 }
  456.  
  457.  
  458.           partyTDomain OBJECT-TYPE
  459.               SYNTAX      OBJECT IDENTIFIER
  460.               MAX-ACCESS  read-create
  461.               STATUS      current
  462.               DESCRIPTION
  463.                       "Indicates the kind of transport service by which
  464.                       the party receives network management traffic."
  465.               DEFVAL      { snmpUDPDomain }
  466.               ::= { partyEntry 3 }
  467.  
  468.           partyTAddress OBJECT-TYPE
  469.               SYNTAX      TAddress
  470.               MAX-ACCESS  read-create
  471.               STATUS      current
  472.               DESCRIPTION
  473.                       "The transport service address by which the party
  474.                       receives network management traffic, formatted
  475.                       according to the corresponding value of
  476.                       partyTDomain.  For snmpUDPDomain, partyTAddress is
  477.                       formatted as a 4-octet IP Address concatenated
  478.                       with a 2-octet UDP port number."
  479.               DEFVAL      { '000000000000'H }
  480.               ::= { partyEntry 4 }
  481.  
  482.           partyMaxMessageSize OBJECT-TYPE
  483.               SYNTAX      INTEGER (484..65507)
  484.               MAX-ACCESS  read-create
  485.               STATUS      current
  486.               DESCRIPTION
  487.                       "The maximum length in octets of a SNMPv2 message
  488.                       which this party will accept.  For parties which
  489.                       execute at an agent, the agent initializes this
  490.                       object to the maximum length supported by the
  491.                       agent, and does not let the object be set to any
  492.                       larger value.  For parties which do not execute at
  493.                       the agent, the agent must allow the manager to set
  494.                       this object to any legal value, even if it is
  495.                       larger than the agent can generate."
  496.               DEFVAL      { 484 }
  497.               ::= { partyEntry 5 }
  498.  
  499.  
  500.           partyLocal OBJECT-TYPE
  501.               SYNTAX      TruthValue
  502.               MAX-ACCESS  read-create
  503.               STATUS      current
  504.               DESCRIPTION
  505.                       "An indication of whether this party executes at
  506.                       this SNMPv2 entity.  If this object has a value of
  507.                       true(1), then the SNMPv2 entity will listen for
  508.                       SNMPv2 messages on the partyTAddress associated
  509.                       with this party.  If this object has the value
  510.                       false(2), then the SNMPv2 entity will not listen
  511.                       for SNMPv2 messages on the partyTAddress
  512.                       associated with this party."
  513.               DEFVAL      { false }
  514.               ::= { partyEntry 6 }
  515.  
  516.           partyAuthProtocol OBJECT-TYPE
  517.               SYNTAX      OBJECT IDENTIFIER
  518.               MAX-ACCESS  read-create
  519.               STATUS      current
  520.               DESCRIPTION
  521.                       "The authentication protocol by which all messages
  522.                       generated by the party are authenticated as to
  523.                       origin and integrity.  The value noAuth signifies
  524.                       that messages generated by the party are not
  525.                       authenticated.
  526.  
  527.                       Once an instance of this object is created, its
  528.                       value can not be changed."
  529.               DEFVAL      { v2md5AuthProtocol }
  530.               ::= { partyEntry 7 }
  531.  
  532.  
  533.           partyAuthClock OBJECT-TYPE
  534.               SYNTAX      Clock
  535.               MAX-ACCESS  read-create
  536.               STATUS      current
  537.               DESCRIPTION
  538.                       "The authentication clock which represents the
  539.                       local notion of the current time specific to the
  540.                       party.  This value must not be decremented unless
  541.                       the party's private authentication key is changed
  542.                       simultaneously."
  543.               DEFVAL      { 0 }
  544.               ::= { partyEntry 8 }
  545.  
  546.  
  547.           partyAuthPrivate OBJECT-TYPE
  548.               SYNTAX      OCTET STRING
  549.                           -- for v2md5AuthProtocol: (SIZE (16))
  550.               MAX-ACCESS  read-create
  551.               STATUS      current
  552.               DESCRIPTION
  553.                       "An encoding of the party's private authentication
  554.                       key which may be needed to support the
  555.                       authentication protocol.  Although the value of
  556.                       this variable may be altered by a management
  557.                       operation (e.g., a SNMPv2 Set-Request), its value
  558.                       can never be retrieved by a management operation:
  559.                       when read, the value of this variable is the zero
  560.                       length OCTET STRING.
  561.  
  562.                       The private authentication key is NOT directly
  563.                       represented by the value of this variable, but
  564.                       rather it is represented according to an encoding.
  565.                       This encoding is the bitwise exclusive-OR of the
  566.                       old key with the new key, i.e., of the old private
  567.                       authentication key (prior to the alteration) with
  568.                       the new private authentication key (after the
  569.                       alteration).  Thus, when processing a received
  570.                       protocol Set operation, the new private
  571.                       authentication key is obtained from the value of
  572.                       this variable as the result of a bitwise
  573.                       exclusive-OR of the variable's value and the old
  574.                       private authentication key.  In calculating the
  575.                       exclusive-OR, if the old key is shorter than the
  576.                       new key, zero-valued padding is appended to the
  577.                       old key.  If no value for the old key exists, a
  578.                       zero-length OCTET STRING is used in the
  579.                       calculation."
  580.               DEFVAL      { ''H }     -- the empty string
  581.               ::= { partyEntry 9 }
  582.  
  583.  
  584.           partyAuthPublic OBJECT-TYPE
  585.               SYNTAX      OCTET STRING
  586.                           -- for v2md5AuthProtocol: (SIZE (0..16))
  587.               MAX-ACCESS  read-create
  588.               STATUS      current
  589.               DESCRIPTION
  590.                       "A publically-readable value for the party.
  591.  
  592.                       Depending on the party's authentication protocol,
  593.                       this value may be needed to support the party's
  594.                       authentication protocol.  Alternatively, it may be
  595.                       used by a manager during the procedure for
  596.                       altering secret information about a party.  (For
  597.                       example, by altering the value of an instance of
  598.                       this object in the same SNMPv2 Set-Request used to
  599.                       update an instance of partyAuthPrivate, a
  600.                       subsequent Get-Request can determine if the Set-
  601.                       Request was successful in the event that no
  602.                       response to the Set-Request is received, see [4].)
  603.  
  604.                       The length of the value is dependent on the
  605.                       party's authentication protocol.  If not used by
  606.                       the authentication protocol, it is recommended
  607.                       that agents support values of any length up to and
  608.                       including the length of the corresponding
  609.                       partyAuthPrivate object."
  610.               DEFVAL      { ''H }      -- the empty string
  611.               ::= { partyEntry 10 }
  612.  
  613.  
  614.           partyAuthLifetime OBJECT-TYPE
  615.               SYNTAX      INTEGER (0..2147483647)
  616.               UNITS       "seconds"
  617.               MAX-ACCESS  read-create
  618.               STATUS      current
  619.               DESCRIPTION
  620.                       "The lifetime (in units of seconds) which
  621.                       represents an administrative upper bound on
  622.                       acceptable delivery delay for protocol messages
  623.                       generated by the party.
  624.  
  625.                       Once an instance of this object is created, its
  626.                       value can not be changed."
  627.               DEFVAL      { 300 }
  628.               ::= { partyEntry 11 }
  629.  
  630.           partyPrivProtocol OBJECT-TYPE
  631.               SYNTAX      OBJECT IDENTIFIER
  632.               MAX-ACCESS  read-create
  633.               STATUS      current
  634.               DESCRIPTION
  635.                       "The privacy protocol by which all protocol
  636.                       messages received by the party are protected from
  637.                       disclosure.  The value noPriv signifies that
  638.                       messages received by the party are not protected.
  639.  
  640.                       Once an instance of this object is created, its
  641.                       value can not be changed."
  642.               DEFVAL      { noPriv }
  643.               ::= { partyEntry 12 }
  644.  
  645.  
  646.           partyPrivPrivate OBJECT-TYPE
  647.               SYNTAX      OCTET STRING
  648.                           -- for desPrivProtocol: (SIZE (16))
  649.               MAX-ACCESS  read-create
  650.               STATUS      current
  651.               DESCRIPTION
  652.                       "An encoding of the party's private encryption key
  653.                       which may be needed to support the privacy
  654.                       protocol.  Although the value of this variable may
  655.                       be altered by a management operation (e.g., a
  656.                       SNMPv2 Set-Request), its value can never be
  657.                       retrieved by a management operation: when read,
  658.                       the value of this variable is the zero length
  659.                       OCTET STRING.
  660.  
  661.                       The private encryption key is NOT directly
  662.                       represented by the value of this variable, but
  663.                       rather it is represented according to an encoding.
  664.                       This encoding is the bitwise exclusive-OR of the
  665.                       old key with the new key, i.e., of the old private
  666.                       encryption key (prior to the alteration) with the
  667.                       new private encryption key (after the alteration).
  668.                       Thus, when processing a received protocol Set
  669.                       operation, the new private encryption key is
  670.                       obtained from the value of this variable as the
  671.                       result of a bitwise exclusive-OR of the variable's
  672.                       value and the old private encryption key.  In
  673.                       calculating the exclusive-OR, if the old key is
  674.                       shorter than the new key, zero-valued padding is
  675.                       appended to the old key.  If no value for the old
  676.                       key exists, a zero-length OCTET STRING is used in
  677.                       the calculation."
  678.               DEFVAL      { ''H }     -- the empty string
  679.               ::= { partyEntry 13 }
  680.  
  681.  
  682.           partyPrivPublic OBJECT-TYPE
  683.               SYNTAX      OCTET STRING
  684.                           -- for desPrivProtocol: (SIZE (0..16))
  685.               MAX-ACCESS  read-create
  686.               STATUS      current
  687.               DESCRIPTION
  688.                       "A publically-readable value for the party.
  689.  
  690.                       Depending on the party's privacy protocol, this
  691.                       value may be needed to support the party's privacy
  692.                       protocol.  Alternatively, it may be used by a
  693.                       manager as a part of its procedure for altering
  694.                       secret information about a party.  (For example,
  695.                       by altering the value of an instance of this
  696.                       object in the same SNMPv2 Set-Request used to
  697.                       update an instance of partyPrivPrivate, a
  698.                       subsequent Get-Request can determine if the Set-
  699.                       Request was successful in the event that no
  700.                       response to the Set-Request is received, see [4].)
  701.  
  702.                       The length of the value is dependent on the
  703.                       party's privacy protocol.  If not used by the
  704.                       privacy protocol, it is recommended that agents
  705.                       support values of any length up to and including
  706.                       the length of the corresponding partyPrivPrivate
  707.                       object."
  708.               DEFVAL      { ''H }     -- the empty string
  709.               ::= { partyEntry 14 }
  710.  
  711.  
  712.           partyCloneFrom OBJECT-TYPE
  713.               SYNTAX      Party
  714.               MAX-ACCESS  read-create
  715.               STATUS      current
  716.               DESCRIPTION
  717.                       "The identity of a party to clone authentication
  718.                       and privacy parameters from.  When read, the value
  719.                       { 0 0 } is returned.
  720.  
  721.                       This value must be written exactly once, when the
  722.                       associated instance of partyStatus either does not
  723.                       exist or has the value `notReady'.  When written,
  724.                       the value identifies a party, the cloning party,
  725.                       whose status column has the value `active'.  The
  726.                       cloning party is used in two ways.
  727.  
  728.                       One, if instances of the following objects do not
  729.                       exist for the party being created, then they are
  730.                       created with values identical to those of the
  731.                       corresponding objects for the cloning party:
  732.  
  733.                            partyAuthProtocol
  734.                            partyAuthPublic
  735.                            partyAuthLifetime
  736.                            partyPrivProtocol
  737.                            partyPrivPublic
  738.  
  739.                       Two, instances of the following objects are
  740.                       updated using the corresponding values of the
  741.                       cloning party:
  742.  
  743.                            partyAuthPrivate
  744.                            partyPrivPrivate
  745.  
  746.                       (e.g., the value of the cloning party's instance
  747.                       of the partyAuthPrivate object is XOR'd with the
  748.                       value of the partyAuthPrivate instances of the
  749.                       party being created.)"
  750.               ::= { partyEntry 15 }
  751.  
  752.  
  753.           partyStorageType OBJECT-TYPE
  754.               SYNTAX      StorageType
  755.               MAX-ACCESS  read-create
  756.               STATUS      current
  757.               DESCRIPTION
  758.                       "The storage type for this conceptual row in the
  759.                       partyTable."
  760.               DEFVAL      { nonVolatile }
  761.               ::= { partyEntry 16 }
  762.  
  763.           partyStatus OBJECT-TYPE
  764.               SYNTAX      RowStatus
  765.               MAX-ACCESS  read-create
  766.               STATUS      current
  767.               DESCRIPTION
  768.                       "The status of this conceptual row in the
  769.                       partyTable.
  770.  
  771.                       A party is not qualified for activation until
  772.                       instances of all columns of its partyEntry row
  773.                       have an appropriate value.  In particular:
  774.  
  775.                         A value must be written to the Party's
  776.                         partyCloneFrom object.
  777.  
  778.                         If the Party's partyAuthProtocol object has the
  779.                         value md5AuthProtocol, then the corresponding
  780.                         instance of partyAuthPrivate must contain a
  781.                         secret of the appropriate length.  Further, at
  782.                         least one management protocol set operation
  783.                         updating the value of the party's
  784.                         partyAuthPrivate object must be successfully
  785.                         processed, before the partyAuthPrivate column is
  786.                         considered appropriately configured.
  787.  
  788.                         If the Party's partyPrivProtocol object has the
  789.                         value desPrivProtocol, then the corresponding
  790.                         instance of partyPrivPrivate must contain a
  791.                         secret of the appropriate length.  Further, at
  792.                         least one management protocol set operation
  793.                         updating the value of the party's
  794.                         partyPrivPrivate object must be successfully
  795.                         processed, before the partyPrivPrivate column is
  796.                         considered appropriately configured.
  797.  
  798.  
  799.                      Until instances of all corresponding columns are
  800.                      appropriately configured, the value of the
  801.                      corresponding instance of the partyStatus column is
  802.                      `notReady'."
  803.               ::= { partyEntry 17 }
  804.  
  805.  
  806.           -- the SNMPv2 contexts database group
  807.  
  808.           snmpContexts   OBJECT IDENTIFIER ::= { partyMIBObjects 2 }
  809.  
  810.           contextTable OBJECT-TYPE
  811.               SYNTAX      SEQUENCE OF ContextEntry
  812.               MAX-ACCESS  not-accessible
  813.               STATUS      current
  814.               DESCRIPTION
  815.                       "The SNMPv2 Context database."
  816.               ::= { snmpContexts 1 }
  817.  
  818.           contextEntry OBJECT-TYPE
  819.               SYNTAX      ContextEntry
  820.               MAX-ACCESS  not-accessible
  821.               STATUS      current
  822.               DESCRIPTION
  823.                       "Locally held information about a particular
  824.                       SNMPv2 context."
  825.               INDEX      { IMPLIED contextIdentity }
  826.               ::= { contextTable 1 }
  827.  
  828.           ContextEntry ::=
  829.               SEQUENCE {
  830.                   contextIdentity         Context,
  831.                   contextIndex            INTEGER,
  832.                   contextLocal            TruthValue,
  833.                   contextViewIndex        INTEGER,
  834.                   contextLocalEntity      OCTET STRING,
  835.                   contextLocalTime        OBJECT IDENTIFIER,
  836.                   contextProxyDstParty    Party,
  837.                   contextProxySrcParty    Party,
  838.                   contextProxyContext     OBJECT IDENTIFIER,
  839.                   contextStorageType      StorageType,
  840.                   contextStatus           RowStatus
  841.               }
  842.  
  843.  
  844.           contextIdentity OBJECT-TYPE
  845.               SYNTAX      Context
  846.               MAX-ACCESS  not-accessible
  847.               STATUS      current
  848.               DESCRIPTION
  849.                       "A context identifier uniquely identifying a
  850.                       particular SNMPv2 context."
  851.               ::= { contextEntry 1 }
  852.  
  853.           contextIndex OBJECT-TYPE
  854.               SYNTAX      INTEGER (1..65535)
  855.               MAX-ACCESS  read-only
  856.               STATUS      current
  857.               DESCRIPTION
  858.                       "A unique value for each SNMPv2 context.  The
  859.                       value for each SNMPv2 context must remain constant
  860.                       at least from one re-initialization of the
  861.                       entity's network management system to the next
  862.                       re-initialization."
  863.               ::= { contextEntry 2 }
  864.  
  865.           contextLocal OBJECT-TYPE
  866.               SYNTAX      TruthValue
  867.               MAX-ACCESS  read-create
  868.               STATUS      current
  869.               DESCRIPTION
  870.                       "An indication of whether this context is realized
  871.                       by this SNMPv2 entity."
  872.               DEFVAL      { true }
  873.               ::= { contextEntry 3 }
  874.  
  875.  
  876.           contextViewIndex OBJECT-TYPE
  877.               SYNTAX      INTEGER (0..65535)
  878.               MAX-ACCESS  read-create
  879.               STATUS      current
  880.               DESCRIPTION
  881.                       "If the value of an instance of this object is
  882.                       zero, then this corresponding conceptual row in
  883.                       the contextTable refers to a SNMPv2 context which
  884.                       identifies a proxy relationship; the values of the
  885.                       corresponding instances of the
  886.                       contextProxyDstParty, contextProxySrcParty, and
  887.                       contextProxyContext objects provide further
  888.                       information on the proxy relationship.
  889.  
  890.                       Otherwise, if the value of an instance of this
  891.                       object is greater than zero, then this
  892.                       corresponding conceptual row in the contextTable
  893.                       refers to a SNMPv2 context which identifies a MIB
  894.                       view of a locally accessible entity; the value of
  895.                       the instance identifies the particular MIB view
  896.                       which has the same value of viewIndex; and the
  897.                       value of the corresponding instances of the
  898.                       contextLocalEntity and contextLocalTime objects
  899.                       provide further information on the local entity
  900.                       and its temporal domain."
  901.               ::= { contextEntry 4 }
  902.  
  903.  
  904.           contextLocalEntity OBJECT-TYPE
  905.               SYNTAX      OCTET STRING
  906.               MAX-ACCESS  read-create
  907.               STATUS      current
  908.               DESCRIPTION
  909.                       "If the value of the corresponding instance of the
  910.                       contextViewIndex is greater than zero, then the
  911.                       value of an instance of this object identifies the
  912.                       local entity whose management information is in
  913.                       the SNMPv2 context's MIB view.  The empty string
  914.                       indicates that the MIB view contains the SNMPv2
  915.                       entity's own local management information;
  916.                       otherwise, a non-empty string indicates that the
  917.                       MIB view contains management information of some
  918.                       other local entity, e.g., 'Repeater1'."
  919.               DEFVAL      { ''H }     -- the empty string
  920.               ::= { contextEntry 5 }
  921.  
  922.           contextLocalTime OBJECT-TYPE
  923.               SYNTAX      OBJECT IDENTIFIER
  924.               MAX-ACCESS  read-create
  925.               STATUS      current
  926.               DESCRIPTION
  927.                       "If the value of the corresponding instance of the
  928.                       contextViewIndex is greater than zero, then the
  929.                       value of an instance of this object identifies the
  930.                       temporal context of the management information in
  931.                       the MIB view."
  932.               DEFVAL      { currentTime }
  933.               ::= { contextEntry 6 }
  934.  
  935.  
  936.           contextProxyDstParty OBJECT-TYPE
  937.               SYNTAX      Party
  938.               MAX-ACCESS  read-create
  939.               STATUS      current
  940.               DESCRIPTION
  941.                       "If the value of the corresponding instance of the
  942.                       contextViewIndex is equal to zero, then the value
  943.                       of an instance of this object identifies a SNMPv2
  944.                       party which is the proxy destination of a proxy
  945.                       relationship.
  946.  
  947.                       If the value of the corresponding instance of the
  948.                       contextViewIndex is greater than zero, then the
  949.                       value of an instance of this object is { 0 0 }."
  950.               ::= { contextEntry 7 }
  951.  
  952.           contextProxySrcParty OBJECT-TYPE
  953.               SYNTAX      Party
  954.               MAX-ACCESS  read-create
  955.               STATUS      current
  956.               DESCRIPTION
  957.                       "If the value of the corresponding instance of the
  958.                       contextViewIndex is equal to zero, then the value
  959.                       of an instance of this object identifies a SNMPv2
  960.                       party which is the proxy source of a proxy
  961.                       relationship.
  962.  
  963.                       Interpretation of an instance of this object
  964.                       depends upon the value of the transport domain
  965.                       associated with the SNMPv2 party used as the proxy
  966.                       destination in this proxy relationship.
  967.  
  968.                       If the value of the corresponding instance of the
  969.                       contextViewIndex is greater than zero, then the
  970.                       value of an instance of this object is { 0 0 }."
  971.               ::= { contextEntry 8 }
  972.  
  973.  
  974.           contextProxyContext OBJECT-TYPE
  975.               SYNTAX      OBJECT IDENTIFIER
  976.               MAX-ACCESS  read-create
  977.               STATUS      current
  978.               DESCRIPTION
  979.                       "If the value of the corresponding instance of the
  980.                       contextViewIndex is equal to zero, then the value
  981.                       of an instance of this object identifies the
  982.                       context of a proxy relationship.
  983.  
  984.                       Interpretation of an instance of this object
  985.                       depends upon the value of the transport domain
  986.                       associated with the SNMPv2 party used as the proxy
  987.                       destination in this proxy relationship.
  988.  
  989.                       If the value of the corresponding instance of the
  990.                       contextViewIndex is greater than zero, then the
  991.                       value of an instance of this object is { 0 0 }."
  992.               ::= { contextEntry 9 }
  993.  
  994.           contextStorageType OBJECT-TYPE
  995.               SYNTAX      StorageType
  996.               MAX-ACCESS  read-create
  997.               STATUS      current
  998.               DESCRIPTION
  999.                       "The storage type for this conceptual row in the
  1000.                       contextTable."
  1001.               DEFVAL      { nonVolatile }
  1002.               ::= { contextEntry 10 }
  1003.  
  1004.  
  1005.           contextStatus OBJECT-TYPE
  1006.               SYNTAX      RowStatus
  1007.               MAX-ACCESS  read-create
  1008.               STATUS      current
  1009.               DESCRIPTION
  1010.                       "The status of this conceptual row in the
  1011.                       contextTable.
  1012.  
  1013.                       A context is not qualified for activation until
  1014.                       instances of all corresponding columns have the
  1015.                       appropriate value.  In  particular, if the
  1016.                       context's contextViewIndex is greater than zero,
  1017.                       then the viewStatus column of the associated
  1018.                       conceptual row(s) in the viewTable must have the
  1019.                       value `active'.  Until instances of all
  1020.                       corresponding columns are appropriately
  1021.                       configured, the value of the corresponding
  1022.                       instance of the contextStatus column is
  1023.                       `notReady'."
  1024.               ::= { contextEntry 11 }
  1025.  
  1026.  
  1027.           -- the SNMPv2 access privileges database group
  1028.  
  1029.           snmpAccess     OBJECT IDENTIFIER ::= { partyMIBObjects 3 }
  1030.  
  1031.           aclTable OBJECT-TYPE
  1032.               SYNTAX      SEQUENCE OF AclEntry
  1033.               MAX-ACCESS  not-accessible
  1034.               STATUS      current
  1035.               DESCRIPTION
  1036.                       "The access privileges database."
  1037.               ::= { snmpAccess 1 }
  1038.  
  1039.           aclEntry OBJECT-TYPE
  1040.               SYNTAX      AclEntry
  1041.               MAX-ACCESS  not-accessible
  1042.               STATUS      current
  1043.               DESCRIPTION
  1044.                       "The access privileges for a particular subject
  1045.                       SNMPv2 party when asking a particular target
  1046.                       SNMPv2 party to access a particular SNMPv2
  1047.                       context."
  1048.               INDEX      { aclTarget, aclSubject, aclResources }
  1049.               ::= { aclTable 1 }
  1050.  
  1051.           AclEntry ::=
  1052.               SEQUENCE {
  1053.                   aclTarget        INTEGER,
  1054.                   aclSubject       INTEGER,
  1055.                   aclResources     INTEGER,
  1056.                   aclPrivileges    INTEGER,
  1057.                   aclStorageType   StorageType,
  1058.                   aclStatus        RowStatus
  1059.               }
  1060.  
  1061.  
  1062.           aclTarget OBJECT-TYPE
  1063.               SYNTAX      INTEGER (1..65535)
  1064.               MAX-ACCESS  not-accessible
  1065.               STATUS      current
  1066.               DESCRIPTION
  1067.                       "The value of an instance of this object
  1068.                       identifies a SNMPv2 party which is the target of
  1069.                       an access control policy, and has the same value
  1070.                       as the instance of the partyIndex object for that
  1071.                       party."
  1072.               ::= { aclEntry 1 }
  1073.  
  1074.           aclSubject OBJECT-TYPE
  1075.               SYNTAX      INTEGER (1..65535)
  1076.               MAX-ACCESS  not-accessible
  1077.               STATUS      current
  1078.               DESCRIPTION
  1079.                       "The value of an instance of this object
  1080.                       identifies a SNMPv2 party which is the subject of
  1081.                       an access control policy, and has the same value
  1082.                       as the instance of the partyIndex object for that
  1083.                       SNMPv2 party."
  1084.               ::= { aclEntry 2 }
  1085.  
  1086.           aclResources OBJECT-TYPE
  1087.               SYNTAX      INTEGER (1..65535)
  1088.               MAX-ACCESS  not-accessible
  1089.               STATUS      current
  1090.               DESCRIPTION
  1091.                       "The value of an instance of this object
  1092.                       identifies a SNMPv2 context in an access control
  1093.                       policy, and has the same value as the instance of
  1094.                       the contextIndex object for that SNMPv2 context."
  1095.               ::= { aclEntry 3 }
  1096.  
  1097.  
  1098.           aclPrivileges OBJECT-TYPE
  1099.               SYNTAX      INTEGER (0..255)
  1100.               MAX-ACCESS  read-create
  1101.               STATUS      current
  1102.               DESCRIPTION
  1103.                       "The access privileges which govern what
  1104.                       management operations a particular target party
  1105.                       may perform with respect to a particular SNMPv2
  1106.                       context when requested by a particular subject
  1107.                       party.  These privileges are specified as a sum of
  1108.                       values, where each value specifies a SNMPv2 PDU
  1109.                       type by which the subject party may request a
  1110.                       permitted operation.  The value for a particular
  1111.                       PDU type is computed as 2 raised to the value of
  1112.                       the ASN.1 context-specific tag for the appropriate
  1113.                       SNMPv2 PDU type.  The values (for the tags defined
  1114.                       in [5]) are defined in [3] as:
  1115.  
  1116.                        Get         :   1
  1117.                        GetNext     :   2
  1118.                        Response    :   4
  1119.                        Set         :   8
  1120.                        unused      :  16
  1121.                        GetBulk     :  32
  1122.                        Inform      :  64
  1123.                        SNMPv2-Trap : 128
  1124.  
  1125.                       The null set is represented by the value zero."
  1126.               DEFVAL      { 35 }      -- Get, Get-Next & Get-Bulk
  1127.               ::= { aclEntry 4 }
  1128.  
  1129.           aclStorageType OBJECT-TYPE
  1130.               SYNTAX      StorageType
  1131.               MAX-ACCESS  read-create
  1132.               STATUS      current
  1133.               DESCRIPTION
  1134.                       "The storage type for this conceptual row in the
  1135.                       aclTable."
  1136.               DEFVAL      { nonVolatile }
  1137.               ::= { aclEntry 5 }
  1138.  
  1139.  
  1140.           aclStatus OBJECT-TYPE
  1141.               SYNTAX      RowStatus
  1142.               MAX-ACCESS  read-create
  1143.               STATUS      current
  1144.               DESCRIPTION
  1145.                       "The status of this conceptual row in the
  1146.                       aclTable."
  1147.               ::= { aclEntry 6 }
  1148.  
  1149.  
  1150.           -- the MIB view database group
  1151.  
  1152.           snmpViews      OBJECT IDENTIFIER ::= { partyMIBObjects 4 }
  1153.  
  1154.           viewTable OBJECT-TYPE
  1155.               SYNTAX      SEQUENCE OF ViewEntry
  1156.               MAX-ACCESS  not-accessible
  1157.               STATUS      current
  1158.               DESCRIPTION
  1159.                       "Locally held information about the MIB views
  1160.                       known to this SNMPv2 entity.
  1161.  
  1162.                       Each SNMPv2 context which is locally accessible
  1163.                       has a single MIB view which is defined by two
  1164.                       collections of view subtrees: the included view
  1165.                       subtrees, and the excluded view subtrees.  Every
  1166.                       such subtree, both included and excluded, is
  1167.                       defined in this table.
  1168.  
  1169.                       To determine if a particular object instance is in
  1170.                       a particular MIB view, compare the object
  1171.                       instance's OBJECT IDENTIFIER with each of the MIB
  1172.                       view's entries in this table.  If none match, then
  1173.                       the object instance is not in the MIB view.  If
  1174.                       one or more match, then the object instance is
  1175.                       included in, or excluded from, the MIB view
  1176.                       according to the value of viewType in the entry
  1177.                       whose value of viewSubtree has the most sub-
  1178.                       identifiers.  If multiple entries match and have
  1179.                       the same number of sub-identifiers, then the
  1180.                       lexicographically greatest instance of viewType
  1181.                       determines the inclusion or exclusion.
  1182.  
  1183.                       An object instance's OBJECT IDENTIFIER X matches
  1184.                       an entry in this table when the number of sub-
  1185.                       identifiers in X is at least as many as in the
  1186.                       value of viewSubtree for the entry, and each sub-
  1187.                       identifier in the value of viewSubtree matches its
  1188.                       corresponding sub-identifier in X.  Two sub-
  1189.                       identifiers match either if the corresponding bit
  1190.                       of viewMask is zero (the 'wild card' value), or if
  1191.                       they are equal.
  1192.  
  1193.                       Due to this 'wild card' capability, we introduce
  1194.  
  1195.  
  1196.                       the term, a 'family' of view subtrees, to refer to
  1197.                       the set of subtrees defined by a particular
  1198.                       combination of values of viewSubtree and viewMask.
  1199.                       In the case where no 'wild card' is defined in
  1200.                       viewMask, the family of view subtrees reduces to a
  1201.                       single view subtree."
  1202.               ::= { snmpViews 1 }
  1203.  
  1204.           viewEntry OBJECT-TYPE
  1205.               SYNTAX      ViewEntry
  1206.               MAX-ACCESS  not-accessible
  1207.               STATUS      current
  1208.               DESCRIPTION
  1209.                       "Information on a particular family of view
  1210.                       subtrees included in or excluded from a particular
  1211.                       SNMPv2 context's MIB view.
  1212.  
  1213.                       Implementations must not restrict the number of
  1214.                       families of view subtrees for a given MIB view,
  1215.                       except as dictated by resource constraints on the
  1216.                       overall number of entries in the viewTable."
  1217.               INDEX      { viewIndex, IMPLIED viewSubtree }
  1218.               ::= { viewTable 1 }
  1219.  
  1220.           ViewEntry ::=
  1221.               SEQUENCE {
  1222.                   viewIndex        INTEGER,
  1223.                   viewSubtree      OBJECT IDENTIFIER,
  1224.                   viewMask         OCTET STRING,
  1225.                   viewType         INTEGER,
  1226.                   viewStorageType  StorageType,
  1227.                   viewStatus       RowStatus
  1228.               }
  1229.  
  1230.  
  1231.           viewIndex OBJECT-TYPE
  1232.               SYNTAX      INTEGER (1..65535)
  1233.               MAX-ACCESS  not-accessible
  1234.               STATUS      current
  1235.               DESCRIPTION
  1236.                       "A unique value for each MIB view.  The value for
  1237.                       each MIB view must remain constant at least from
  1238.                       one re-initialization of the entity's network
  1239.                       management system to the next re-initialization."
  1240.               ::= { viewEntry 1 }
  1241.  
  1242.           viewSubtree OBJECT-TYPE
  1243.               SYNTAX      OBJECT IDENTIFIER
  1244.               MAX-ACCESS  not-accessible
  1245.               STATUS      current
  1246.               DESCRIPTION
  1247.                       "A MIB subtree."
  1248.               ::= { viewEntry 2 }
  1249.  
  1250.           viewMask OBJECT-TYPE
  1251.               SYNTAX      OCTET STRING (SIZE (0..16))
  1252.               MAX-ACCESS  read-create
  1253.               STATUS      current
  1254.               DESCRIPTION
  1255.                       "The bit mask which, in combination with the
  1256.                       corresponding instance of viewSubtree, defines a
  1257.                       family of view subtrees.
  1258.  
  1259.                       Each bit of this bit mask corresponds to a sub-
  1260.                       identifier of viewSubtree, with the most
  1261.                       significant bit of the i-th octet of this octet
  1262.                       string value (extended if necessary, see below)
  1263.                       corresponding to the (8*i - 7)-th sub-identifier,
  1264.                       and the least significant bit of the i-th octet of
  1265.                       this octet string corresponding to the (8*i)-th
  1266.                       sub-identifier, where i is in the range 1 through
  1267.                       16.
  1268.  
  1269.                       Each bit of this bit mask specifies whether or not
  1270.                       the corresponding sub-identifiers must match when
  1271.                       determining if an OBJECT IDENTIFIER is in this
  1272.                       family of view subtrees; a '1' indicates that an
  1273.                       exact match must occur; a '0' indicates 'wild
  1274.                       card', i.e., any sub-identifier value matches.
  1275.  
  1276.  
  1277.                       Thus, the OBJECT IDENTIFIER X of an object
  1278.                       instance is contained in a family of view subtrees
  1279.                       if the following criteria are met:
  1280.  
  1281.                            for each sub-identifier of the value of
  1282.                            viewSubtree, either:
  1283.  
  1284.                                 the i-th bit of viewMask is 0, or
  1285.  
  1286.                                 the i-th sub-identifier of X is equal to
  1287.                                 the i-th sub-identifier of the value of
  1288.                                 viewSubtree.
  1289.  
  1290.                       If the value of this bit mask is M bits long and
  1291.                       there are more than M sub-identifiers in the
  1292.                       corresponding instance of viewSubtree, then the
  1293.                       bit mask is extended with 1's to be the required
  1294.                       length.
  1295.  
  1296.                       Note that when the value of this object is the
  1297.                       zero-length string, this extension rule results in
  1298.                       a mask of all-1's being used (i.e., no 'wild
  1299.                       card'), and the family of view subtrees is the one
  1300.                       view subtree uniquely identified by the
  1301.                       corresponding instance of viewSubtree."
  1302.               DEFVAL      { ''H }
  1303.               ::= { viewEntry 3 }
  1304.  
  1305.  
  1306.           viewType OBJECT-TYPE
  1307.               SYNTAX      INTEGER  {
  1308.                               included(1),
  1309.                               excluded(2)
  1310.                           }
  1311.               MAX-ACCESS  read-create
  1312.               STATUS      current
  1313.               DESCRIPTION
  1314.                       "The status of a particular family of view
  1315.                       subtrees within the particular SNMPv2 context's
  1316.                       MIB view.  The value 'included(1)' indicates that
  1317.                       the corresponding instances of viewSubtree and
  1318.                       viewMask define a family of view subtrees included
  1319.                       in the MIB view.  The  value 'excluded(2)'
  1320.                       indicates that the corresponding instances of
  1321.                       viewSubtree and viewMask define a family of view
  1322.                       subtrees excluded from the MIB view."
  1323.               DEFVAL      { included }
  1324.               ::= { viewEntry 4 }
  1325.  
  1326.           viewStorageType OBJECT-TYPE
  1327.               SYNTAX      StorageType
  1328.               MAX-ACCESS  read-create
  1329.               STATUS      current
  1330.               DESCRIPTION
  1331.                       "The storage type for this conceptual row in the
  1332.                       viewTable."
  1333.               DEFVAL      { nonVolatile }
  1334.               ::= { viewEntry 5 }
  1335.  
  1336.           viewStatus OBJECT-TYPE
  1337.               SYNTAX      RowStatus
  1338.               MAX-ACCESS  read-create
  1339.               STATUS      current
  1340.               DESCRIPTION
  1341.                       "The status of this conceptual row in the
  1342.                       viewTable."
  1343.               ::= { viewEntry 6 }
  1344.  
  1345.  
  1346.           -- conformance information
  1347.  
  1348.           partyMIBConformance
  1349.                          OBJECT IDENTIFIER ::= { partyMIB 3 }
  1350.  
  1351.           partyMIBCompliances
  1352.                          OBJECT IDENTIFIER ::= { partyMIBConformance 1 }
  1353.           partyMIBGroups
  1354.                          OBJECT IDENTIFIER ::= { partyMIBConformance 2 }
  1355.  
  1356.           -- compliance statements
  1357.  
  1358.           unSecurableCompliance MODULE-COMPLIANCE
  1359.               STATUS  current
  1360.               DESCRIPTION
  1361.                       "The compliance statement for SNMPv2 entities
  1362.                       which implement the Party MIB, but do not support
  1363.                       any authentication or privacy protocols (i.e.,
  1364.                       only the noAuth and noPriv protocols are
  1365.                       supported)."
  1366.               MODULE  -- this module
  1367.                   MANDATORY-GROUPS { partyMIBGroup }
  1368.               ::= { partyMIBCompliances 1 }
  1369.  
  1370.           partyNoPrivacyCompliance MODULE-COMPLIANCE
  1371.               STATUS  current
  1372.               DESCRIPTION
  1373.                       "The compliance statement for SNMPv2 entities
  1374.                       which implement the Party MIB, and support an
  1375.                       authentication protocol, but do not support any
  1376.                       privacy protocols (i.e., only the noAuth,
  1377.                       v2md5AuthProtocol, and noPriv protocols are
  1378.                       supported)."
  1379.               MODULE  -- this module
  1380.                   MANDATORY-GROUPS { partyMIBGroup }
  1381.               ::= { partyMIBCompliances 2 }
  1382.  
  1383.  
  1384.           partyPrivacyCompliance MODULE-COMPLIANCE
  1385.               STATUS  current
  1386.               DESCRIPTION
  1387.                       "The compliance statement for SNMPv2 entities
  1388.                       which implement the Party MIB, support an
  1389.                       authentication protocol, and support a privacy
  1390.                       protocol ONLY for the purpose of accessing
  1391.                       security parameters.
  1392.  
  1393.                       For all aclTable entries authorizing a subject
  1394.                       and/or target SNMPv2 party whose privacy protocol
  1395.                       is desPrivProtocol, to be used in accessing a
  1396.                       SNMPv2 context, the MIB view for that SNMPv2
  1397.                       context shall include only those objects
  1398.                       subordinate to partyMIBObjects, or a subset
  1399.                       thereof, e.g.,
  1400.  
  1401.                            viewSubtree = { partyMIBObjects }
  1402.                            viewMask    = ''H
  1403.                            viewType    = { included }
  1404.  
  1405.                       Any attempt to configure an entry in the
  1406.                       partyTable, the contextTable, the aclTable or the
  1407.                       viewTable such that a party using the
  1408.                       desPrivProtocol would be authorized for use in
  1409.                       accessing objects outside of the partyMIBObjects
  1410.                       subtree shall result in the appropriate error
  1411.                       response (e.g., wrongValue or inconsistentValue)."
  1412.               MODULE  -- this module
  1413.                   MANDATORY-GROUPS { partyMIBGroup }
  1414.               ::= { partyMIBCompliances 3 }
  1415.  
  1416.  
  1417.           fullPrivacyCompliance MODULE-COMPLIANCE
  1418.               STATUS  current
  1419.               DESCRIPTION
  1420.                       "The compliance statement for SNMPv2 entities
  1421.                       which implement the Party MIB, support an
  1422.                       authentication protocol, and support a privacy
  1423.                       protocol without restrictions on its use."
  1424.               MODULE  -- this module
  1425.                   MANDATORY-GROUPS { partyMIBGroup }
  1426.               ::= { partyMIBCompliances 4 }
  1427.  
  1428.         -- units of conformance
  1429.  
  1430.         partyMIBGroup OBJECT-GROUP
  1431.             OBJECTS { partyIndex, partyTDomain, partyTAddress,
  1432.                       partyMaxMessageSize, partyLocal,
  1433.                       partyAuthProtocol, partyAuthClock,
  1434.                       partyAuthPrivate, partyAuthPublic,
  1435.                       partyAuthLifetime, partyPrivProtocol,
  1436.                       partyPrivPrivate, partyPrivPublic,
  1437.                       partyStorageType, partyStatus,
  1438.                       partyCloneFrom,
  1439.                       contextIndex, contextLocal,
  1440.                       contextViewIndex, contextLocalEntity,
  1441.                       contextLocalTime, contextStorageType,
  1442.                       contextStatus, aclTarget, aclSubject,
  1443.                       aclPrivileges, aclStorageType, aclStatus,
  1444.                       viewMask, viewType, viewStorageType, viewStatus }
  1445.             STATUS  current
  1446.             DESCRIPTION
  1447.                     "The collection of objects allowing the
  1448.                     description and configuration of SNMPv2 parties.
  1449.  
  1450.                     Note that objects which support proxy
  1451.                     relationships are not included in this conformance
  1452.                     group."
  1453.             ::= { partyMIBGroups 1 }
  1454.  
  1455. END
  1456.