logstash-integration-snmp 4.0.6-java → 4.1.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 87e91726f2da35d5c128693fe731cabd216590807964ffc0181160eb8a19b216
4
- data.tar.gz: 6174140288b22f07ca266fe3a9d929ee4a0777e7b90f6fa2c8c10c41942ced34
3
+ metadata.gz: ceae98771c874e51d755ba48a73edb8322ed4fcc291693b912e1c14be6e8b76b
4
+ data.tar.gz: f58d275ed475825c8c71aed346a75e236cc237089e91a411cbb2dcb74d32733c
5
5
  SHA512:
6
- metadata.gz: cf3f6eb1b7b4588a3516387c5d2a26f4234d4697a3384653c150e2a91cfb12551f9ce3e8f2a7370bcc4f68ac54a897e0533e5e1da6feb6082559eeff65d34c69
7
- data.tar.gz: aaaead569d07cb2b4622740cc8fe9bcc0ae97101fb699133650e8e759f60bcb101f4f3ee22f7e232a26e16d67cb3915034077d896258764d4da71701d3947c71
6
+ metadata.gz: 55999a85c693fc954303318f2ece9f0e695950c3b4b355689b1cc8ae40ef48dc032d2fc33bbd30087f3786c59490462497085017c166c1fe0ad7bfa36d5a4cc0
7
+ data.tar.gz: 3fb4d9a34127b33b240cb5e2f31cb75c8aae6d54c5fadf4a12bae22b093282679572e51856e2ff4521911e6ad15aa4f54014dcbeba0773ef99dc897f55aef4aa
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 4.1.0
2
+ - Add support for SNMPv3 `context engine ID` and `context name` to the `snmptrap` input [#76](https://github.com/logstash-plugins/logstash-integration-snmp/pull/76)
3
+
4
+ ## 4.0.7
5
+ - FIX: The `snmptrap` input now correctly enforces the user security level set by `security_level` config, and drops received events that do not match the configured value [#75](https://github.com/logstash-plugins/logstash-integration-snmp/pull/75)
6
+
1
7
  ## 4.0.6
2
8
  - [DOC] Fix typo in snmptrap migration section [#74](https://github.com/logstash-plugins/logstash-integration-snmp/pull/74)
3
9
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.0.6
1
+ 4.1.0
@@ -60,6 +60,8 @@ The value is stored in the `@metadata` where it can be used by other plugins in
60
60
  |ECS disabled, v1, v8 |Availability|Description
61
61
  |[@metadata][input][snmptrap][pdu][agent_addr]|`SNMPv1`|Network address of the object generating the trap
62
62
  |[@metadata][input][snmptrap][pdu][community]|`SNMPv1` `SNMPv2c`|SNMP community
63
+ |[@metadata][input][snmptrap][pdu][context_engine_id]|`SNMPv3`|SNMP context engine ID
64
+ |[@metadata][input][snmptrap][pdu][context_name]|`SNMPv3`|SNMP context name
63
65
  |[@metadata][input][snmptrap][pdu][enterprise]|`SNMPv1`|Type of object generating the trap
64
66
  |[@metadata][input][snmptrap][pdu][error_index]|`SNMPv2c` `SNMPv3`|Provides additional information by identifying
65
67
  which variable binding in the list caused the error
@@ -350,8 +352,11 @@ The `priv_protocol` option specifies the SNMPv3 privacy/encryption protocol.
350
352
  [id="plugins-{type}s-{plugin}-security_level"]
351
353
  ===== `security_level`
352
354
 
353
- * Value can be any of: `noAuthNoPriv`, `authNoPriv`, `authPriv`
354
- * There is no default value for this setting
355
+ * Value can be any of:
356
+ - `noAuthNoPriv`: allows receiving traps messages without authentication or encryption.
357
+ - `authNoPriv`: trap messages must be authenticated according to <<plugins-{type}s-{plugin}-security_name>>/<<plugins-{type}s-{plugin}-auth_protocol>>/<<plugins-{type}s-{plugin}-auth_pass>>. Encrypted messages are allowed but not required.
358
+ - `authPriv`: trap messages must be both authenticated according to <<plugins-{type}s-{plugin}-security_name>>/<<plugins-{type}s-{plugin}-auth_protocol>>/<<plugins-{type}s-{plugin}-auth_pass>> and encrypted according to <<plugins-{type}s-{plugin}-priv_protocol>>/<<plugins-{type}s-{plugin}-priv_pass>>.
359
+ * The default value is `noAuthNoPriv`.
355
360
 
356
361
  The `security_level` option specifies the SNMPv3 security level between
357
362
  Authentication, No Privacy; Authentication, Privacy; or no Authentication, no Privacy.
@@ -118,7 +118,7 @@ module LogStash
118
118
  validate_usm_user! if validate_usm_user
119
119
 
120
120
  unless @security_name.nil?
121
- client_builder.addUsmUser(@security_name, @auth_protocol, @auth_pass&.value, @priv_protocol, @priv_pass&.value)
121
+ client_builder.addUsmUser(@security_name, @auth_protocol, @auth_pass&.value, @priv_protocol, @priv_pass&.value, @security_level || 'noAuthNoPriv')
122
122
  end
123
123
 
124
124
  client_builder.setMapOidVariableValues(@oid_map_field_values)
@@ -2,5 +2,6 @@
2
2
 
3
3
  require 'jar_dependencies'
4
4
  require_jar('org.snmp4j', 'snmp4j', '3.8.0')
5
+ require_jar('org.snmp4j', 'snmp4j-log4j', '2.8.11')
5
6
  require_jar('org.snakeyaml', 'snakeyaml-engine', '2.7')
6
- require_jar('org.logstash.integrations', 'plugin', '4.0.6')
7
+ require_jar('org.logstash.integrations', 'plugin', '4.1.0')
@@ -185,6 +185,27 @@ describe LogStash::Inputs::Snmptrap, :integration => true do
185
185
  expect(queue.size).to eq(0)
186
186
  end
187
187
  end
188
+
189
+ context 'when receiving a request with invalid security level' do
190
+ it 'should not process the message' do
191
+ queue = run_plugin_and_get_queue(plugin, timeout: 3) do
192
+ @trap_sender.send_trap_v3(target_address, security_name, auth_protocol, auth_pass, priv_protocol, priv_pass, 'noAuthNoPriv', {'1.1' => 'foo'})
193
+ end
194
+
195
+ expect(queue.size).to eq(0)
196
+ end
197
+ end
198
+
199
+ context 'when receiving a request with higher security level' do
200
+ let(:security_level) { 'authNoPriv' }
201
+ it 'should process the message' do
202
+ queue = run_plugin_and_get_queue(plugin, timeout: 3) do
203
+ @trap_sender.send_trap_v3(target_address, security_name, auth_protocol, auth_pass, priv_protocol, priv_pass, 'authPriv', {'1.1' => 'foo'})
204
+ end
205
+
206
+ expect(queue.size).to eq(1)
207
+ end
208
+ end
188
209
  end
189
210
 
190
211
  context 'with supported_versions' do
metadata CHANGED
@@ -1,16 +1,16 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logstash-integration-snmp
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.6
4
+ version: 4.1.0
5
5
  platform: java
6
6
  authors:
7
7
  - Elastic
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-01-23 00:00:00.000000000 Z
10
+ date: 2025-08-18 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
13
+ name: logstash-core-plugin-api
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - ">="
@@ -19,7 +19,6 @@ dependencies:
19
19
  - - "<="
20
20
  - !ruby/object:Gem::Version
21
21
  version: '2.99'
22
- name: logstash-core-plugin-api
23
22
  type: :runtime
24
23
  prerelease: false
25
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -31,12 +30,12 @@ dependencies:
31
30
  - !ruby/object:Gem::Version
32
31
  version: '2.99'
33
32
  - !ruby/object:Gem::Dependency
33
+ name: logstash-mixin-ecs_compatibility_support
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - "~>"
37
37
  - !ruby/object:Gem::Version
38
38
  version: '1.3'
39
- name: logstash-mixin-ecs_compatibility_support
40
39
  type: :runtime
41
40
  prerelease: false
42
41
  version_requirements: !ruby/object:Gem::Requirement
@@ -45,12 +44,12 @@ dependencies:
45
44
  - !ruby/object:Gem::Version
46
45
  version: '1.3'
47
46
  - !ruby/object:Gem::Dependency
47
+ name: logstash-mixin-validator_support
48
48
  requirement: !ruby/object:Gem::Requirement
49
49
  requirements:
50
50
  - - "~>"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1.0'
53
- name: logstash-mixin-validator_support
54
53
  type: :runtime
55
54
  prerelease: false
56
55
  version_requirements: !ruby/object:Gem::Requirement
@@ -59,12 +58,12 @@ dependencies:
59
58
  - !ruby/object:Gem::Version
60
59
  version: '1.0'
61
60
  - !ruby/object:Gem::Dependency
61
+ name: logstash-mixin-event_support
62
62
  requirement: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
66
  version: '1.0'
67
- name: logstash-mixin-event_support
68
67
  type: :runtime
69
68
  prerelease: false
70
69
  version_requirements: !ruby/object:Gem::Requirement
@@ -73,12 +72,12 @@ dependencies:
73
72
  - !ruby/object:Gem::Version
74
73
  version: '1.0'
75
74
  - !ruby/object:Gem::Dependency
75
+ name: logstash-mixin-normalize_config_support
76
76
  requirement: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: '1.0'
81
- name: logstash-mixin-normalize_config_support
82
81
  type: :runtime
83
82
  prerelease: false
84
83
  version_requirements: !ruby/object:Gem::Requirement
@@ -87,12 +86,12 @@ dependencies:
87
86
  - !ruby/object:Gem::Version
88
87
  version: '1.0'
89
88
  - !ruby/object:Gem::Dependency
89
+ name: logstash-codec-plain
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '0'
95
- name: logstash-codec-plain
96
95
  type: :runtime
97
96
  prerelease: false
98
97
  version_requirements: !ruby/object:Gem::Requirement
@@ -101,12 +100,12 @@ dependencies:
101
100
  - !ruby/object:Gem::Version
102
101
  version: '0'
103
102
  - !ruby/object:Gem::Dependency
103
+ name: logstash-core
104
104
  requirement: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - ">="
107
107
  - !ruby/object:Gem::Version
108
108
  version: 6.5.0
109
- name: logstash-core
110
109
  type: :runtime
111
110
  prerelease: false
112
111
  version_requirements: !ruby/object:Gem::Requirement
@@ -115,12 +114,12 @@ dependencies:
115
114
  - !ruby/object:Gem::Version
116
115
  version: 6.5.0
117
116
  - !ruby/object:Gem::Dependency
117
+ name: rspec-wait
118
118
  requirement: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
- name: rspec-wait
124
123
  type: :development
125
124
  prerelease: false
126
125
  version_requirements: !ruby/object:Gem::Requirement
@@ -129,12 +128,12 @@ dependencies:
129
128
  - !ruby/object:Gem::Version
130
129
  version: '0'
131
130
  - !ruby/object:Gem::Dependency
131
+ name: logstash-devutils
132
132
  requirement: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - ">="
135
135
  - !ruby/object:Gem::Version
136
136
  version: '2.3'
137
- name: logstash-devutils
138
137
  type: :development
139
138
  prerelease: false
140
139
  version_requirements: !ruby/object:Gem::Requirement
@@ -469,8 +468,9 @@ files:
469
468
  - spec/unit/inputs/common_spec.rb
470
469
  - spec/unit/inputs/snmp_spec.rb
471
470
  - spec/unit/inputs/snmptrap_spec.rb
472
- - vendor/jar-dependencies/org/logstash/integrations/plugin/4.0.6/plugin-4.0.6.jar
471
+ - vendor/jar-dependencies/org/logstash/integrations/plugin/4.1.0/plugin-4.1.0.jar
473
472
  - vendor/jar-dependencies/org/snakeyaml/snakeyaml-engine/2.7/snakeyaml-engine-2.7.jar
473
+ - vendor/jar-dependencies/org/snmp4j/snmp4j-log4j/2.8.11/snmp4j-log4j-2.8.11.jar
474
474
  - vendor/jar-dependencies/org/snmp4j/snmp4j/3.8.0/snmp4j-3.8.0.jar
475
475
  homepage: http://www.elastic.co/guide/en/logstash/current/index.html
476
476
  licenses:
@@ -479,7 +479,6 @@ metadata:
479
479
  logstash_plugin: 'true'
480
480
  logstash_group: integration
481
481
  integration_plugins: logstash-input-snmp,logstash-input-snmptrap
482
- post_install_message:
483
482
  rdoc_options: []
484
483
  require_paths:
485
484
  - lib
@@ -495,8 +494,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
495
494
  - !ruby/object:Gem::Version
496
495
  version: '0'
497
496
  requirements: []
498
- rubygems_version: 3.3.26
499
- signing_key:
497
+ rubygems_version: 3.6.3
500
498
  specification_version: 4
501
499
  summary: Integration with SNMP - Logstash plugins
502
500
  test_files: