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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +60 -27
  3. data/lib/netsnmp.rb +3 -21
  4. data/lib/netsnmp/client.rb +4 -5
  5. data/lib/netsnmp/encryption/aes.rb +1 -3
  6. data/lib/netsnmp/encryption/des.rb +0 -2
  7. data/lib/netsnmp/errors.rb +1 -0
  8. data/lib/netsnmp/extensions.rb +113 -0
  9. data/lib/netsnmp/loggable.rb +36 -0
  10. data/lib/netsnmp/message.rb +70 -28
  11. data/lib/netsnmp/mib.rb +172 -0
  12. data/lib/netsnmp/mib/parser.rb +750 -0
  13. data/lib/netsnmp/oid.rb +7 -12
  14. data/lib/netsnmp/pdu.rb +23 -12
  15. data/lib/netsnmp/scoped_pdu.rb +8 -2
  16. data/lib/netsnmp/security_parameters.rb +22 -14
  17. data/lib/netsnmp/session.rb +14 -16
  18. data/lib/netsnmp/v3_session.rb +21 -9
  19. data/lib/netsnmp/varbind.rb +27 -22
  20. data/lib/netsnmp/version.rb +1 -1
  21. data/sig/client.rbs +24 -0
  22. data/sig/loggable.rbs +16 -0
  23. data/sig/message.rbs +9 -0
  24. data/sig/mib.rbs +21 -0
  25. data/sig/mib/parser.rbs +7 -0
  26. data/sig/netsnmp.rbs +19 -0
  27. data/sig/oid.rbs +18 -0
  28. data/sig/openssl.rbs +20 -0
  29. data/sig/pdu.rbs +48 -0
  30. data/sig/scoped_pdu.rbs +15 -0
  31. data/sig/security_parameters.rbs +58 -0
  32. data/sig/session.rbs +38 -0
  33. data/sig/timeticks.rbs +7 -0
  34. data/sig/v3_session.rbs +21 -0
  35. data/sig/varbind.rbs +30 -0
  36. data/spec/client_spec.rb +26 -8
  37. data/spec/handlers/celluloid_spec.rb +4 -3
  38. data/spec/mib_spec.rb +13 -0
  39. data/spec/session_spec.rb +2 -2
  40. data/spec/spec_helper.rb +9 -5
  41. data/spec/support/request_examples.rb +2 -2
  42. data/spec/v3_session_spec.rb +4 -4
  43. data/spec/varbind_spec.rb +5 -3
  44. metadata +31 -71
  45. data/.coveralls.yml +0 -1
  46. data/.gitignore +0 -14
  47. data/.rspec +0 -2
  48. data/.rubocop.yml +0 -11
  49. data/.rubocop_todo.yml +0 -69
  50. data/.travis.yml +0 -28
  51. data/Gemfile +0 -22
  52. data/Rakefile +0 -30
  53. data/netsnmp.gemspec +0 -31
  54. data/spec/support/Dockerfile +0 -14
  55. data/spec/support/specs.sh +0 -51
  56. 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
@@ -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"]
@@ -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
@@ -1,5 +0,0 @@
1
- sudo docker stop test-snmp-emulator
2
- sudo docker rm test-snmp-emulator
3
- sudo docker rmi snmp-server-emulator
4
-
5
-