SNMP-VIEW-BASED-ACM-MIB.txt
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:33k
源码类别:

SNMP编程

开发平台:

Unix_Linux

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