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