cow 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/lib/cow.rb CHANGED
@@ -7,9 +7,12 @@ require 'cow/plugins/cisco'
7
7
 
8
8
  module Cow
9
9
  SERVER_TYPES = {
10
- acs: Cow::ACS::Server,
11
- acs5000: Cow::ACS5000::Server,
12
- acs6000: Cow::ACS6000::Server,
10
+ acs_telnet: Cow::ACS::Telnet::Server,
11
+ acs_ssh: Cow::ACS::SSH::Server,
12
+ acs5000_telnet: Cow::ACS5000::Telnet::Server,
13
+ acs5000_ssh: Cow::ACS5000::SSH::Server,
14
+ acs6000_telnet: Cow::ACS6000::Telnet::Server,
15
+ acs6000_ssh: Cow::ACS6000::SSH::Server,
13
16
  digi_ts_telnet: Cow::DIGI_TS::Telnet::Server,
14
17
  cisco_telnet: Cow::Cisco::Telnet::Server,
15
18
  cisco_ssh: Cow::Cisco::SSH::Server
@@ -9,18 +9,12 @@ module Cow
9
9
  class Port < Cow::Tmpl::Port
10
10
  end
11
11
 
12
- class Server < Cow::Tmpl::Server
12
+ module Server
13
13
  def port(_port)
14
14
  return _port if _port.class == Cow::ACS::Port
15
15
  super
16
16
  end
17
17
 
18
- def connect_command(_port, _user = ENV['USER'])
19
- "ssh -l #{_user}:#{port(_port).tcp_port} #{@hostname}"
20
- end
21
-
22
- private
23
-
24
18
  def get_ports
25
19
  ret = []
26
20
  snmp do |s|
@@ -38,5 +32,25 @@ module Cow
38
32
  ret
39
33
  end
40
34
  end
35
+
36
+ module Telnet
37
+ class Server < Cow::Tmpl::Server
38
+ include Cow::ACS::Server
39
+
40
+ def connect_command(_port, _user = ENV['USER'])
41
+ "telnet #{@hostname} #{port(_port).tcp_port}"
42
+ end
43
+ end
44
+ end
45
+
46
+ module SSH
47
+ class Server < Cow::Tmpl::Server
48
+ include Cow::ACS::Server
49
+
50
+ def connect_command(_port, _user = ENV['USER'])
51
+ "ssh -l #{_user}:#{port(_port).tcp_port} #{@hostname}"
52
+ end
53
+ end
54
+ end
41
55
  end
42
56
  end
@@ -9,23 +9,18 @@ module Cow
9
9
  class Port < Cow::Tmpl::Port
10
10
  end
11
11
 
12
- class Server < Cow::Tmpl::Server
12
+ module Server
13
13
  def port(_port)
14
14
  return _port if _port.class == Cow::ACS5000::Port
15
15
  super
16
16
  end
17
17
 
18
- def connect_command(_port, _user = ENV['USER'])
19
- "ssh -l #{_user}:#{port(_port).tcp_port} #{@hostname}"
20
- end
21
-
22
- private
23
-
24
18
  def get_ports
25
19
  ret = []
26
20
  snmp do |s|
27
21
  s.walk(OID_DESCRIPTION_LIST) do |x|
28
22
  next if x.name.last.zero?
23
+ next unless (/^[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}P[0-9]+$/ =~ x.value.to_s).nil?
29
24
  port = x.name.last
30
25
  name = x.value.to_s
31
26
  tcp_port = snmp { |s| break s.get_value(OID_TCPPORT_LIST + ".#{port}") }
@@ -37,5 +32,25 @@ module Cow
37
32
  ret
38
33
  end
39
34
  end
35
+
36
+ module Telnet
37
+ class Server < Cow::Tmpl::Server
38
+ include Cow::ACS5000::Server
39
+
40
+ def connect_command(_port, _user = ENV['USER'])
41
+ "telnet #{@hostname} #{port(_port).tcp_port}"
42
+ end
43
+ end
44
+ end
45
+
46
+ module SSH
47
+ class Server < Cow::Tmpl::Server
48
+ include Cow::ACS5000::Server
49
+
50
+ def connect_command(_port, _user = ENV['USER'])
51
+ "ssh -l #{_user}:#{port(_port).tcp_port} #{@hostname}"
52
+ end
53
+ end
54
+ end
40
55
  end
41
56
  end
@@ -9,23 +9,18 @@ module Cow
9
9
  class Port < Cow::Tmpl::Port
10
10
  end
11
11
 
12
- class Server < Cow::Tmpl::Server
12
+ module Server
13
13
  def port(_port)
14
14
  return _port if _port.class == Cow::ACS6000::Port
15
15
  super
16
16
  end
17
17
 
18
- def connect_command(_port, _user = ENV['USER'])
19
- "ssh -l #{_user}:#{port(_port).tcp_port} #{@hostname}"
20
- end
21
-
22
- private
23
-
24
18
  def get_ports
25
19
  ret = []
26
20
  snmp do |s|
27
21
  s.walk(OID_DESCRIPTION_LIST) do |x|
28
22
  next if x.name.last.zero?
23
+ next unless (/^[0-9a-f]{2}-[0-9a-f]{2}-[0-9a-f]{2}-p-[0-9]+$/ =~ x.value.to_s).nil?
29
24
  port = x.name.last
30
25
  name = x.value.to_s
31
26
  tcp_port = TCP_PORT_OFFSET + port.to_i
@@ -37,5 +32,25 @@ module Cow
37
32
  ret
38
33
  end
39
34
  end
35
+
36
+ module Telnet
37
+ class Server < Cow::Tmpl::Server
38
+ include Cow::ACS6000::Server
39
+
40
+ def connect_command(_port, _user = ENV['USER'])
41
+ "telnet #{@hostname} #{port(_port).tcp_port}"
42
+ end
43
+ end
44
+ end
45
+
46
+ module SSH
47
+ class Server < Cow::Tmpl::Server
48
+ include Cow::ACS6000::Server
49
+
50
+ def connect_command(_port, _user = ENV['USER'])
51
+ "ssh -l #{_user}:#{port(_port).tcp_port} #{@hostname}"
52
+ end
53
+ end
54
+ end
40
55
  end
41
56
  end
@@ -1,3 +1,3 @@
1
1
  module Cow
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-09-05 00:00:00.000000000 Z
12
+ date: 2016-09-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler