trisulrp 1.2.6 → 1.2.7

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.6
1
+ 1.2.7
@@ -247,6 +247,8 @@ module TrisulRP::Protocol
247
247
  req.counter_group_info_request = TRP::CounterGroupInfoRequest.new(params)
248
248
  when TRP::Message::Command::KEY_SESS_ACTIVITY_REQUEST
249
249
  req.key_session_activity_request = TRP::KeySessionActivityRequest.new(params)
250
+ when TRP::Message::Command::GREP_REQUEST
251
+ req.grep_request = TRP::GrepRequest.new(params)
250
252
  else
251
253
  raise "Unknown TRP command ID"
252
254
  end
@@ -63,6 +63,8 @@ module TRP
63
63
  class ResourceGroupResponse < ::ProtocolBuffers::Message; end
64
64
  class KeyLookupRequest < ::ProtocolBuffers::Message; end
65
65
  class KeyLookupResponse < ::ProtocolBuffers::Message; end
66
+ class GrepRequest < ::ProtocolBuffers::Message; end
67
+ class GrepResponse < ::ProtocolBuffers::Message; end
66
68
 
67
69
  # enums
68
70
  module AuthLevel
@@ -216,6 +218,8 @@ module TRP
216
218
  RESOURCE_GROUP_RESPONSE = 49
217
219
  KEY_LOOKUP_REQUEST = 50
218
220
  KEY_LOOKUP_RESPONSE = 51
221
+ GREP_REQUEST = 60
222
+ GREP_RESPONSE = 61
219
223
  end
220
224
 
221
225
  required ::TRP::Message::Command, :trp_command, 1
@@ -263,6 +267,8 @@ module TRP
263
267
  optional ::TRP::ResourceGroupResponse, :resource_group_response, 48
264
268
  optional ::TRP::KeyLookupRequest, :key_lookup_request, 49
265
269
  optional ::TRP::KeyLookupResponse, :key_lookup_response, 50
270
+ optional ::TRP::GrepRequest, :grep_request, 51
271
+ optional ::TRP::GrepResponse, :grep_response, 52
266
272
 
267
273
  gen_methods! # new fields ignored after this point
268
274
  end
@@ -731,4 +737,22 @@ module TRP
731
737
  gen_methods! # new fields ignored after this point
732
738
  end
733
739
 
740
+ class GrepRequest < ::ProtocolBuffers::Message
741
+ optional :int64, :context, 1, :default => 0
742
+ optional :string, :session_group, 2, :default => "{99A78737-4B41-4387-8F31-8077DB917336}"
743
+ required ::TRP::TimeInterval, :time_interval, 3
744
+ optional :int64, :maxitems, 4, :default => 500
745
+ required :string, :pattern, 5
746
+
747
+ gen_methods! # new fields ignored after this point
748
+ end
749
+
750
+ class GrepResponse < ::ProtocolBuffers::Message
751
+ optional :int64, :context, 1
752
+ optional :string, :session_group, 2, :default => "{99A78737-4B41-4387-8F31-8077DB917336}"
753
+ repeated ::TRP::SessionID, :sessions, 3
754
+
755
+ gen_methods! # new fields ignored after this point
756
+ end
757
+
734
758
  end
@@ -126,6 +126,8 @@ message Message {
126
126
  RESOURCE_GROUP_RESPONSE=49;
127
127
  KEY_LOOKUP_REQUEST=50;
128
128
  KEY_LOOKUP_RESPONSE=51;
129
+ GREP_REQUEST=60;
130
+ GREP_RESPONSE=61;
129
131
  }
130
132
 
131
133
  required Command trp_command=1;
@@ -173,6 +175,8 @@ message Message {
173
175
  optional ResourceGroupResponse resource_group_response=48;
174
176
  optional KeyLookupRequest key_lookup_request=49;
175
177
  optional KeyLookupResponse key_lookup_response=50;
178
+ optional GrepRequest grep_request=51;
179
+ optional GrepResponse grep_response=52;
176
180
  }
177
181
 
178
182
  ///////////////////////////////
@@ -617,3 +621,21 @@ message KeyLookupResponse {
617
621
  repeated KeyDetails key_details=3;
618
622
  }
619
623
 
624
+ ////////////////////////////////////
625
+ // GrepRequest
626
+ message GrepRequest {
627
+ optional int64 context=1[default=0];
628
+ optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
629
+ required TimeInterval time_interval=3;
630
+ optional int64 maxitems=4 [default=500];
631
+ required string pattern=5;
632
+ }
633
+
634
+ /////////////////////////////////////
635
+ // GrepResponse
636
+ message GrepResponse {
637
+ optional int64 context=1;
638
+ optional string session_group=2[default="{99A78737-4B41-4387-8F31-8077DB917336}"];
639
+ repeated SessionID sessions=3;
640
+ }
641
+
data/test/helper.rb CHANGED
@@ -15,4 +15,46 @@ $LOAD_PATH.unshift(File.dirname(__FILE__))
15
15
  require 'trisulrp'
16
16
 
17
17
  class Test::Unit::TestCase
18
+
19
+ # helper function to get session info and print in a table
20
+ def print_session_details(conn,sessions)
21
+ all_sids = sessions.collect{ |ai| TRP::SessionID.new(
22
+ :slice_id => ai.slice_id,
23
+ :session_id => ai.session_id ) }
24
+
25
+ follow_up = TrisulRP::Protocol.mk_request(TRP::Message::Command::SESSION_ITEM_REQUEST,
26
+ :session_ids => all_sids)
27
+
28
+ TrisulRP::Protocol.get_response(conn,follow_up) do |resp|
29
+ resp.session_item_response.items.each do |item|
30
+ print "#{item.session_id.slice_id},#{item.session_id.session_id} "
31
+ print "#{Time.at(item.time_interval.from.tv_sec)} "
32
+ print "#{item.time_interval.to.tv_sec-item.time_interval.from.tv_sec} ".rjust(8)
33
+ print "#{item.key1A.label}".ljust(28)
34
+ print "#{item.key2A.label}".ljust(11)
35
+ print "#{item.key1Z.label}".ljust(28)
36
+ print "#{item.key2Z.label}".ljust(11)
37
+ print "#{item.az_bytes}".rjust(10)
38
+ print "#{item.za_bytes}".rjust(10)
39
+ print "\n"
40
+ end
41
+ end
42
+ end
43
+
44
+ # convert a string to a key
45
+ def mk_trisul_key(guid,str)
46
+ req = TrisulRP::Protocol.mk_request(TRP::Message::Command::SEARCH_KEYS_REQUEST,
47
+ :pattern => str,
48
+ :counter_group => guid,
49
+ :maxitems => 1)
50
+
51
+ resp = TrisulRP::Protocol.get_response(@conn,req)
52
+
53
+ if resp.search_keys_response.found_keys.size > 0
54
+ resp.search_keys_response.found_keys[0].key
55
+ else
56
+ str
57
+ end
58
+ end
59
+
18
60
  end
data/test/test_grep.rb ADDED
@@ -0,0 +1,31 @@
1
+
2
+ # Trisul Remote Protocol TRP Demo script
3
+ require 'rubygems'
4
+ require './helper'
5
+ include TrisulRP::Protocol
6
+ include TrisulRP::Keys
7
+
8
+ class TestTrisulrp < Test::Unit::TestCase
9
+
10
+ def test_grep
11
+
12
+
13
+ conn=TrisulRP::Protocol.connect("127.0.0.1", 12001,"Demo_Client.crt","Demo_Client.key")
14
+
15
+ avail_tm = TrisulRP::Protocol.get_available_time(conn)
16
+
17
+ req = TrisulRP::Protocol.mk_request(TRP::Message::Command::GREP_REQUEST,
18
+ :time_interval => mk_time_interval(avail_tm),
19
+ :maxitems => 4,
20
+ :pattern => "HELO footballbat2.usma.bluenet")
21
+
22
+
23
+ TrisulRP::Protocol.get_response(conn,req) do |resp|
24
+
25
+ print_session_details(conn,resp.grep_response.sessions)
26
+
27
+ end
28
+
29
+ end
30
+ end
31
+
@@ -4,41 +4,52 @@
4
4
  require 'rubygems'
5
5
  require './helper'
6
6
  include TrisulRP::Protocol
7
- require guidmap
7
+ include TrisulRP::Guids
8
8
 
9
9
  class TestTrisulrp < Test::Unit::TestCase
10
- def test_flows_for_host
10
+
11
+ def setup
12
+ @conn = TrisulRP::Protocol.connect("127.0.0.1",12001,"Demo_Client.crt","Demo_Client.key")
13
+ end
14
+
15
+ def teardown
16
+ end
17
+
18
+ def atest_flows_for_host
11
19
 
12
20
  target_key = "0A.01.3C.BB"
13
- TrisulRP::Protocol.connect("127.0.0.1",12001,"Demo_Client.crt","Demo_Client.key") do |conn|
14
-
15
- tmarr = TrisulRP::Protocol.get_available_time(conn)
16
-
17
- req = TrisulRP::Protocol.mk_request(TRP::Message::Command::KEY_SESS_ACTIVITY_REQUEST,
18
- :key => target_key ,:time_interval =>TrisulRP::Protocol.mk_time_interval(tmarr))
19
- TrisulRP::Protocol.get_response(conn,req) do |resp|
20
- all_sids = resp.key_session_activity_response.sessions.collect{ |ai| TRP::SessionID.new(
21
- :slice_id => ai.slice_id,
22
- :session_id => ai.session_id ) }
23
-
24
- follow_up = TrisulRP::Protocol.mk_request(:session_ids => all_sids)
25
- TrisulRP::Protocol.get_response(conn,follow_up) do |resp|
26
- resp.session_item_response.items.each do |item|
27
- print "#{item.state} "
28
- print "#{Time.at(item.time_interval.from.tv_sec)} "
29
- print "#{item.time_interval.to.tv_sec-item.time_interval.from.tv_sec} ".rjust(8)
30
- print "#{item.key1A.label}".ljust(28)
31
- print "#{item.key2A.label}".ljust(11)
32
- print "#{item.key1Z.label}".ljust(28)
33
- print "#{item.key2Z.label}".ljust(11)
34
- print "#{item.az_bytes}".rjust(10)
35
- print "#{item.za_bytes}".rjust(10)
36
- print "\n"
37
- end
38
- end
39
- end
21
+
22
+ tmarr = TrisulRP::Protocol.get_available_time(@conn)
23
+
24
+ req = TrisulRP::Protocol.mk_request(TRP::Message::Command::KEY_SESS_ACTIVITY_REQUEST,
25
+ :key => target_key ,
26
+ :time_interval => mk_time_interval(tmarr))
27
+
28
+ TrisulRP::Protocol.get_response(@conn,req) do |resp|
29
+ print_session_details(@conn,resp.key_session_activity_response.sessions)
30
+ end
31
+
32
+ end
33
+
34
+ # test flows for ssh
35
+ # note we need to convert the "ssh" into a key first
36
+ def test_flows_for_appname
37
+
38
+ target = "ssh"
39
+ target_key = mk_trisul_key(CG_APP,target)
40
+
41
+ tmarr = TrisulRP::Protocol.get_available_time(@conn)
42
+
43
+ req = TrisulRP::Protocol.mk_request(TRP::Message::Command::KEY_SESS_ACTIVITY_REQUEST,
44
+ :key => target_key ,
45
+ :time_interval => mk_time_interval(tmarr))
46
+
47
+ TrisulRP::Protocol.get_response(@conn,req) do |resp|
48
+ print_session_details(@conn,resp.key_session_activity_response.sessions)
40
49
  end
50
+
41
51
  end
52
+
42
53
  end
43
54
 
44
55
 
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.6"
8
+ s.version = "1.2.7"
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-01-17}
12
+ s.date = %q{2011-02-17}
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 = [
@@ -35,6 +35,8 @@ Gem::Specification.new do |s|
35
35
  "test/helper.rb",
36
36
  "test/test_alerts.rb",
37
37
  "test/test_cap.rb",
38
+ "test/test_grep.rb",
39
+ "test/test_key.rb",
38
40
  "test/test_key_flows.rb",
39
41
  "test/test_resources.rb",
40
42
  "test/test_trisulrp.rb",
@@ -50,6 +52,7 @@ Gem::Specification.new do |s|
50
52
  "test/helper.rb",
51
53
  "test/test_alerts.rb",
52
54
  "test/test_cap.rb",
55
+ "test/test_grep.rb",
53
56
  "test/test_key.rb",
54
57
  "test/test_key_flows.rb",
55
58
  "test/test_resources.rb",
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 2
8
- - 6
9
- version: 1.2.6
8
+ - 7
9
+ version: 1.2.7
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-01-17 00:00:00 +05:30
17
+ date: 2011-02-17 00:00:00 +05:30
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -131,11 +131,12 @@ files:
131
131
  - test/helper.rb
132
132
  - test/test_alerts.rb
133
133
  - test/test_cap.rb
134
+ - test/test_grep.rb
135
+ - test/test_key.rb
134
136
  - test/test_key_flows.rb
135
137
  - test/test_resources.rb
136
138
  - test/test_trisulrp.rb
137
139
  - trisulrp.gemspec
138
- - test/test_key.rb
139
140
  has_rdoc: true
140
141
  homepage: http://github.com/vivekrajan/trisulrp
141
142
  licenses:
@@ -150,7 +151,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
150
151
  requirements:
151
152
  - - ">="
152
153
  - !ruby/object:Gem::Version
153
- hash: -636582125
154
+ hash: -1049257823
154
155
  segments:
155
156
  - 0
156
157
  version: "0"
@@ -174,6 +175,7 @@ test_files:
174
175
  - test/helper.rb
175
176
  - test/test_alerts.rb
176
177
  - test/test_cap.rb
178
+ - test/test_grep.rb
177
179
  - test/test_key.rb
178
180
  - test/test_key_flows.rb
179
181
  - test/test_resources.rb