trisulrp 1.2.8 → 1.2.9

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.8
1
+ 1.2.9
@@ -75,8 +75,8 @@ module TrisulRP::Protocol
75
75
  resp =TRP::Message.new
76
76
  resp.parse dataarray
77
77
  raise resp.error_response if resp.trp_command == TRP::Message::Command::ERROR_RESPONSE
78
- yield resp if block_given?
79
- return resp
78
+ yield unwrap_response(resp) if block_given?
79
+ return unwrap_response(resp)
80
80
  end
81
81
 
82
82
 
@@ -105,8 +105,8 @@ module TrisulRP::Protocol
105
105
  req=mk_request(TRP::Message::Command::COUNTER_GROUP_INFO_REQUEST,
106
106
  :counter_group => TrisulRP::Guids::CG_AGGREGATE)
107
107
  get_response(conn,req) do |resp|
108
- from_tm = Time.at(resp.counter_group_info_response.group_details[0].time_interval.from.tv_sec)
109
- to_tm = Time.at(resp.counter_group_info_response.group_details[0].time_interval.to.tv_sec)
108
+ from_tm = Time.at(resp.group_details[0].time_interval.from.tv_sec)
109
+ to_tm = Time.at(resp.group_details[0].time_interval.to.tv_sec)
110
110
  end
111
111
  return [from_tm,to_tm]
112
112
  end
@@ -179,7 +179,7 @@ module TrisulRP::Protocol
179
179
  when TRP::Message::Command::SEARCH_KEYS_REQUEST
180
180
  req.search_keys_request = TRP::SearchKeysRequest.new(params)
181
181
  when TRP::Message::Command::BULK_COUNTER_ITEM_REQUEST
182
- req.bulk_counter_item_request = TRP::BulkItemRequest.new(params)
182
+ req.bulk_counter_item_request = TRP::BulkCounterItemRequest.new(params)
183
183
  when TRP::Message::Command:: CGMONITOR_REQUEST
184
184
  req.cgmonitor_request = TRP::CgmonitorRequest.new(params)
185
185
  when TRP::Message::Command::TOPPER_SNAPSHOT_REQUEST
@@ -216,5 +216,96 @@ module TrisulRP::Protocol
216
216
  return req
217
217
  end
218
218
 
219
+ # Helper to unwrap a response
220
+ #
221
+ # All protobuf messages used in TRP have a wrapper containing a command_id which identifies
222
+ # the type of encapsulated message. This sometimes gets in the way because you have to write
223
+ # stuff like
224
+ #
225
+ # <code>
226
+ #
227
+ # response.counter_group_response.blah_blah
228
+ #
229
+ # instead of
230
+ #
231
+ # response.blah_blah
232
+ #
233
+ # </code>
234
+ #
235
+ # Read the TRP documentation wiki for a description of each command.
236
+ #
237
+ # [resp] The response
238
+ #
239
+ # ==== Typical usage
240
+ #
241
+ # <code>
242
+ #
243
+ # # create a new command of type KeySessionActivityRequest
244
+ # req = TrisulRP::Protocol.get_response(...) do |resp|
245
+ #
246
+ # # here resp points to the inner response without the wrapper
247
+ # # this allows you to write resp.xyz instead of resp.hello_response.xyz
248
+ #
249
+ #
250
+ # end
251
+ #
252
+ # </code>
253
+ #
254
+ #
255
+ def unwrap_response(resp)
256
+ case resp.trp_command
257
+ when TRP::Message::Command::HELLO_RESPONSE
258
+ resp.hello_response
259
+ when TRP::Message::Command::COUNTER_GROUP_RESPONSE
260
+ resp.counter_group_response
261
+ when TRP::Message::Command::COUNTER_ITEM_RESPONSE
262
+ resp.counter_item_response
263
+ when TRP::Message::Command::OK_RESPONSE
264
+ resp.ok_response
265
+ when TRP::Message::Command::CONTROLLED_COUNTER_GROUP_RESPONSE
266
+ resp.controlled_counter_group_response
267
+ when TRP::Message::Command::FILTERED_DATAGRAMS_RESPONSE
268
+ resp.filtered_datagram_response
269
+ when TRP::Message::Command::CONTROLLED_CONTEXT_RESPONSE
270
+ resp.controlled_context_response
271
+ when TRP::Message::Command::SEARCH_KEYS_RESPONSE
272
+ resp.search_keys_response
273
+ when TRP::Message::Command::BULK_COUNTER_ITEM_RESPONSE
274
+ resp.bulk_counter_item_response
275
+ when TRP::Message::Command:: CGMONITOR_RESPONSE
276
+ resp.cgmonitor_response
277
+ when TRP::Message::Command::TOPPER_SNAPSHOT_RESPONSE
278
+ resp.topper_snapshot_response
279
+ when TRP::Message::Command::UPDATE_KEY_RESPONSE
280
+ resp.update_key_response
281
+ when TRP::Message::Command::RING_STATS_RESPONSE
282
+ resp.ring_stats_response
283
+ when TRP::Message::Command::SERVER_STATS_RESPONSE
284
+ resp.server_stats_response
285
+ when TRP::Message::Command::SESSION_ITEM_RESPONSE
286
+ resp.session_item_response
287
+ when TRP::Message::Command::SESSION_GROUP_RESPONSE
288
+ resp.session_group_response
289
+ when TRP::Message::Command::ALERT_ITEM_RESPONSE
290
+ resp.alert_item_response
291
+ when TRP::Message::Command::ALERT_GROUP_RESPONSE
292
+ resp.alert_group_response
293
+ when TRP::Message::Command::RESOURCE_ITEM_RESPONSE
294
+ resp.resource_item_response
295
+ when TRP::Message::Command::RESOURCE_GROUP_RESPONSE
296
+ resp.resource_group_response
297
+ when TRP::Message::Command::KEY_LOOKUP_RESPONSE
298
+ resp.key_lookup_response
299
+ when TRP::Message::Command::COUNTER_GROUP_INFO_RESPONSE
300
+ resp.counter_group_info_response
301
+ when TRP::Message::Command::KEY_SESS_ACTIVITY_RESPONSE
302
+ resp.key_session_activity_response
303
+ when TRP::Message::Command::GREP_RESPONSE
304
+ resp.grep_response
305
+ else
306
+ raise "Unknown TRP command ID"
307
+ end
308
+ end
309
+
219
310
  end
220
311
 
@@ -35,7 +35,7 @@ module TrisulRP::Utils
35
35
  :session_ids => all_sids)
36
36
 
37
37
  TrisulRP::Protocol.get_response(conn,follow_up) do |resp|
38
- resp.session_item_response.items.each do |item|
38
+ resp.items.each do |item|
39
39
  print "#{item.session_id.slice_id},#{item.session_id.session_id} "
40
40
  print "#{Time.at(item.time_interval.from.tv_sec)} "
41
41
  print "#{item.time_interval.to.tv_sec-item.time_interval.from.tv_sec} ".rjust(8)
@@ -72,8 +72,8 @@ module TrisulRP::Utils
72
72
 
73
73
  resp = TrisulRP::Protocol.get_response(conn,req)
74
74
 
75
- if resp.search_keys_response.found_keys.size > 0
76
- resp.search_keys_response.found_keys[0].key
75
+ if resp.found_keys.size > 0
76
+ resp.found_keys[0].key
77
77
  else
78
78
  str
79
79
  end
@@ -106,8 +106,7 @@ module TrisulRP::Utils
106
106
 
107
107
 
108
108
 
109
- TrisulRP::Protocol.get_response(conn,follow_up) do | resp2 |
110
- resp=resp2.alert_item_response
109
+ TrisulRP::Protocol.get_response(conn,follow_up) do | resp |
111
110
  resolv_candidates = resp.items.collect { |item| [item.source_ip, item.source_port, item.destination_ip, item.destination_port,item.sigid] }
112
111
  resolv_arr = resolv_candidates.transpose
113
112
  sip_names = TrisulRP::Keys.get_labels_for_keys(conn,TrisulRP::Guids::CG_HOST, resolv_arr[0])
data/test/cginfo.rb ADDED
@@ -0,0 +1,33 @@
1
+ # Trisul Remote Protocol TRP Demo script
2
+ #
3
+ # Counter Group Info
4
+ #
5
+ # Prints information about all supported coutner groups on a trisul instance
6
+ #
7
+ require 'trisulrp'
8
+
9
+ include TrisulRP::Protocol
10
+ include TrisulRP::Utils
11
+
12
+
13
+ raise "Usage : cginfo host port" unless ARGV.length==2
14
+
15
+
16
+ TrisulRP::Protocol.connect(ARGV.shift,ARGV.shift,"Demo_Client.crt","Demo_Client.key") do |conn|
17
+
18
+ req =TrisulRP::Protocol.mk_request(TRP::Message::Command::COUNTER_GROUP_INFO_REQUEST,
19
+ :counter_group => "{C51B48D4-7876-479E-B0D9-BD9EFF03CE2E}" )
20
+
21
+ TrisulRP::Protocol.get_response(conn,req) do |resp|
22
+ resp.group_details.each do |group_detail|
23
+ start_time= Time.at(group_detail.time_interval.from.tv_sec)
24
+ end_time=Time.at(group_detail.time_interval.to.tv_sec)
25
+
26
+ p "Name = " + group_detail.name
27
+ p "GUID = " + group_detail.guid
28
+
29
+ end
30
+ end
31
+
32
+ end
33
+
data/test/test_alerts.rb CHANGED
@@ -24,7 +24,7 @@ class TestTrisulrp < Test::Unit::TestCase
24
24
  :time_interval => mk_time_interval(tm_arr))
25
25
 
26
26
  TrisulRP::Protocol.get_response(conn,req) do |resp|
27
- print_alert_details(conn,resp.alert_group_response.alerts)
27
+ print_alert_details(conn,resp.alerts)
28
28
  end
29
29
  end
30
30
  end
data/test/test_cap.rb CHANGED
@@ -26,8 +26,7 @@ class TestCap < Test::Unit::TestCase
26
26
  :filter_expression => expr)
27
27
  )
28
28
 
29
- TrisulRP::Protocol.get_response(conn,req) do |resp|
30
- fdr=resp.filtered_datagram_response
29
+ TrisulRP::Protocol.get_response(conn,req) do |fdr|
31
30
  p "Number of bytes = #{fdr.num_bytes}\n"
32
31
  p "Number of pkts = #{fdr.num_datagrams}\n"
33
32
  p "Hash = #{fdr.sha1}\n"
@@ -52,8 +51,7 @@ class TestCap < Test::Unit::TestCase
52
51
  :session_id => target_sess)
53
52
  )
54
53
 
55
- TrisulRP::Protocol.get_response(conn,req) do |resp|
56
- fdr=resp.filtered_datagram_response
54
+ TrisulRP::Protocol.get_response(conn,req) do |fdr|
57
55
  p "Number of bytes = #{fdr.num_bytes}\n"
58
56
  p "Number of pkts = #{fdr.num_datagrams}\n"
59
57
  p "Hash = #{fdr.sha1}\n"
@@ -78,8 +76,7 @@ class TestCap < Test::Unit::TestCase
78
76
  :alert_id => target_alert)
79
77
  )
80
78
 
81
- TrisulRP::Protocol.get_response(conn,req) do |resp|
82
- fdr=resp.filtered_datagram_response
79
+ TrisulRP::Protocol.get_response(conn,req) do |fdr|
83
80
  p "Number of bytes = #{fdr.num_bytes}\n"
84
81
  p "Number of pkts = #{fdr.num_datagrams}\n"
85
82
  p "Hash = #{fdr.sha1}\n"
@@ -105,8 +102,7 @@ class TestCap < Test::Unit::TestCase
105
102
  :resource_id => target)
106
103
  )
107
104
 
108
- TrisulRP::Protocol.get_response(conn,req) do |resp|
109
- fdr=resp.filtered_datagram_response
105
+ TrisulRP::Protocol.get_response(conn,req) do |fdr|
110
106
  p "Number of bytes = #{fdr.num_bytes}\n"
111
107
  p "Number of pkts = #{fdr.num_datagrams}\n"
112
108
  p "Hash = #{fdr.sha1}\n"
data/test/test_grep.rb CHANGED
@@ -22,7 +22,7 @@ class TestTrisulrp < Test::Unit::TestCase
22
22
 
23
23
  TrisulRP::Protocol.get_response(conn,req) do |resp|
24
24
 
25
- print_session_details(conn,resp.grep_response.sessions)
25
+ print_session_details(conn,resp.sessions)
26
26
 
27
27
  end
28
28
 
@@ -26,7 +26,7 @@ class TestTrisulrp < Test::Unit::TestCase
26
26
  :time_interval => mk_time_interval(tmarr))
27
27
 
28
28
  TrisulRP::Protocol.get_response(@conn,req) do |resp|
29
- print_session_details(@conn,resp.key_session_activity_response.sessions)
29
+ print_session_details(@conn,resp.sessions)
30
30
  end
31
31
 
32
32
  end
@@ -45,7 +45,7 @@ class TestTrisulrp < Test::Unit::TestCase
45
45
  :time_interval => mk_time_interval(tmarr))
46
46
 
47
47
  TrisulRP::Protocol.get_response(@conn,req) do |resp|
48
- print_session_details(@conn,resp.key_session_activity_response.sessions)
48
+ print_session_details(@conn,resp.sessions)
49
49
  end
50
50
 
51
51
  end
@@ -25,7 +25,7 @@ class TestTrisulrp < Test::Unit::TestCase
25
25
  TrisulRP::Protocol.get_response(conn,req) do |resp|
26
26
 
27
27
  # matching resource ids
28
- resource_ids = resp.resource_group_response.resources.collect do |res|
28
+ resource_ids = resp.resources.collect do |res|
29
29
  TRP::ResourceID.new(:slice_id => res.slice_id, :resource_id => res.resource_id)
30
30
  end
31
31
 
@@ -33,8 +33,7 @@ class TestTrisulrp < Test::Unit::TestCase
33
33
  :context => 0, :resource_group => TrisulRP::Guids::RG_DNS,
34
34
  :resource_ids => resource_ids)
35
35
 
36
- TrisulRP::Protocol.get_response(conn,follow_up) do | resp2 |
37
- resp=resp2.resource_item_response
36
+ TrisulRP::Protocol.get_response(conn,follow_up) do | resp |
38
37
  resp.items.each do |item|
39
38
  print "#{Time.at(item.time.tv_sec)} "
40
39
  print "#{item.source_ip}".ljust(28)
data/trisulrp.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{trisulrp}
8
- s.version = "1.2.8"
8
+ s.version = "1.2.9"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["vivek"]
12
- s.date = %q{2011-02-22}
12
+ s.date = %q{2011-03-06}
13
13
  s.description = %q{This gem deals about the trisul remote protocol}
14
14
  s.email = %q{vivek_rajagopal@yahoo.com}
15
15
  s.extra_rdoc_files = [
@@ -33,6 +33,7 @@ Gem::Specification.new do |s|
33
33
  "lib/trisulrp/utils.rb",
34
34
  "test/Demo_Client.crt",
35
35
  "test/Demo_Client.key",
36
+ "test/cginfo.rb",
36
37
  "test/helper.rb",
37
38
  "test/test_alerts.rb",
38
39
  "test/test_cap.rb",
@@ -50,6 +51,7 @@ Gem::Specification.new do |s|
50
51
  s.summary = %q{trisul trp}
51
52
  s.test_files = [
52
53
  "examples/strp.rb",
54
+ "test/cginfo.rb",
53
55
  "test/helper.rb",
54
56
  "test/test_alerts.rb",
55
57
  "test/test_cap.rb",
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 2
8
- - 8
9
- version: 1.2.8
8
+ - 9
9
+ version: 1.2.9
10
10
  platform: ruby
11
11
  authors:
12
12
  - vivek
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-02-22 00:00:00 +05:30
17
+ date: 2011-03-06 00:00:00 +05:30
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -129,6 +129,7 @@ files:
129
129
  - lib/trisulrp/utils.rb
130
130
  - test/Demo_Client.crt
131
131
  - test/Demo_Client.key
132
+ - test/cginfo.rb
132
133
  - test/helper.rb
133
134
  - test/test_alerts.rb
134
135
  - test/test_cap.rb
@@ -152,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
153
  requirements:
153
154
  - - ">="
154
155
  - !ruby/object:Gem::Version
155
- hash: -371857393
156
+ hash: 918382383
156
157
  segments:
157
158
  - 0
158
159
  version: "0"
@@ -173,6 +174,7 @@ specification_version: 3
173
174
  summary: trisul trp
174
175
  test_files:
175
176
  - examples/strp.rb
177
+ - test/cginfo.rb
176
178
  - test/helper.rb
177
179
  - test/test_alerts.rb
178
180
  - test/test_cap.rb