telemetry-snmp 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/rspec.yml +44 -0
  3. data/.github/workflows/rubocop.yml +28 -0
  4. data/.github/workflows/sourcehawk-scan.yml +20 -0
  5. data/.gitignore +14 -0
  6. data/.rspec +4 -0
  7. data/.rubocop.yml +26 -0
  8. data/CHANGELOG.md +4 -0
  9. data/CODE_OF_CONDUCT.md +75 -0
  10. data/CONTRIBUTING.md +54 -0
  11. data/Gemfile +10 -0
  12. data/INDIVIDUAL_CONTRIBUTOR_LICENSE.md +30 -0
  13. data/LICENSE +201 -0
  14. data/NOTICE.txt +9 -0
  15. data/README.md +54 -0
  16. data/attribution.txt +1 -0
  17. data/config.ru +15 -0
  18. data/exe/snmp_collector +55 -0
  19. data/lib/telemetry/snmp.rb +23 -0
  20. data/lib/telemetry/snmp/api.rb +55 -0
  21. data/lib/telemetry/snmp/auth.rb +54 -0
  22. data/lib/telemetry/snmp/auth/defaults.rb +41 -0
  23. data/lib/telemetry/snmp/client.rb +104 -0
  24. data/lib/telemetry/snmp/controllers/device_creds.rb +105 -0
  25. data/lib/telemetry/snmp/controllers/devices.rb +94 -0
  26. data/lib/telemetry/snmp/controllers/oid_groups.rb +71 -0
  27. data/lib/telemetry/snmp/controllers/oids.rb +80 -0
  28. data/lib/telemetry/snmp/controllers/users.rb +81 -0
  29. data/lib/telemetry/snmp/controllers/walks.rb +89 -0
  30. data/lib/telemetry/snmp/data.rb +69 -0
  31. data/lib/telemetry/snmp/data/default_opts.rb +73 -0
  32. data/lib/telemetry/snmp/data/migrations/001_device_creds.rb +19 -0
  33. data/lib/telemetry/snmp/data/migrations/002_create_devices_table.rb +31 -0
  34. data/lib/telemetry/snmp/data/migrations/003_create_oids_tables.rb +16 -0
  35. data/lib/telemetry/snmp/data/migrations/004_create_oid_groups.rb +15 -0
  36. data/lib/telemetry/snmp/data/migrations/005_create_oids_oid_groups.rb +17 -0
  37. data/lib/telemetry/snmp/data/migrations/006_device_to_oid_group.rb +15 -0
  38. data/lib/telemetry/snmp/data/migrations/007_create_users.rb +20 -0
  39. data/lib/telemetry/snmp/data/migrations/008_create_walks_table.rb +14 -0
  40. data/lib/telemetry/snmp/data/migrations/009_create_tag_name_column.rb +7 -0
  41. data/lib/telemetry/snmp/data/migrations/010_create_user_audit_table.rb +18 -0
  42. data/lib/telemetry/snmp/data/models/device.rb +11 -0
  43. data/lib/telemetry/snmp/data/models/device_cred.rb +11 -0
  44. data/lib/telemetry/snmp/data/models/oid.rb +10 -0
  45. data/lib/telemetry/snmp/data/models/oid_group.rb +10 -0
  46. data/lib/telemetry/snmp/data/models/oid_oid_groups.rb +10 -0
  47. data/lib/telemetry/snmp/data/models/oid_walk.rb +10 -0
  48. data/lib/telemetry/snmp/data/models/user.rb +10 -0
  49. data/lib/telemetry/snmp/data/models/user_audit_log.rb +19 -0
  50. data/lib/telemetry/snmp/mibs/AGENTX-MIB.txt +527 -0
  51. data/lib/telemetry/snmp/mibs/AIRPORT-BASESTATION-3-MIB.txt +461 -0
  52. data/lib/telemetry/snmp/mibs/BRIDGE-MIB.txt +1472 -0
  53. data/lib/telemetry/snmp/mibs/DISMAN-EVENT-MIB.txt +1882 -0
  54. data/lib/telemetry/snmp/mibs/DISMAN-SCHEDULE-MIB.txt +699 -0
  55. data/lib/telemetry/snmp/mibs/DISMAN-SCRIPT-MIB.txt +1764 -0
  56. data/lib/telemetry/snmp/mibs/EtherLike-MIB.txt +1862 -0
  57. data/lib/telemetry/snmp/mibs/HCNUM-TC.txt +118 -0
  58. data/lib/telemetry/snmp/mibs/HOST-RESOURCES-MIB.txt +1540 -0
  59. data/lib/telemetry/snmp/mibs/HOST-RESOURCES-TYPES.txt +389 -0
  60. data/lib/telemetry/snmp/mibs/IANA-ADDRESS-FAMILY-NUMBERS-MIB.txt +123 -0
  61. data/lib/telemetry/snmp/mibs/IANA-LANGUAGE-MIB.txt +123 -0
  62. data/lib/telemetry/snmp/mibs/IANA-RTPROTO-MIB.txt +91 -0
  63. data/lib/telemetry/snmp/mibs/IANAifType-MIB.txt +619 -0
  64. data/lib/telemetry/snmp/mibs/IF-INVERTED-STACK-MIB.txt +149 -0
  65. data/lib/telemetry/snmp/mibs/IF-MIB.txt +1814 -0
  66. data/lib/telemetry/snmp/mibs/INET-ADDRESS-MIB.txt +402 -0
  67. data/lib/telemetry/snmp/mibs/IP-FORWARD-MIB.txt +1277 -0
  68. data/lib/telemetry/snmp/mibs/IP-MIB.txt +4993 -0
  69. data/lib/telemetry/snmp/mibs/IPV6-FLOW-LABEL-MIB.txt +58 -0
  70. data/lib/telemetry/snmp/mibs/IPV6-ICMP-MIB.txt +529 -0
  71. data/lib/telemetry/snmp/mibs/IPV6-MIB.txt +1443 -0
  72. data/lib/telemetry/snmp/mibs/IPV6-TC.txt +67 -0
  73. data/lib/telemetry/snmp/mibs/IPV6-TCP-MIB.txt +211 -0
  74. data/lib/telemetry/snmp/mibs/IPV6-UDP-MIB.txt +141 -0
  75. data/lib/telemetry/snmp/mibs/NET-SNMP-AGENT-MIB.txt +554 -0
  76. data/lib/telemetry/snmp/mibs/NET-SNMP-EXAMPLES-MIB.txt +285 -0
  77. data/lib/telemetry/snmp/mibs/NET-SNMP-EXTEND-MIB.txt +325 -0
  78. data/lib/telemetry/snmp/mibs/NET-SNMP-MIB.txt +67 -0
  79. data/lib/telemetry/snmp/mibs/NET-SNMP-PASS-MIB.txt +124 -0
  80. data/lib/telemetry/snmp/mibs/NET-SNMP-TC.txt +128 -0
  81. data/lib/telemetry/snmp/mibs/NET-SNMP-VACM-MIB.txt +154 -0
  82. data/lib/telemetry/snmp/mibs/NOTIFICATION-LOG-MIB.txt +753 -0
  83. data/lib/telemetry/snmp/mibs/PAN-COMMON-MIB.md5 +1 -0
  84. data/lib/telemetry/snmp/mibs/PAN-COMMON-MIB.my +2293 -0
  85. data/lib/telemetry/snmp/mibs/PAN-ENTITY-EXT-MIB.md5 +1 -0
  86. data/lib/telemetry/snmp/mibs/PAN-ENTITY-EXT-MIB.my +293 -0
  87. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-REG-MIB.md5 +1 -0
  88. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-REG-MIB.my +84 -0
  89. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-TC-MIB.md5 +1 -0
  90. data/lib/telemetry/snmp/mibs/PAN-GLOBAL-TC-MIB.my +68 -0
  91. data/lib/telemetry/snmp/mibs/PAN-LC-MIB.md5 +1 -0
  92. data/lib/telemetry/snmp/mibs/PAN-LC-MIB.my +204 -0
  93. data/lib/telemetry/snmp/mibs/PAN-PRODUCT-MIB.md5 +1 -0
  94. data/lib/telemetry/snmp/mibs/PAN-PRODUCT-MIB.my +305 -0
  95. data/lib/telemetry/snmp/mibs/PAN-TRAPS.md5 +1 -0
  96. data/lib/telemetry/snmp/mibs/PAN-TRAPS.my +7809 -0
  97. data/lib/telemetry/snmp/mibs/RFC-1215.txt +38 -0
  98. data/lib/telemetry/snmp/mibs/RFC1155-SMI.txt +119 -0
  99. data/lib/telemetry/snmp/mibs/RFC1213-MIB.txt +2613 -0
  100. data/lib/telemetry/snmp/mibs/RMON-MIB.txt +3980 -0
  101. data/lib/telemetry/snmp/mibs/SCTP-MIB.txt +1342 -0
  102. data/lib/telemetry/snmp/mibs/SMUX-MIB.txt +160 -0
  103. data/lib/telemetry/snmp/mibs/SNMP-COMMUNITY-MIB.txt +429 -0
  104. data/lib/telemetry/snmp/mibs/SNMP-FRAMEWORK-MIB.txt +526 -0
  105. data/lib/telemetry/snmp/mibs/SNMP-MPD-MIB.txt +145 -0
  106. data/lib/telemetry/snmp/mibs/SNMP-NOTIFICATION-MIB.txt +589 -0
  107. data/lib/telemetry/snmp/mibs/SNMP-PROXY-MIB.txt +294 -0
  108. data/lib/telemetry/snmp/mibs/SNMP-TARGET-MIB.txt +660 -0
  109. data/lib/telemetry/snmp/mibs/SNMP-USER-BASED-SM-MIB.txt +912 -0
  110. data/lib/telemetry/snmp/mibs/SNMP-USM-AES-MIB.txt +62 -0
  111. data/lib/telemetry/snmp/mibs/SNMP-USM-DH-OBJECTS-MIB.txt +532 -0
  112. data/lib/telemetry/snmp/mibs/SNMP-VIEW-BASED-ACM-MIB.txt +830 -0
  113. data/lib/telemetry/snmp/mibs/SNMPv2-CONF.txt +322 -0
  114. data/lib/telemetry/snmp/mibs/SNMPv2-MIB.txt +854 -0
  115. data/lib/telemetry/snmp/mibs/SNMPv2-SMI.txt +344 -0
  116. data/lib/telemetry/snmp/mibs/SNMPv2-TC.txt +772 -0
  117. data/lib/telemetry/snmp/mibs/SNMPv2-TM.txt +176 -0
  118. data/lib/telemetry/snmp/mibs/TCP-MIB.txt +785 -0
  119. data/lib/telemetry/snmp/mibs/TRANSPORT-ADDRESS-MIB.txt +421 -0
  120. data/lib/telemetry/snmp/mibs/TUNNEL-MIB.txt +738 -0
  121. data/lib/telemetry/snmp/mibs/UCD-DEMO-MIB.txt +74 -0
  122. data/lib/telemetry/snmp/mibs/UCD-DISKIO-MIB.txt +171 -0
  123. data/lib/telemetry/snmp/mibs/UCD-DLMOD-MIB.txt +124 -0
  124. data/lib/telemetry/snmp/mibs/UCD-IPFWACC-MIB.txt +327 -0
  125. data/lib/telemetry/snmp/mibs/UCD-SNMP-MIB.txt +1712 -0
  126. data/lib/telemetry/snmp/mibs/UDP-MIB.txt +549 -0
  127. data/lib/telemetry/snmp/publisher.rb +130 -0
  128. data/lib/telemetry/snmp/version.rb +7 -0
  129. data/sourcehawk.yml +4 -0
  130. data/telemetry-snmp.gemspec +48 -0
  131. metadata +456 -0
@@ -0,0 +1,67 @@
1
+ NET-SNMP-MIB DEFINITIONS ::= BEGIN
2
+
3
+ --
4
+ -- Top-level infrastructure of the Net-SNMP project enterprise MIB tree
5
+ --
6
+
7
+ IMPORTS
8
+ MODULE-IDENTITY, enterprises FROM SNMPv2-SMI;
9
+
10
+ netSnmp MODULE-IDENTITY
11
+ LAST-UPDATED "200201300000Z"
12
+ ORGANIZATION "www.net-snmp.org"
13
+ CONTACT-INFO
14
+ "postal: Wes Hardaker
15
+ P.O. Box 382
16
+ Davis CA 95617
17
+
18
+ email: net-snmp-coders@lists.sourceforge.net"
19
+ DESCRIPTION
20
+ "Top-level infrastructure of the Net-SNMP project enterprise MIB tree"
21
+ REVISION "200201300000Z"
22
+ DESCRIPTION
23
+ "First draft"
24
+ ::= { enterprises 8072}
25
+
26
+
27
+ --
28
+ -- Net-SNMP enterprise-specific management objects
29
+ --
30
+
31
+ netSnmpObjects OBJECT IDENTIFIER ::= {netSnmp 1}
32
+ -- netSnmpExamples OBJECT IDENTIFIER ::= {netSnmp 2}
33
+ netSnmpEnumerations OBJECT IDENTIFIER ::= {netSnmp 3}
34
+ netSnmpModuleIDs OBJECT IDENTIFIER ::= {netSnmpEnumerations 1}
35
+ netSnmpAgentOIDs OBJECT IDENTIFIER ::= {netSnmpEnumerations 2}
36
+ netSnmpDomains OBJECT IDENTIFIER ::= {netSnmpEnumerations 3}
37
+ netSnmpExperimental OBJECT IDENTIFIER ::= {netSnmp 9999}
38
+
39
+ --
40
+ -- A subtree specifically designed for private testing purposes.
41
+ -- No "public" management objects should ever be defined within this tree.
42
+ --
43
+ -- It is provided for private experimentation, prior to transferring a MIB
44
+ -- structure to another part of the overall OID tree
45
+ --
46
+ netSnmpPlaypen OBJECT IDENTIFIER ::= {netSnmpExperimental 9999}
47
+
48
+
49
+ --
50
+ -- Notifications
51
+ --
52
+
53
+ netSnmpNotificationPrefix OBJECT IDENTIFIER ::= {netSnmp 4}
54
+ netSnmpNotifications OBJECT IDENTIFIER ::= {netSnmpNotificationPrefix 0}
55
+ netSnmpNotificationObjects OBJECT IDENTIFIER ::= {netSnmpNotificationPrefix 1}
56
+
57
+
58
+ --
59
+ -- Conformance
60
+ -- (No laughing at the back!)
61
+ --
62
+
63
+ netSnmpConformance OBJECT IDENTIFIER ::= {netSnmp 5}
64
+ netSnmpCompliances OBJECT IDENTIFIER ::= {netSnmpConformance 1}
65
+ netSnmpGroups OBJECT IDENTIFIER ::= {netSnmpConformance 2}
66
+
67
+ END
@@ -0,0 +1,124 @@
1
+ NET-SNMP-PASS-MIB DEFINITIONS ::= BEGIN
2
+
3
+ --
4
+ -- Example MIB objects for "pass" and "pass-persist" extension script
5
+ --
6
+
7
+ IMPORTS
8
+ MODULE-IDENTITY, OBJECT-TYPE, TimeTicks, IpAddress,
9
+ Counter32, Gauge32, Integer32 FROM SNMPv2-SMI
10
+ SnmpAdminString FROM SNMP-FRAMEWORK-MIB
11
+ netSnmpExamples FROM NET-SNMP-EXAMPLES-MIB
12
+ ;
13
+
14
+ netSnmpPassExamples MODULE-IDENTITY
15
+ LAST-UPDATED "200905280000Z"
16
+ ORGANIZATION "www.net-snmp.org"
17
+ CONTACT-INFO
18
+ "postal: Wes Hardaker
19
+ P.O. Box 382
20
+ Davis CA 95617
21
+
22
+ email: net-snmp-coders@lists.sourceforge.net"
23
+ DESCRIPTION
24
+ "Example MIB objects for pass/pass-persist extension script"
25
+ ::= { netSnmpExamples 255 }
26
+
27
+ --
28
+ -- Example scalars
29
+ --
30
+
31
+ netSnmpPassString OBJECT-TYPE
32
+ SYNTAX SnmpAdminString
33
+ MAX-ACCESS read-write
34
+ STATUS current
35
+ DESCRIPTION "Example string scalar object."
36
+ DEFVAL { "Life, the Universe, and Everything" }
37
+ ::= { netSnmpPassExamples 1 }
38
+
39
+ netSnmpPassTimeTicks OBJECT-TYPE
40
+ SYNTAX TimeTicks
41
+ MAX-ACCESS read-write
42
+ STATUS current
43
+ DESCRIPTION "Example timetick object."
44
+ DEFVAL { 363136200 } -- 42 days, 0:42:42.00
45
+ ::= { netSnmpPassExamples 3 }
46
+
47
+ netSnmpPassIpAddress OBJECT-TYPE
48
+ SYNTAX IpAddress
49
+ MAX-ACCESS read-write
50
+ STATUS current
51
+ DESCRIPTION "Example IP Address object."
52
+ DEFVAL { '7f000001'H } -- 127.0.0.1
53
+ ::= { netSnmpPassExamples 4 }
54
+
55
+ netSnmpPassCounter OBJECT-TYPE
56
+ SYNTAX Counter32
57
+ MAX-ACCESS read-only
58
+ STATUS current
59
+ DESCRIPTION "Example counter object.
60
+ Note that this object will always return the value '42'."
61
+ ::= { netSnmpPassExamples 5 }
62
+
63
+ netSnmpPassGauge OBJECT-TYPE
64
+ SYNTAX Gauge32
65
+ MAX-ACCESS read-write
66
+ STATUS current
67
+ DESCRIPTION "Example Gauge object."
68
+ DEFVAL { 42 }
69
+ ::= { netSnmpPassExamples 6 }
70
+
71
+
72
+ netSnmpPassOIDValue OBJECT IDENTIFIER
73
+ ::= { netSnmpPassExamples 99 }
74
+
75
+ --
76
+ -- Example Table
77
+ --
78
+
79
+ netSnmpPassTable OBJECT-TYPE
80
+ SYNTAX SEQUENCE OF NetSnmpPassEntry
81
+ MAX-ACCESS not-accessible
82
+ STATUS current
83
+ DESCRIPTION "Example table"
84
+ ::= { netSnmpPassExamples 2 }
85
+
86
+ netSnmpPassEntry OBJECT-TYPE
87
+ SYNTAX NetSnmpPassEntry
88
+ MAX-ACCESS not-accessible
89
+ STATUS current
90
+ DESCRIPTION "Conceptual row in the example table."
91
+ INDEX { netSnmpPassIndex }
92
+ ::= {netSnmpPassTable 1 }
93
+
94
+ NetSnmpPassEntry ::= SEQUENCE {
95
+ netSnmpPassIndex Integer32,
96
+ netSnmpPassInteger Integer32,
97
+ netSnmpPassOID OBJECT IDENTIFIER
98
+ }
99
+
100
+ netSnmpPassIndex OBJECT-TYPE
101
+ SYNTAX Integer32
102
+ MAX-ACCESS not-accessible
103
+ STATUS current
104
+ DESCRIPTION "Arbitrary index into the netSnmpPassTable.
105
+ Note that there will always be one row, with index 1"
106
+ ::= { netSnmpPassEntry 1 }
107
+
108
+ netSnmpPassInteger OBJECT-TYPE
109
+ SYNTAX Integer32
110
+ MAX-ACCESS read-write
111
+ STATUS current
112
+ DESCRIPTION "Example Integer (table) object."
113
+ DEFVAL { 42 }
114
+ ::= { netSnmpPassEntry 2 }
115
+
116
+ netSnmpPassOID OBJECT-TYPE
117
+ SYNTAX OBJECT IDENTIFIER
118
+ MAX-ACCESS read-write
119
+ STATUS current
120
+ DESCRIPTION "Example OID (table) object."
121
+ DEFVAL { netSnmpPassOIDValue }
122
+ ::= { netSnmpPassEntry 3 }
123
+
124
+ END
@@ -0,0 +1,128 @@
1
+ NET-SNMP-TC DEFINITIONS ::= BEGIN
2
+
3
+ --
4
+ -- Textual conventions and enumerations for the Net-SNMP project
5
+ --
6
+
7
+ IMPORTS
8
+ netSnmpModuleIDs, netSnmpAgentOIDs, netSnmpDomains FROM NET-SNMP-MIB
9
+
10
+ MODULE-IDENTITY, Opaque FROM SNMPv2-SMI
11
+
12
+ TEXTUAL-CONVENTION FROM SNMPv2-TC;
13
+
14
+ netSnmpTCs MODULE-IDENTITY
15
+ LAST-UPDATED "200510140000Z"
16
+ ORGANIZATION "www.net-snmp.org"
17
+ CONTACT-INFO
18
+ "postal: Wes Hardaker
19
+ P.O. Box 382
20
+ Davis CA 95617
21
+
22
+ email: net-snmp-coders@lists.sourceforge.net"
23
+ DESCRIPTION
24
+ "Textual conventions and enumerations for the Net-SNMP project"
25
+ REVISION "200202120000Z"
26
+ DESCRIPTION
27
+ "First draft"
28
+ ::= { netSnmpModuleIDs 1}
29
+
30
+
31
+ -- =====================
32
+ --
33
+ -- Textual Conventions
34
+ --
35
+ -- =====================
36
+
37
+ --
38
+ -- Define the Float Textual Convention
39
+ -- This definition was written by David Perkins.
40
+ --
41
+
42
+ Float ::= TEXTUAL-CONVENTION
43
+ STATUS current
44
+ DESCRIPTION
45
+ "A single precision floating-point number. The semantics
46
+ and encoding are identical for type 'single' defined in
47
+ IEEE Standard for Binary Floating-Point,
48
+ ANSI/IEEE Std 754-1985.
49
+ The value is restricted to the BER serialization of
50
+ the following ASN.1 type:
51
+ FLOATTYPE ::= [120] IMPLICIT FloatType
52
+ (note: the value 120 is the sum of '30'h and '48'h)
53
+ The BER serialization of the length for values of
54
+ this type must use the definite length, short
55
+ encoding form.
56
+
57
+ For example, the BER serialization of value 123
58
+ of type FLOATTYPE is '9f780442f60000'h. (The tag
59
+ is '9f78'h; the length is '04'h; and the value is
60
+ '42f60000'h.) The BER serialization of value
61
+ '9f780442f60000'h of data type Opaque is
62
+ '44079f780442f60000'h. (The tag is '44'h; the length
63
+ is '07'h; and the value is '9f780442f60000'h.)"
64
+ SYNTAX Opaque (SIZE (7))
65
+
66
+
67
+ -- =====================
68
+ --
69
+ -- Enumerations
70
+ --
71
+ -- =====================
72
+
73
+ --
74
+ -- System Object ID values
75
+ --
76
+ -- XXX - do we want to distinguish between O/S versions ?
77
+ -- (as is currently done with HP-UX)
78
+ --
79
+
80
+ hpux9 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 1 }
81
+ sunos4 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 2 }
82
+ solaris OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 3 }
83
+ osf OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 4 }
84
+ ultrix OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 5 }
85
+ hpux10 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 6 }
86
+ netbsd OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 7 }
87
+ freebsd OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 8 }
88
+ irix OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 9 }
89
+ linux OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 10 }
90
+ bsdi OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 11 }
91
+ openbsd OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 12 }
92
+ win32 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 13 } -- unlucky
93
+ hpux11 OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 14 }
94
+ aix OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 15 }
95
+ macosx OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 16 }
96
+ dragonfly OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 17 }
97
+ unknown OBJECT IDENTIFIER ::= { netSnmpAgentOIDs 255 }
98
+
99
+
100
+
101
+ --
102
+ -- Transport Domains
103
+ --
104
+ -- Object identifiers for the non-standard transports that UCD/Net-SNMP
105
+ -- supports. Note that snmpTCPDomain is the subject of Internet Draft
106
+ -- draft-irtf-nmrg-snmp-tcp-06.txt, which defines the OID
107
+ -- .iso.org.dod.internet.experimental.nmrg.nmrgSnmpDomains.snmpTCPDomain
108
+ -- (.1.3.6.1.3.91.1.1) for the SNMP over TCP over IPv4 transport domain.
109
+ -- This draft (or its successor) is available from the Network Management
110
+ -- Research Group web page at http://www.ibr.cs.tu-bs.de/projects/nmrg/
111
+ --
112
+ -- The NMRG OID for snmpTCPDomain is currently used by the code, but in case
113
+ -- this is thought to be a Bad Idea, we define a private transport domain here
114
+ -- that we could use instead. The Unix domain, AAL5 PVC domain and
115
+ -- the IPv6 domains are also defined privately here (for now).
116
+
117
+ netSnmpTCPDomain OBJECT IDENTIFIER ::= { netSnmpDomains 1 } -- obsolete
118
+ netSnmpUnixDomain OBJECT IDENTIFIER ::= { netSnmpDomains 2 } -- obsolete
119
+ netSnmpAAL5PVCDomain OBJECT IDENTIFIER ::= { netSnmpDomains 3 }
120
+ netSnmpUDPIPv6Domain OBJECT IDENTIFIER ::= { netSnmpDomains 4 } -- obsolete
121
+ netSnmpTCPIPv6Domain OBJECT IDENTIFIER ::= { netSnmpDomains 5 } -- obsolete
122
+ netSnmpCallbackDomain OBJECT IDENTIFIER ::= { netSnmpDomains 6 }
123
+ netSnmpAliasDomain OBJECT IDENTIFIER ::= { netSnmpDomains 7 }
124
+ netSnmpDTLSUDPDomain OBJECT IDENTIFIER ::= { netSnmpDomains 8 }
125
+ netSnmpDTLSSCTPDomain OBJECT IDENTIFIER ::= { netSnmpDomains 9 }
126
+ netSnmpTLSTCPDomain OBJECT IDENTIFIER ::= { netSnmpDomains 10 }
127
+
128
+ END
@@ -0,0 +1,154 @@
1
+ NET-SNMP-VACM-MIB DEFINITIONS ::= BEGIN
2
+
3
+ --
4
+ -- Defines Net-SNMP extensions to the standard VACM view table.
5
+ --
6
+
7
+ IMPORTS
8
+ SnmpAdminString
9
+ FROM SNMP-FRAMEWORK-MIB
10
+
11
+ netSnmpObjects, netSnmpGroups
12
+ FROM NET-SNMP-MIB
13
+
14
+ vacmGroupName, vacmAccessContextPrefix, vacmAccessSecurityModel,
15
+ vacmAccessSecurityLevel
16
+ FROM SNMP-VIEW-BASED-ACM-MIB
17
+
18
+ OBJECT-TYPE, MODULE-IDENTITY
19
+ FROM SNMPv2-SMI
20
+
21
+ OBJECT-GROUP, NOTIFICATION-GROUP
22
+ FROM SNMPv2-CONF
23
+
24
+ TEXTUAL-CONVENTION, DisplayString, RowStatus, StorageType
25
+ FROM SNMPv2-TC;
26
+
27
+
28
+ netSnmpVacmMIB MODULE-IDENTITY
29
+ LAST-UPDATED "200608270000Z"
30
+ ORGANIZATION "www.net-snmp.org"
31
+ CONTACT-INFO
32
+ "postal: Wes Hardaker
33
+ P.O. Box 382
34
+ Davis CA 95617
35
+
36
+ email: net-snmp-coders@lists.sourceforge.net"
37
+ DESCRIPTION
38
+ "Defines Net-SNMP extensions to the standard VACM view table."
39
+ REVISION "200608270000Z"
40
+ DESCRIPTION
41
+ "First draft"
42
+ ::= { netSnmpObjects 9 }
43
+
44
+
45
+ nsVacmAccessTable OBJECT-TYPE
46
+ SYNTAX SEQUENCE OF NsVacmAccessEntry
47
+ MAX-ACCESS not-accessible
48
+ STATUS current
49
+ DESCRIPTION "Net-SNMP extensions to vacmAccessTable."
50
+ ::= { netSnmpVacmMIB 1 }
51
+
52
+ nsVacmAccessEntry OBJECT-TYPE
53
+ SYNTAX NsVacmAccessEntry
54
+ MAX-ACCESS not-accessible
55
+ STATUS current
56
+ DESCRIPTION "Net-SNMP extensions to vacmAccessTable."
57
+ INDEX { vacmGroupName,
58
+ vacmAccessContextPrefix,
59
+ vacmAccessSecurityModel,
60
+ vacmAccessSecurityLevel,
61
+ nsVacmAuthType
62
+ }
63
+ ::= { nsVacmAccessTable 1 }
64
+
65
+ NsVacmAccessEntry ::= SEQUENCE
66
+ {
67
+ nsVacmAuthType SnmpAdminString,
68
+ nsVacmContextMatch INTEGER,
69
+ nsVacmViewName SnmpAdminString,
70
+ nsVacmStorageType StorageType,
71
+ nsVacmStatus RowStatus
72
+ }
73
+
74
+ nsVacmAuthType OBJECT-TYPE
75
+ SYNTAX SnmpAdminString (SIZE(0..32))
76
+ MAX-ACCESS not-accessible
77
+ STATUS current
78
+ DESCRIPTION "The type of processing that the specified view
79
+ should be applied to. See 'snmpd.conf(5)' and
80
+ 'snmptrapd.conf(5)' for details."
81
+ ::= { nsVacmAccessEntry 1 }
82
+
83
+ nsVacmContextMatch OBJECT-TYPE
84
+ SYNTAX INTEGER
85
+ { exact (1), -- exact match of prefix and contextName
86
+ prefix (2) -- Only match to the prefix
87
+ }
88
+ MAX-ACCESS read-create
89
+ STATUS current
90
+ DESCRIPTION "If the value of this object is exact(1), then all
91
+ rows where the contextName exactly matches
92
+ vacmAccessContextPrefix are selected.
93
+
94
+ If the value of this object is prefix(2), then all
95
+ rows where the contextName whose starting octets
96
+ exactly match vacmAccessContextPrefix are selected.
97
+ This allows for a simple form of wildcarding.
98
+
99
+ The value of this object should be consistent across
100
+ all nsVacmAccessEntries corresponding to a single
101
+ row of the vacmAccessTable.
102
+ "
103
+ DEFVAL { exact }
104
+ ::= { nsVacmAccessEntry 2 }
105
+
106
+ nsVacmViewName OBJECT-TYPE
107
+ SYNTAX SnmpAdminString (SIZE(0..32))
108
+ MAX-ACCESS read-create
109
+ STATUS current
110
+ DESCRIPTION "The MIB view authorised for the appropriate style
111
+ of processing (as indicated by nsVacmToken).
112
+
113
+ The interpretation of this value is the same as for
114
+ the standard VACM ViewName objects."
115
+ DEFVAL { ''H } -- the empty string
116
+ ::= { nsVacmAccessEntry 3 }
117
+
118
+
119
+ nsVacmStorageType OBJECT-TYPE
120
+ SYNTAX StorageType
121
+ MAX-ACCESS read-create
122
+ STATUS current
123
+ DESCRIPTION "The storage type for this (group of) conceptual rows.
124
+
125
+ Conceptual rows having the value 'permanent' need not
126
+ allow write-access to any columnar objects in the row.
127
+
128
+ The value of this object should be consistent across
129
+ all nsVacmAccessEntries corresponding to a single
130
+ row of the vacmAccessTable.
131
+ "
132
+ DEFVAL { nonVolatile }
133
+ ::= { nsVacmAccessEntry 4 }
134
+
135
+ nsVacmStatus OBJECT-TYPE
136
+ SYNTAX RowStatus
137
+ MAX-ACCESS read-create
138
+ STATUS current
139
+ DESCRIPTION "The status of this (group of) conceptual rows.
140
+
141
+ The RowStatus TC [RFC2579] requires that this
142
+ DESCRIPTION clause states under which circumstances
143
+ other objects in this row can be modified:
144
+
145
+ The value of this object has no effect on whether
146
+ other objects in this conceptual row can be modified.
147
+
148
+ The value of this object should be consistent across
149
+ all nsVacmAccessEntries corresponding to a single
150
+ row of the vacmAccessTable.
151
+ "
152
+ ::= { nsVacmAccessEntry 5 }
153
+
154
+ END