netsnmp 0.1.8 → 0.4.1
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 +4 -4
- data/README.md +60 -27
- data/lib/netsnmp.rb +3 -21
- data/lib/netsnmp/client.rb +4 -5
- data/lib/netsnmp/encryption/aes.rb +1 -3
- data/lib/netsnmp/encryption/des.rb +0 -2
- data/lib/netsnmp/errors.rb +1 -0
- data/lib/netsnmp/extensions.rb +113 -0
- data/lib/netsnmp/loggable.rb +36 -0
- data/lib/netsnmp/message.rb +70 -28
- data/lib/netsnmp/mib.rb +172 -0
- data/lib/netsnmp/mib/parser.rb +750 -0
- data/lib/netsnmp/oid.rb +7 -12
- data/lib/netsnmp/pdu.rb +23 -12
- data/lib/netsnmp/scoped_pdu.rb +8 -2
- data/lib/netsnmp/security_parameters.rb +22 -14
- data/lib/netsnmp/session.rb +14 -16
- data/lib/netsnmp/v3_session.rb +21 -9
- data/lib/netsnmp/varbind.rb +27 -22
- data/lib/netsnmp/version.rb +1 -1
- data/sig/client.rbs +24 -0
- data/sig/loggable.rbs +16 -0
- data/sig/message.rbs +9 -0
- data/sig/mib.rbs +21 -0
- data/sig/mib/parser.rbs +7 -0
- data/sig/netsnmp.rbs +19 -0
- data/sig/oid.rbs +18 -0
- data/sig/openssl.rbs +20 -0
- data/sig/pdu.rbs +48 -0
- data/sig/scoped_pdu.rbs +15 -0
- data/sig/security_parameters.rbs +58 -0
- data/sig/session.rbs +38 -0
- data/sig/timeticks.rbs +7 -0
- data/sig/v3_session.rbs +21 -0
- data/sig/varbind.rbs +30 -0
- data/spec/client_spec.rb +26 -8
- data/spec/handlers/celluloid_spec.rb +4 -3
- data/spec/mib_spec.rb +13 -0
- data/spec/session_spec.rb +2 -2
- data/spec/spec_helper.rb +9 -5
- data/spec/support/request_examples.rb +2 -2
- data/spec/v3_session_spec.rb +4 -4
- data/spec/varbind_spec.rb +5 -3
- metadata +31 -71
- data/.coveralls.yml +0 -1
- data/.gitignore +0 -14
- data/.rspec +0 -2
- data/.rubocop.yml +0 -11
- data/.rubocop_todo.yml +0 -69
- data/.travis.yml +0 -28
- data/Gemfile +0 -22
- data/Rakefile +0 -30
- data/netsnmp.gemspec +0 -31
- data/spec/support/Dockerfile +0 -14
- data/spec/support/specs.sh +0 -51
- data/spec/support/stop_docker.sh +0 -5
data/.travis.yml
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
sudo: required
|
2
|
-
services:
|
3
|
-
- docker
|
4
|
-
|
5
|
-
install:
|
6
|
-
- gem i rubygems-update -v '<3' && update_rubygems
|
7
|
-
- bundle install --path .bundle
|
8
|
-
|
9
|
-
script:
|
10
|
-
- spec/support/specs.sh run
|
11
|
-
|
12
|
-
language: ruby
|
13
|
-
rvm:
|
14
|
-
- 2.1
|
15
|
-
- 2.2
|
16
|
-
- 2.3
|
17
|
-
- 2.4
|
18
|
-
- 2.5
|
19
|
-
- 2.6
|
20
|
-
- ruby-head
|
21
|
-
- jruby-head
|
22
|
-
- truffleruby
|
23
|
-
matrix:
|
24
|
-
allow_failures:
|
25
|
-
- rvm: ruby-head
|
26
|
-
- rvm: jruby-head
|
27
|
-
# to figure out later
|
28
|
-
- rvm: truffleruby
|
data/Gemfile
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
source "https://rubygems.org/"
|
4
|
-
ruby RUBY_VERSION
|
5
|
-
|
6
|
-
gemspec
|
7
|
-
|
8
|
-
gem "coveralls", require: false
|
9
|
-
|
10
|
-
group :development do
|
11
|
-
gem "pry"
|
12
|
-
end
|
13
|
-
|
14
|
-
gem "nio4r", "~> 1.2" if RUBY_VERSION < "2.2"
|
15
|
-
|
16
|
-
platforms :mri do
|
17
|
-
gem "pry-byebug", require: false
|
18
|
-
gem "stackprof", require: false
|
19
|
-
gem "xorcist", require: false
|
20
|
-
end
|
21
|
-
|
22
|
-
gem "rubocop", "0.52.1", require: false
|
data/Rakefile
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "bundler/gem_tasks"
|
4
|
-
require "rspec/core/rake_task"
|
5
|
-
require "coveralls/rake/task"
|
6
|
-
require "rubocop/rake_task"
|
7
|
-
|
8
|
-
desc "runs the tests and sends to coveralls server"
|
9
|
-
Coveralls::RakeTask.new
|
10
|
-
|
11
|
-
desc "runs the tests"
|
12
|
-
RSpec::Core::RakeTask.new
|
13
|
-
|
14
|
-
desc "Run rubocop"
|
15
|
-
task :rubocop do
|
16
|
-
RuboCop::RakeTask.new
|
17
|
-
end
|
18
|
-
|
19
|
-
task default: [:spec]
|
20
|
-
|
21
|
-
namespace :spec do
|
22
|
-
desc "runs the tests in coverage mode"
|
23
|
-
task :coverage do
|
24
|
-
ENV["COVERAGE"] = "true"
|
25
|
-
Rake::Task["spec"].execute
|
26
|
-
end
|
27
|
-
|
28
|
-
desc "runs tests, check coverage, pushes to coverage server"
|
29
|
-
task ci: ["spec:coverage", "coveralls:push", "rubocop"]
|
30
|
-
end
|
data/netsnmp.gemspec
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require File.expand_path("../lib/netsnmp/version", __FILE__)
|
4
|
-
|
5
|
-
Gem::Specification.new do |gem|
|
6
|
-
gem.name = "netsnmp"
|
7
|
-
gem.summary = "SNMP Client library"
|
8
|
-
gem.description = <<-DESC
|
9
|
-
Wraps the net-snmp core usage into idiomatic ruby.
|
10
|
-
It is designed to support as many environments and concurrency frameworks as possible.
|
11
|
-
DESC
|
12
|
-
gem.requirements = ["net-snmp"]
|
13
|
-
gem.version = NETSNMP::VERSION
|
14
|
-
gem.license = "Apache-2.0"
|
15
|
-
gem.authors = ["Tiago Cardoso"]
|
16
|
-
gem.email = "cardoso_tiago@hotmail.com"
|
17
|
-
gem.homepage = ""
|
18
|
-
gem.platform = Gem::Platform::RUBY
|
19
|
-
gem.metadata["allowed_push_host"] = "https://rubygems.org/"
|
20
|
-
|
21
|
-
# Manifest
|
22
|
-
gem.files = `git ls-files`.split("\n") - Dir["tmp/**/*"]
|
23
|
-
gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
24
|
-
gem.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
25
|
-
gem.require_paths = ["lib"]
|
26
|
-
|
27
|
-
gem.add_development_dependency "rake", ["~> 10.1", ">= 10.1.0"]
|
28
|
-
gem.add_development_dependency "rspec", ["~> 3.5", ">= 3.5.0"]
|
29
|
-
|
30
|
-
gem.add_development_dependency "celluloid-io", ["~> 0.17", ">= 0.17.2"]
|
31
|
-
end
|
data/spec/support/Dockerfile
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
FROM python:2.7-alpine
|
2
|
-
Maintainer Tiago Cardoso <cardoso_tiago@hotmail.com>
|
3
|
-
|
4
|
-
RUN easy_install snmpsim==0.3.0
|
5
|
-
RUN easy_install pycrypto==2.6.1
|
6
|
-
EXPOSE 1161
|
7
|
-
# Create non-privileged user
|
8
|
-
RUN useradd -m snmp_server
|
9
|
-
|
10
|
-
|
11
|
-
USER snmp_server
|
12
|
-
ENTRYPOINT ["/usr/local/bin/snmpsimd.py"]
|
13
|
-
|
14
|
-
CMD ["--help"]
|
data/spec/support/specs.sh
DELETED
@@ -1,51 +0,0 @@
|
|
1
|
-
#!/usr/bin/env bash
|
2
|
-
|
3
|
-
function start {
|
4
|
-
docker pull honeyryderchuck/snmp-server-emulator:latest
|
5
|
-
docker run -d -p :1161/udp --name test-snmp -v $(pwd)/spec/support/snmpsim:/home/snmp_server/.snmpsim honeyryderchuck/snmp-server-emulator \
|
6
|
-
--v3-engine-id=000000000000000000000002 \
|
7
|
-
--agent-udpv4-endpoint=0.0.0.0:1161 --agent-udpv6-endpoint='[::0]:1161' \
|
8
|
-
--v3-user=simulator --v3-auth-key=auctoritas --v3-priv-key=privatus \
|
9
|
-
--v3-user=authmd5 --v3-auth-key=maplesyrup --v3-auth-proto=MD5 --v3-priv-proto=NONE \
|
10
|
-
--v3-user=authsha --v3-auth-key=maplesyrup --v3-auth-proto=SHA --v3-priv-proto=NONE \
|
11
|
-
--v3-user=authprivshaaes --v3-auth-key=maplesyrup --v3-auth-proto=SHA \
|
12
|
-
--v3-priv-key=maplesyrup --v3-priv-proto=AES \
|
13
|
-
--v3-user=authprivmd5aes --v3-auth-key=maplesyrup --v3-auth-proto=MD5 \
|
14
|
-
--v3-priv-key=maplesyrup --v3-priv-proto=AES \
|
15
|
-
--v3-user=authprivshades --v3-auth-key=maplesyrup --v3-auth-proto=SHA \
|
16
|
-
--v3-priv-key=maplesyrup --v3-priv-proto=DES \
|
17
|
-
--v3-user=authprivmd5des --v3-auth-key=maplesyrup --v3-auth-proto=MD5 \
|
18
|
-
--v3-priv-key=maplesyrup --v3-priv-proto=DES \
|
19
|
-
--v3-user=unsafe --v3-auth-proto=NONE --v3-priv-proto=NONE
|
20
|
-
|
21
|
-
}
|
22
|
-
|
23
|
-
function run {
|
24
|
-
sleep 20 # give some time for the simulator to boot
|
25
|
-
|
26
|
-
port="$(docker port test-snmp 1161/udp)"
|
27
|
-
export SNMP_PORT=$(echo $port | cut -d':' -f2)
|
28
|
-
|
29
|
-
bundle exec rake spec:ci
|
30
|
-
}
|
31
|
-
|
32
|
-
function finish {
|
33
|
-
docker stop test-snmp
|
34
|
-
docker rm test-snmp
|
35
|
-
}
|
36
|
-
|
37
|
-
trap finish EXIT
|
38
|
-
|
39
|
-
case "$1" in
|
40
|
-
start)
|
41
|
-
start
|
42
|
-
docker logs -f test-snmp
|
43
|
-
;;
|
44
|
-
run)
|
45
|
-
start
|
46
|
-
run
|
47
|
-
;;
|
48
|
-
*)
|
49
|
-
echo $"Usage: $0 {start|run}"
|
50
|
-
exit 1
|
51
|
-
esac
|