nrpeclient 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1bf342399b7f18cdf95912c502e253f62428273d
4
- data.tar.gz: 3cac60d09567b155bc4fc27ce0e12560bd6dce57
3
+ metadata.gz: 4ac5e364e88a7a516d11323164c1c513d6e6e397
4
+ data.tar.gz: c592626cd73ef80216d74950fe2f3046533ac7ad
5
5
  SHA512:
6
- metadata.gz: 097e932e95dd3f46c633dac68f8e652b27c037490e77f242282bbdbe83feb40eafa82aa5755faf70b6d49f85e35a28b56f161aae68b2f255e72b3740ff7b2d8c
7
- data.tar.gz: 7ede0153f0b48c01076fc421bf880425a72d2d7a90efbf3b305eed1af387e9833c30e0d8c94ea33f8bf7d3c0e7dc635ec904baa97a0f4f55dea3b2a824925785
6
+ metadata.gz: d5aff014899de7617e962188ca2a968a750d40a854c3b5b1ef1b4451e2a8c6bbf1625ca5ef3eda986baadbdcbc1fa0cac4a96454fc7388a07932989d9568d86b
7
+ data.tar.gz: 14e17897727f48bfc6d8a024fcdc7a70676b247073a133de6d4a32653ba9c6f76f70e64948921183f1359aff30b2a6166934750fa7c810ccf8e4cc95682439cc
@@ -13,12 +13,10 @@ module Nrpeclient
13
13
  def initialize(options={})
14
14
  @options = DEFAULT_OPTIONS.merge(options)
15
15
  if @options[:ssl]
16
- @ssl = {}
17
- @ssl.context = OpenSSL::SSL::SSLContext.new :SSLv23
18
- @ssl.context.ciphers = 'ADH'
19
- @ssl.context.cert = OpenSSL::X509::Certificate.new(File.open("certificate.crt"))
20
- @ssl.context.key = OpenSSL::PKey::RSA.new(File.open("certificate.key"))
21
- @ssl.context.version = :SSLv23
16
+ @ssl_context = OpenSSL::SSL::SSLContext.new :SSLv23
17
+ @ssl_context.ciphers = 'ADH'
18
+ @ssl_context.cert = OpenSSL::X509::Certificate.new(File.open(@options.fetch(:ssl_cert))) if !@options[:ssl_cert].nil?
19
+ @ssl_context.key = OpenSSL::PKey::RSA.new(File.open(@options.fetch(:ssl_key))) if !@options[:ssl_key].nil?
22
20
  end
23
21
  end
24
22
 
@@ -30,13 +28,13 @@ module Nrpeclient
30
28
  begin
31
29
  socket = TCPSocket.open(@options[:host], @options[:port])
32
30
  if @options[:ssl]
33
- socket = OpenSSL::SSL::SSLSocket.new(socket, @ssl.context)
31
+ socket = OpenSSL::SSL::SSLSocket.new(socket, @ssl_context)
34
32
  socket.sync_close = true
35
33
  socket.connect
36
34
  end
37
35
 
38
36
  socket.write(query.to_bytes)
39
- response = Nrpeclient::NrpePacket.read(socket)
37
+ response = Nrpeclient::NrpePacket.read(socket, !@options[:ssl])
40
38
  socket.close
41
39
  return response
42
40
  rescue Errno::ETIMEDOUT
@@ -13,7 +13,7 @@ module Nrpeclient
13
13
 
14
14
  MAX_PACKET_SIZE = 12 + 1024
15
15
 
16
- attr_accessor :packet_version, :crc32, :result_code, :buffer
16
+ attr_accessor :packet_version, :crc32, :result_code, :buffer, :perfdata
17
17
 
18
18
  def initialize(unpacked=nil)
19
19
  @packet_version = NRPE_PACKET_VERSION_2
@@ -26,6 +26,15 @@ module Nrpeclient
26
26
  @result_code = unpacked[3]
27
27
  @buffer = unpacked[4]
28
28
  @random = unpacked[5]
29
+ # Parse perfdata and return as a hash
30
+ if @buffer.include? "|" then
31
+ @perfdata = Hash.new
32
+ @buffer.split("|")[1].split(",").each do |metric|
33
+ key = metric.split("=")[0].strip
34
+ value = metric.split("=")[1].strip
35
+ @perfdata[:"#{key}"] = value
36
+ end
37
+ end
29
38
  end
30
39
  end
31
40
 
@@ -61,11 +70,11 @@ module Nrpeclient
61
70
  [ @packet_version, @packet_type, use_crc32, @result_code, @buffer, @random].pack("nnNna#{MAX_PACKETBUFFER_LENGTH}n")
62
71
  end
63
72
 
64
- def self.read(io)
73
+ def self.read(io, validate_crc32=true)
65
74
  bytes = io.read(MAX_PACKET_SIZE)
66
75
  values = bytes.unpack("nnNnA#{MAX_PACKETBUFFER_LENGTH}n")
67
76
  packet = self.new(values)
68
- packet.validate_crc32
77
+ packet.validate_crc32 if validate_crc32
69
78
  packet
70
79
  end
71
80
  end
@@ -1,3 +1,3 @@
1
1
  module Nrpeclient
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nrpeclient
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arun Scaria
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-13 00:00:00.000000000 Z
11
+ date: 2016-02-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.10'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.10'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ~>
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ~>
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description: Executed the command passed at the remote machine where NRPE daemon is
@@ -75,17 +75,17 @@ require_paths:
75
75
  - lib
76
76
  required_ruby_version: !ruby/object:Gem::Requirement
77
77
  requirements:
78
- - - '>='
78
+ - - ">="
79
79
  - !ruby/object:Gem::Version
80
80
  version: '0'
81
81
  required_rubygems_version: !ruby/object:Gem::Requirement
82
82
  requirements:
83
- - - '>='
83
+ - - ">="
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
86
  requirements: []
87
87
  rubyforge_project:
88
- rubygems_version: 2.4.7
88
+ rubygems_version: 2.2.2
89
89
  signing_key:
90
90
  specification_version: 4
91
91
  summary: Ruby version of check_nrpe command from Nagios core