home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 May / W2KPRK.iso / apps / InternetScanner / data1.cab / Program_Files / Mibs / SNMP-VIEW-BASED-ACM-MIB.txt < prev    next >
Text File  |  1999-11-22  |  33KB  |  780 lines

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