SNMP-VIEW-BASED-ACM-MIB
上传用户:aonuowh
上传日期:2021-05-23
资源大小:35390k
文件大小:33k
源码类别:

SNMP编程

开发平台:

C/C++

  1. SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN
  2. IMPORTS
  3.     MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF
  4.     MODULE-IDENTITY, OBJECT-TYPE,
  5.     snmpModules                           FROM SNMPv2-SMI
  6.     TestAndIncr,
  7.     RowStatus, StorageType                FROM SNMPv2-TC
  8.     SnmpAdminString,
  9.     SnmpSecurityLevel,
  10.     SnmpSecurityModel                     FROM SNMP-FRAMEWORK-MIB;
  11. snmpVacmMIB       MODULE-IDENTITY
  12.     LAST-UPDATED "9901200000Z"            -- 20 Jan 1999, midnight
  13.     ORGANIZATION "SNMPv3 Working Group"
  14.     CONTACT-INFO "WG-email:   snmpv3@lists.tislabs.com
  15.                   Subscribe:  majordomo@lists.tislabs.com
  16.                               In message body:  subscribe snmpv3
  17.                   Chair:      Russ Mundy
  18.                               Trusted Information Systems
  19.                   postal:     3060 Washington Rd
  20.                               Glenwood MD 21738
  21.                               USA
  22.                   email:      mundy@tislabs.com
  23.                   phone:      +1-301-854-6889
  24.                   Co-editor:  Bert Wijnen
  25.                               IBM T.J. Watson Research
  26.                   postal:     Schagen 33
  27.                               3461 GL Linschoten
  28.                               Netherlands
  29.                   email:      wijnen@vnet.ibm.com
  30.                   phone:      +31-348-432-794
  31.                   Co-editor:  Randy Presuhn
  32.                               BMC Software, Inc
  33.                   postal:     965 Stewart Drive
  34.                               Sunnyvale, CA 94086
  35.                               USA
  36.                   email:      randy_presuhn@bmc.com
  37.                   phone:      +1-408-616-3100
  38.                   Co-editor:  Keith McCloghrie
  39.                               Cisco Systems, Inc.
  40.                   postal:     170 West Tasman Drive
  41.                               San Jose, CA  95134-1706
  42.                               USA
  43.                   email:      kzm@cisco.com
  44.                   phone:      +1-408-526-5260
  45.                  "
  46.     DESCRIPTION  "The management information definitions for the
  47.                   View-based Access Control Model for SNMP.
  48.                  "
  49. --  Revision history
  50.     REVISION     "9901200000Z"            -- 20 Jan 1999, midnight
  51.     DESCRIPTION  "Clarifications, published as RFC2575"
  52.     REVISION     "9711200000Z"            -- 20 Nov 1997, midnight
  53.     DESCRIPTION  "Initial version, published as RFC2275"
  54.     ::= { snmpModules 16 }
  55. -- Administrative assignments ****************************************
  56. vacmMIBObjects      OBJECT IDENTIFIER ::= { snmpVacmMIB 1 }
  57. vacmMIBConformance  OBJECT IDENTIFIER ::= { snmpVacmMIB 2 }
  58. -- Information about Local Contexts **********************************
  59. vacmContextTable OBJECT-TYPE
  60.     SYNTAX       SEQUENCE OF VacmContextEntry
  61.     MAX-ACCESS   not-accessible
  62.     STATUS       current
  63.     DESCRIPTION "The table of locally available contexts.
  64.                  This table provides information to SNMP Command
  65.                  Generator applications so that they can properly
  66.                  configure the vacmAccessTable to control access to
  67.                  all contexts at the SNMP entity.
  68.                  This table may change dynamically if the SNMP entity
  69.                  allows that contexts are added/deleted dynamically
  70.                  (for instance when its configuration changes). Such
  71.                  changes would happen only if the management
  72.                  instrumentation at that SNMP entity recognizes more
  73.                  (or fewer) contexts.
  74.                  The presence of entries in this table and of entries
  75.                  in the vacmAccessTable are independent.  That is, a
  76.                  context identified by an entry in this table is not
  77.                  necessarily referenced by any entries in the
  78.                  vacmAccessTable; and the context(s) referenced by an
  79.                  entry in the vacmAccessTable does not necessarily
  80.                  currently exist and thus need not be identified by an
  81.                  entry in this table.
  82.                  This table must be made accessible via the default
  83.                  context so that Command Responder applications have
  84.                  a standard way of retrieving the information.
  85.                  This table is read-only. It cannot be configured via
  86.                  SNMP.
  87.                 "
  88.     ::= { vacmMIBObjects 1 }
  89. vacmContextEntry OBJECT-TYPE
  90.     SYNTAX       VacmContextEntry
  91.     MAX-ACCESS   not-accessible
  92.     STATUS       current
  93.     DESCRIPTION "Information about a particular context."
  94.     INDEX       {
  95.                   vacmContextName
  96.                 }
  97.     ::= { vacmContextTable 1 }
  98. VacmContextEntry ::= SEQUENCE
  99.     {
  100.         vacmContextName SnmpAdminString
  101.     }
  102. vacmContextName  OBJECT-TYPE
  103.     SYNTAX       SnmpAdminString (SIZE(0..32))
  104.     MAX-ACCESS   read-only
  105.     STATUS       current
  106.     DESCRIPTION "A human readable name identifying a particular
  107.                  context at a particular SNMP entity.
  108.                  The empty contextName (zero length) represents the
  109.                  default context.
  110.                 "
  111.     ::= { vacmContextEntry 1 }
  112. -- Information about Groups ******************************************
  113. vacmSecurityToGroupTable OBJECT-TYPE
  114.     SYNTAX       SEQUENCE OF VacmSecurityToGroupEntry
  115.     MAX-ACCESS   not-accessible
  116.     STATUS       current
  117.     DESCRIPTION "This table maps a combination of securityModel and
  118.                  securityName into a groupName which is used to define
  119.                  an access control policy for a group of principals.
  120.                 "
  121.     ::= { vacmMIBObjects 2 }
  122. vacmSecurityToGroupEntry OBJECT-TYPE
  123.     SYNTAX       VacmSecurityToGroupEntry
  124.     MAX-ACCESS   not-accessible
  125.     STATUS       current
  126.     DESCRIPTION "An entry in this table maps the combination of a
  127.                  securityModel and securityName into a groupName.
  128.                 "
  129.     INDEX       {
  130.                   vacmSecurityModel,
  131.                   vacmSecurityName
  132.                 }
  133.     ::= { vacmSecurityToGroupTable 1 }
  134. VacmSecurityToGroupEntry ::= SEQUENCE
  135.     {
  136.         vacmSecurityModel               SnmpSecurityModel,
  137.         vacmSecurityName                SnmpAdminString,
  138.         vacmGroupName                   SnmpAdminString,
  139.         vacmSecurityToGroupStorageType  StorageType,
  140.         vacmSecurityToGroupStatus       RowStatus
  141.     }
  142. vacmSecurityModel OBJECT-TYPE
  143.     SYNTAX       SnmpSecurityModel(1..2147483647)
  144.     MAX-ACCESS   not-accessible
  145.     STATUS       current
  146.     DESCRIPTION "The Security Model, by which the vacmSecurityName
  147.                  referenced by this entry is provided.
  148.                  Note, this object may not take the 'any' (0) value.
  149.                 "
  150.     ::= { vacmSecurityToGroupEntry 1 }
  151. vacmSecurityName OBJECT-TYPE
  152.     SYNTAX       SnmpAdminString (SIZE(1..32))
  153.     MAX-ACCESS   not-accessible
  154.     STATUS       current
  155.     DESCRIPTION "The securityName for the principal, represented in a
  156.                  Security Model independent format, which is mapped by
  157.                  this entry to a groupName.
  158.                 "
  159.     ::= { vacmSecurityToGroupEntry 2 }
  160. vacmGroupName    OBJECT-TYPE
  161.     SYNTAX       SnmpAdminString (SIZE(1..32))
  162.     MAX-ACCESS   read-create
  163.     STATUS       current
  164.     DESCRIPTION "The name of the group to which this entry (e.g., the
  165.                  combination of securityModel and securityName)
  166.                  belongs.
  167.                  This groupName is used as index into the
  168.                  vacmAccessTable to select an access control policy.
  169.                  However, a value in this table does not imply that an
  170.                  instance with the value exists in table vacmAccesTable.
  171.                 "
  172.     ::= { vacmSecurityToGroupEntry 3 }
  173. vacmSecurityToGroupStorageType OBJECT-TYPE
  174.     SYNTAX       StorageType
  175.     MAX-ACCESS   read-create
  176.     STATUS       current
  177.     DESCRIPTION "The storage type for this conceptual row.
  178.                  Conceptual rows having the value 'permanent' need not
  179.                  allow write-access to any columnar objects in the row.
  180.                 "
  181.     DEFVAL      { nonVolatile }
  182.     ::= { vacmSecurityToGroupEntry 4 }
  183. vacmSecurityToGroupStatus OBJECT-TYPE
  184.     SYNTAX       RowStatus
  185.     MAX-ACCESS   read-create
  186.     STATUS       current
  187.     DESCRIPTION "The status of this conceptual row.
  188.                  Until instances of all corresponding columns are
  189.                  appropriately configured, the value of the
  190.                  corresponding instance of the vacmSecurityToGroupStatus
  191.                  column is 'notReady'.
  192.                  In particular, a newly created row cannot be made
  193.                  active until a value has been set for vacmGroupName.
  194.                  The  RowStatus TC [RFC2579] requires that this
  195.                  DESCRIPTION clause states under which circumstances
  196.                  other objects in this row can be modified:
  197.                  The value of this object has no effect on whether
  198.                  other objects in this conceptual row can be modified.
  199.                 "
  200.     ::= { vacmSecurityToGroupEntry 5 }
  201. -- Information about Access Rights ***********************************
  202. vacmAccessTable  OBJECT-TYPE
  203.     SYNTAX       SEQUENCE OF VacmAccessEntry
  204.     MAX-ACCESS   not-accessible
  205.     STATUS       current
  206.     DESCRIPTION "The table of access rights for groups.
  207.                  Each entry is indexed by a groupName, a contextPrefix,
  208.                  a securityModel and a securityLevel.  To determine
  209.                  whether access is allowed, one entry from this table
  210.                  needs to be selected and the proper viewName from that
  211.                  entry must be used for access control checking.
  212.                  To select the proper entry, follow these steps:
  213.                  1) the set of possible matches is formed by the
  214.                     intersection of the following sets of entries:
  215.                       the set of entries with identical vacmGroupName
  216.                       the union of these two sets:
  217.                        - the set with identical vacmAccessContextPrefix
  218.                        - the set of entries with vacmAccessContextMatch
  219.                          value of 'prefix' and matching
  220.                          vacmAccessContextPrefix
  221.                       intersected with the union of these two sets:
  222.                        - the set of entries with identical
  223.                          vacmSecurityModel
  224.                        - the set of entries with vacmSecurityModel
  225.                          value of 'any'
  226.                       intersected with the set of entries with
  227.                       vacmAccessSecurityLevel value less than or equal
  228.                       to the requested securityLevel
  229.                  2) if this set has only one member, we're done
  230.                     otherwise, it comes down to deciding how to weight
  231.                     the preferences between ContextPrefixes,
  232.                     SecurityModels, and SecurityLevels as follows:
  233.                     a) if the subset of entries with securityModel
  234.                        matching the securityModel in the message is
  235.                        not empty, then discard the rest.
  236.                     b) if the subset of entries with
  237.                        vacmAccessContextPrefix matching the contextName
  238.                        in the message is not empty,
  239.                        then discard the rest
  240.                     c) discard all entries with ContextPrefixes shorter
  241.                        than the longest one remaining in the set
  242.                     d) select the entry with the highest securityLevel
  243.                  Please note that for securityLevel noAuthNoPriv, all
  244.                  groups are really equivalent since the assumption that
  245.                  the securityName has been authenticated does not hold.
  246.                 "
  247.     ::= { vacmMIBObjects 4 }
  248. vacmAccessEntry  OBJECT-TYPE
  249.     SYNTAX       VacmAccessEntry
  250.     MAX-ACCESS   not-accessible
  251.     STATUS       current
  252.     DESCRIPTION "An access right configured in the Local Configuration
  253.                  Datastore (LCD) authorizing access to an SNMP context.
  254.                  Entries in this table can use an instance value for
  255.                  object vacmGroupName even if no entry in table
  256.                  vacmAccessSecurityToGroupTable has a corresponding
  257.                  value for object vacmGroupName.
  258.                 "
  259.     INDEX       { vacmGroupName,
  260.                   vacmAccessContextPrefix,
  261.                   vacmAccessSecurityModel,
  262.                   vacmAccessSecurityLevel
  263.                 }
  264.     ::= { vacmAccessTable 1 }
  265. VacmAccessEntry ::= SEQUENCE
  266.     {
  267.         vacmAccessContextPrefix    SnmpAdminString,
  268.         vacmAccessSecurityModel    SnmpSecurityModel,
  269.         vacmAccessSecurityLevel    SnmpSecurityLevel,
  270.         vacmAccessContextMatch     INTEGER,
  271.         vacmAccessReadViewName     SnmpAdminString,
  272.         vacmAccessWriteViewName    SnmpAdminString,
  273.         vacmAccessNotifyViewName   SnmpAdminString,
  274.         vacmAccessStorageType      StorageType,
  275.         vacmAccessStatus           RowStatus
  276.     }
  277. vacmAccessContextPrefix OBJECT-TYPE
  278.     SYNTAX       SnmpAdminString (SIZE(0..32))
  279.     MAX-ACCESS   not-accessible
  280.     STATUS       current
  281.     DESCRIPTION "In order to gain the access rights allowed by this
  282.                  conceptual row, a contextName must match exactly
  283.                  (if the value of vacmAccessContextMatch is 'exact')
  284.                  or partially (if the value of vacmAccessContextMatch
  285.                  is 'prefix') to the value of the instance of this
  286.                  object.
  287.                 "
  288.     ::= { vacmAccessEntry 1 }
  289. vacmAccessSecurityModel OBJECT-TYPE
  290.     SYNTAX       SnmpSecurityModel
  291.     MAX-ACCESS   not-accessible
  292.     STATUS       current
  293.     DESCRIPTION "In order to gain the access rights allowed by this
  294.                  conceptual row, this securityModel must be in use.
  295.                 "
  296.     ::= { vacmAccessEntry 2 }
  297. vacmAccessSecurityLevel OBJECT-TYPE
  298.     SYNTAX       SnmpSecurityLevel
  299.     MAX-ACCESS   not-accessible
  300.     STATUS       current
  301.     DESCRIPTION "The minimum level of security required in order to
  302.                  gain the access rights allowed by this conceptual
  303.                  row.  A securityLevel of noAuthNoPriv is less than
  304.                  authNoPriv which in turn is less than authPriv.
  305.                  If multiple entries are equally indexed except for
  306.                  this vacmAccessSecurityLevel index, then the entry
  307.                  which has the highest value for
  308.                  vacmAccessSecurityLevel is selected.
  309.                 "
  310.     ::= { vacmAccessEntry 3 }
  311. vacmAccessContextMatch OBJECT-TYPE
  312.     SYNTAX       INTEGER
  313.                 { exact (1), -- exact match of prefix and contextName
  314.                   prefix (2) -- Only match to the prefix
  315.                 }
  316.     MAX-ACCESS   read-create
  317.     STATUS       current
  318.     DESCRIPTION "If the value of this object is exact(1), then all
  319.                  rows where the contextName exactly matches
  320.                  vacmAccessContextPrefix are selected.
  321.                  If the value of this object is prefix(2), then all
  322.                  rows where the contextName whose starting octets
  323.                  exactly match vacmAccessContextPrefix are selected.
  324.                  This allows for a simple form of wildcarding.
  325.                 "
  326.     DEFVAL      { exact }
  327.     ::= { vacmAccessEntry 4 }
  328. vacmAccessReadViewName OBJECT-TYPE
  329.     SYNTAX       SnmpAdminString (SIZE(0..32))
  330.     MAX-ACCESS   read-create
  331.     STATUS       current
  332.     DESCRIPTION "The value of an instance of this object identifies
  333.                  the MIB view of the SNMP context to which this
  334.                  conceptual row authorizes read access.
  335.                  The identified MIB view is that one for which the
  336.                  vacmViewTreeFamilyViewName has the same value as the
  337.                  instance of this object; if the value is the empty
  338.                  string or if there is no active MIB view having this
  339.                  value of vacmViewTreeFamilyViewName, then no access
  340.                  is granted.
  341.                 "
  342.     DEFVAL      { ''H }   -- the empty string
  343.     ::= { vacmAccessEntry 5 }
  344. vacmAccessWriteViewName OBJECT-TYPE
  345.     SYNTAX       SnmpAdminString (SIZE(0..32))
  346.     MAX-ACCESS   read-create
  347.     STATUS       current
  348.     DESCRIPTION "The value of an instance of this object identifies
  349.                  the MIB view of the SNMP context to which this
  350.                  conceptual row authorizes write access.
  351.                  The identified MIB view is that one for which the
  352.                  vacmViewTreeFamilyViewName has the same value as the
  353.                  instance of this object; if the value is the empty
  354.                  string or if there is no active MIB view having this
  355.                  value of vacmViewTreeFamilyViewName, then no access
  356.                  is granted.
  357.                 "
  358.     DEFVAL      { ''H }   -- the empty string
  359.     ::= { vacmAccessEntry 6 }
  360. vacmAccessNotifyViewName OBJECT-TYPE
  361.     SYNTAX       SnmpAdminString (SIZE(0..32))
  362.     MAX-ACCESS   read-create
  363.     STATUS       current
  364.     DESCRIPTION "The value of an instance of this object identifies
  365.                  the MIB view of the SNMP context to which this
  366.                  conceptual row authorizes access for notifications.
  367.                  The identified MIB view is that one for which the
  368.                  vacmViewTreeFamilyViewName has the same value as the
  369.                  instance of this object; if the value is the empty
  370.                  string or if there is no active MIB view having this
  371.                  value of vacmViewTreeFamilyViewName, then no access
  372.                  is granted.
  373.                 "
  374.     DEFVAL      { ''H }   -- the empty string
  375.     ::= { vacmAccessEntry 7 }
  376. vacmAccessStorageType OBJECT-TYPE
  377.     SYNTAX       StorageType
  378.     MAX-ACCESS   read-create
  379.     STATUS       current
  380.     DESCRIPTION "The storage type for this conceptual row.
  381.                  Conceptual rows having the value 'permanent' need not
  382.                  allow write-access to any columnar objects in the row.
  383.                 "
  384.     DEFVAL      { nonVolatile }
  385.     ::= { vacmAccessEntry 8 }
  386. vacmAccessStatus OBJECT-TYPE
  387.     SYNTAX       RowStatus
  388.     MAX-ACCESS   read-create
  389.     STATUS       current
  390.     DESCRIPTION "The status of this conceptual row.
  391.                  The  RowStatus TC [RFC2579] requires that this
  392.                  DESCRIPTION clause states under which circumstances
  393.                  other objects in this row can be modified:
  394.                  The value of this object has no effect on whether
  395.                  other objects in this conceptual row can be modified.
  396.                 "
  397.     ::= { vacmAccessEntry 9 }
  398. -- Information about MIB views ***************************************
  399. -- Support for instance-level granularity is optional.
  400. --
  401. -- In some implementations, instance-level access control
  402. -- granularity may come at a high performance cost.  Managers
  403. -- should avoid requesting such configurations unnecessarily.
  404. vacmMIBViews     OBJECT IDENTIFIER ::= { vacmMIBObjects 5 }
  405. vacmViewSpinLock OBJECT-TYPE
  406.     SYNTAX       TestAndIncr
  407.     MAX-ACCESS   read-write
  408.     STATUS       current
  409.     DESCRIPTION "An advisory lock used to allow cooperating SNMP
  410.                  Command Generator applications to coordinate their
  411.                  use of the Set operation in creating or modifying
  412.                  views.
  413.                  When creating a new view or altering an existing
  414.                  view, it is important to understand the potential
  415.                  interactions with other uses of the view.  The
  416.                  vacmViewSpinLock should be retrieved.  The name of
  417.                  the view to be created should be determined to be
  418.                  unique by the SNMP Command Generator application by
  419.                  consulting the vacmViewTreeFamilyTable.  Finally,
  420.                  the named view may be created (Set), including the
  421.                  advisory lock.
  422.                  If another SNMP Command Generator application has
  423.                  altered the views in the meantime, then the spin
  424.                  lock's value will have changed, and so this creation
  425.                  will fail because it will specify the wrong value for
  426.                  the spin lock.
  427.                  Since this is an advisory lock, the use of this lock
  428.                  is not enforced.
  429.                 "
  430.     ::= { vacmMIBViews 1 }
  431. vacmViewTreeFamilyTable OBJECT-TYPE
  432.     SYNTAX       SEQUENCE OF VacmViewTreeFamilyEntry
  433.     MAX-ACCESS   not-accessible
  434.     STATUS       current
  435.     DESCRIPTION "Locally held information about families of subtrees
  436.                  within MIB views.
  437.                  Each MIB view is defined by two sets of view subtrees:
  438.                    - the included view subtrees, and
  439.                    - the excluded view subtrees.
  440.                  Every such view subtree, both the included and the
  441.                  excluded ones, is defined in this table.
  442.                  To determine if a particular object instance is in
  443.                  a particular MIB view, compare the object instance's
  444.                  OBJECT IDENTIFIER with each of the MIB view's active
  445.                  entries in this table.  If none match, then the
  446.                  object instance is not in the MIB view.  If one or
  447.                  more match, then the object instance is included in,
  448.                  or excluded from, the MIB view according to the
  449.                  value of vacmViewTreeFamilyType in the entry whose
  450.                  value of vacmViewTreeFamilySubtree has the most
  451.                  sub-identifiers.  If multiple entries match and have
  452.                  the same number of sub-identifiers (when wildcarding
  453.                  is specified with the value of vacmViewTreeFamilyMask),
  454.                  then the lexicographically greatest instance of
  455.                  vacmViewTreeFamilyType determines the inclusion or
  456.                  exclusion.
  457.                  An object instance's OBJECT IDENTIFIER X matches an
  458.                  active entry in this table when the number of
  459.                  sub-identifiers in X is at least as many as in the
  460.                  value of vacmViewTreeFamilySubtree for the entry,
  461.                  and each sub-identifier in the value of
  462.                  vacmViewTreeFamilySubtree matches its corresponding
  463.                  sub-identifier in X.  Two sub-identifiers match
  464.                  either if the corresponding bit of the value of
  465.                  vacmViewTreeFamilyMask for the entry is zero (the
  466.                  'wild card' value), or if they are equal.
  467.                  A 'family' of subtrees is the set of subtrees defined
  468.                  by a particular combination of values of
  469.                  vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask.
  470.                  In the case where no 'wild card' is defined in the
  471.                  vacmViewTreeFamilyMask, the family of subtrees reduces
  472.                  to a single subtree.
  473.                  When creating or changing MIB views, an SNMP Command
  474.                  Generator application should utilize the
  475.                  vacmViewSpinLock to try to avoid collisions. See
  476.                  DESCRIPTION clause of vacmViewSpinLock.
  477.                  When creating MIB views, it is strongly advised that
  478.                  first the 'excluded' vacmViewTreeFamilyEntries are
  479.                  created and then the 'included' entries.
  480.                  When deleting MIB views, it is strongly advised that
  481.                  first the 'included' vacmViewTreeFamilyEntries are
  482.                  deleted and then the 'excluded' entries.
  483.                  If a create for an entry for instance-level access
  484.                  control is received and the implementation does not
  485.                  support instance-level granularity, then an
  486.                  inconsistentName error must be returned.
  487.                 "
  488.     ::= { vacmMIBViews 2 }
  489. vacmViewTreeFamilyEntry OBJECT-TYPE
  490.     SYNTAX       VacmViewTreeFamilyEntry
  491.     MAX-ACCESS   not-accessible
  492.     STATUS       current
  493.     DESCRIPTION "Information on a particular family of view subtrees
  494.                  included in or excluded from a particular SNMP
  495.                  context's MIB view.
  496.                  Implementations must not restrict the number of
  497.                  families of view subtrees for a given MIB view,
  498.                  except as dictated by resource constraints on the
  499.                  overall number of entries in the
  500.                  vacmViewTreeFamilyTable.
  501.                  If no conceptual rows exist in this table for a given
  502.                  MIB view (viewName), that view may be thought of as
  503.                  consisting of the empty set of view subtrees.
  504.                 "
  505.     INDEX       { vacmViewTreeFamilyViewName,
  506.                   vacmViewTreeFamilySubtree
  507.                 }
  508.     ::= { vacmViewTreeFamilyTable 1 }
  509. VacmViewTreeFamilyEntry ::= SEQUENCE
  510.     {
  511.         vacmViewTreeFamilyViewName     SnmpAdminString,
  512.         vacmViewTreeFamilySubtree      OBJECT IDENTIFIER,
  513.         vacmViewTreeFamilyMask         OCTET STRING,
  514.         vacmViewTreeFamilyType         INTEGER,
  515.         vacmViewTreeFamilyStorageType  StorageType,
  516.         vacmViewTreeFamilyStatus       RowStatus
  517.     }
  518. vacmViewTreeFamilyViewName OBJECT-TYPE
  519.     SYNTAX       SnmpAdminString (SIZE(1..32))
  520.     MAX-ACCESS   not-accessible
  521.     STATUS       current
  522.     DESCRIPTION "The human readable name for a family of view subtrees.
  523.                 "
  524.     ::= { vacmViewTreeFamilyEntry 1 }
  525. vacmViewTreeFamilySubtree OBJECT-TYPE
  526.     SYNTAX       OBJECT IDENTIFIER
  527.     MAX-ACCESS   not-accessible
  528.     STATUS       current
  529.     DESCRIPTION "The MIB subtree which when combined with the
  530.                  corresponding instance of vacmViewTreeFamilyMask
  531.                  defines a family of view subtrees.
  532.                 "
  533.     ::= { vacmViewTreeFamilyEntry 2 }
  534. vacmViewTreeFamilyMask OBJECT-TYPE
  535.     SYNTAX       OCTET STRING (SIZE (0..16))
  536.     MAX-ACCESS   read-create
  537.     STATUS       current
  538.     DESCRIPTION "The bit mask which, in combination with the
  539.                  corresponding instance of vacmViewTreeFamilySubtree,
  540.                  defines a family of view subtrees.
  541.                  Each bit of this bit mask corresponds to a
  542.                  sub-identifier of vacmViewTreeFamilySubtree, with the
  543.                  most significant bit of the i-th octet of this octet
  544.                  string value (extended if necessary, see below)
  545.                  corresponding to the (8*i - 7)-th sub-identifier, and
  546.                  the least significant bit of the i-th octet of this
  547.                  octet string corresponding to the (8*i)-th
  548.                  sub-identifier, where i is in the range 1 through 16.
  549.                  Each bit of this bit mask specifies whether or not
  550.                  the corresponding sub-identifiers must match when
  551.                  determining if an OBJECT IDENTIFIER is in this
  552.                  family of view subtrees; a '1' indicates that an
  553.                  exact match must occur; a '0' indicates 'wild card',
  554.                  i.e., any sub-identifier value matches.
  555.                  Thus, the OBJECT IDENTIFIER X of an object instance
  556.                  is contained in a family of view subtrees if, for
  557.                  each sub-identifier of the value of
  558.                  vacmViewTreeFamilySubtree, either:
  559.                    the i-th bit of vacmViewTreeFamilyMask is 0, or
  560.                    the i-th sub-identifier of X is equal to the i-th
  561.                    sub-identifier of the value of
  562.                    vacmViewTreeFamilySubtree.
  563.                  If the value of this bit mask is M bits long and
  564.                  there are more than M sub-identifiers in the
  565.                  corresponding instance of vacmViewTreeFamilySubtree,
  566.                  then the bit mask is extended with 1's to be the
  567.                  required length.
  568.                  Note that when the value of this object is the
  569.                  zero-length string, this extension rule results in
  570.                  a mask of all-1's being used (i.e., no 'wild card'),
  571.                  and the family of view subtrees is the one view
  572.                  subtree uniquely identified by the corresponding
  573.                  instance of vacmViewTreeFamilySubtree.
  574.                  Note that masks of length greater than zero length
  575.                  do not need to be supported. In this case this
  576.                  object is made read-only.
  577.                 "
  578.     DEFVAL      { ''H }
  579.     ::= { vacmViewTreeFamilyEntry 3 }
  580. vacmViewTreeFamilyType OBJECT-TYPE
  581.     SYNTAX       INTEGER  { included(1), excluded(2) }
  582.     MAX-ACCESS   read-create
  583.     STATUS       current
  584.     DESCRIPTION "Indicates whether the corresponding instances of
  585.                  vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
  586.                  define a family of view subtrees which is included in
  587.                  or excluded from the MIB view.
  588.                 "
  589.     DEFVAL      { included }
  590.     ::= { vacmViewTreeFamilyEntry 4 }
  591. vacmViewTreeFamilyStorageType OBJECT-TYPE
  592.     SYNTAX       StorageType
  593.     MAX-ACCESS   read-create
  594.     STATUS       current
  595.     DESCRIPTION "The storage type for this conceptual row.
  596.                  Conceptual rows having the value 'permanent' need not
  597.                  allow write-access to any columnar objects in the row.
  598.                 "
  599.     DEFVAL      { nonVolatile }
  600.     ::= { vacmViewTreeFamilyEntry 5 }
  601. vacmViewTreeFamilyStatus OBJECT-TYPE
  602.     SYNTAX       RowStatus
  603.     MAX-ACCESS   read-create
  604.     STATUS       current
  605.     DESCRIPTION "The status of this conceptual row.
  606.                  The  RowStatus TC [RFC2579] requires that this
  607.                  DESCRIPTION clause states under which circumstances
  608.                  other objects in this row can be modified:
  609.                  The value of this object has no effect on whether
  610.                  other objects in this conceptual row can be modified.
  611.                 "
  612.     ::= { vacmViewTreeFamilyEntry 6 }
  613. -- Conformance information *******************************************
  614. vacmMIBCompliances  OBJECT IDENTIFIER ::= { vacmMIBConformance 1 }
  615. vacmMIBGroups       OBJECT IDENTIFIER ::= { vacmMIBConformance 2 }
  616. -- Compliance statements *********************************************
  617. vacmMIBCompliance MODULE-COMPLIANCE
  618.     STATUS       current
  619.     DESCRIPTION "The compliance statement for SNMP engines which
  620.                  implement the SNMP View-based Access Control Model
  621.                  configuration MIB.
  622.                 "
  623.     MODULE -- this module
  624.         MANDATORY-GROUPS { vacmBasicGroup }
  625.         OBJECT        vacmAccessContextMatch
  626.         MIN-ACCESS    read-only
  627.         DESCRIPTION  "Write access is not required."
  628.         OBJECT        vacmAccessReadViewName
  629.         MIN-ACCESS    read-only
  630.         DESCRIPTION  "Write access is not required."
  631.         OBJECT        vacmAccessWriteViewName
  632.         MIN-ACCESS    read-only
  633.         DESCRIPTION  "Write access is not required."
  634.         OBJECT        vacmAccessNotifyViewName
  635.         MIN-ACCESS    read-only
  636.         DESCRIPTION  "Write access is not required."
  637.         OBJECT        vacmAccessStorageType
  638.         MIN-ACCESS    read-only
  639.         DESCRIPTION  "Write access is not required."
  640.         OBJECT        vacmAccessStatus
  641.         MIN-ACCESS    read-only
  642.         DESCRIPTION  "Create/delete/modify access to the
  643.                       vacmAccessTable is not required.
  644.                      "
  645.         OBJECT        vacmViewTreeFamilyMask
  646.         WRITE-SYNTAX  OCTET STRING (SIZE (0))
  647.         MIN-ACCESS    read-only
  648.         DESCRIPTION  "Support for configuration via SNMP of subtree
  649.                       families using wild-cards is not required.
  650.                      "
  651.         OBJECT        vacmViewTreeFamilyType
  652.         MIN-ACCESS    read-only
  653.         DESCRIPTION  "Write access is not required."
  654.         OBJECT        vacmViewTreeFamilyStorageType
  655.         MIN-ACCESS    read-only
  656.         DESCRIPTION  "Write access is not required."
  657.         OBJECT        vacmViewTreeFamilyStatus
  658.         MIN-ACCESS    read-only
  659.         DESCRIPTION  "Create/delete/modify access to the
  660.                       vacmViewTreeFamilyTable is not required.
  661.                      "
  662.     ::= { vacmMIBCompliances 1 }
  663. -- Units of conformance **********************************************
  664. vacmBasicGroup OBJECT-GROUP
  665.     OBJECTS {
  666.               vacmContextName,
  667.               vacmGroupName,
  668.               vacmSecurityToGroupStorageType,
  669.               vacmSecurityToGroupStatus,
  670.               vacmAccessContextMatch,
  671.               vacmAccessReadViewName,
  672.               vacmAccessWriteViewName,
  673.               vacmAccessNotifyViewName,
  674.               vacmAccessStorageType,
  675.               vacmAccessStatus,
  676.               vacmViewSpinLock,
  677.               vacmViewTreeFamilyMask,
  678.               vacmViewTreeFamilyType,
  679.               vacmViewTreeFamilyStorageType,
  680.               vacmViewTreeFamilyStatus
  681.             }
  682.     STATUS       current
  683.     DESCRIPTION "A collection of objects providing for remote
  684.                  configuration of an SNMP engine which implements
  685.                  the SNMP View-based Access Control Model.
  686.                 "
  687.     ::= { vacmMIBGroups 1 }
  688. END