arachni-rpc 0.1.3 → 0.2.0

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.
metadata CHANGED
@@ -1,19 +1,33 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arachni-rpc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
5
- prerelease:
4
+ version: 0.2.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tasos Laskos
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-11-02 00:00:00.000000000 Z
13
- dependencies: []
14
- description: ! " Arachni-RPC is a simple and lightweight Remote Procedure Call
15
- protocol\n used to provide the basis for Arachni's Grid infrastructure.\n"
16
- email: tasos.laskos@gmail.com
11
+ date: 2014-08-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: arachni-reactor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.0.beta2
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.0.beta2
27
+ description: |2
28
+ Arachni::RPC is a simple and lightweight Remote Procedure Call protocol
29
+ used to provide the basis for Arachni's distributed infrastructure.
30
+ email: tasos.laskos@arachni-scanner.com
17
31
  executables: []
18
32
  extensions: []
19
33
  extra_rdoc_files:
@@ -21,40 +35,83 @@ extra_rdoc_files:
21
35
  - LICENSE.md
22
36
  - CHANGELOG.md
23
37
  files:
38
+ - CHANGELOG.md
39
+ - LICENSE.md
24
40
  - README.md
25
41
  - Rakefile
26
- - LICENSE.md
27
- - CHANGELOG.md
28
42
  - lib/arachni/rpc.rb
43
+ - lib/arachni/rpc/client.rb
44
+ - lib/arachni/rpc/client/handler.rb
45
+ - lib/arachni/rpc/exceptions.rb
29
46
  - lib/arachni/rpc/message.rb
30
- - lib/arachni/rpc/response.rb
47
+ - lib/arachni/rpc/protocol.rb
48
+ - lib/arachni/rpc/proxy.rb
31
49
  - lib/arachni/rpc/request.rb
50
+ - lib/arachni/rpc/response.rb
51
+ - lib/arachni/rpc/server.rb
52
+ - lib/arachni/rpc/server/handler.rb
32
53
  - lib/arachni/rpc/version.rb
33
- - lib/arachni/rpc/remote_object_mapper.rb
34
- - lib/arachni/rpc/exceptions.rb
54
+ - spec/arachni/rpc/client_spec.rb
55
+ - spec/arachni/rpc/exceptions_spec.rb
56
+ - spec/arachni/rpc/message_spec.rb
57
+ - spec/arachni/rpc/proxy_spec.rb
58
+ - spec/arachni/rpc/request_spec.rb
59
+ - spec/arachni/rpc/response_spec.rb
60
+ - spec/arachni/rpc/server_spec.rb
61
+ - spec/pems/cacert.pem
62
+ - spec/pems/client/cert.pem
63
+ - spec/pems/client/foo-cert.pem
64
+ - spec/pems/client/foo-key.pem
65
+ - spec/pems/client/key.pem
66
+ - spec/pems/server/cert.pem
67
+ - spec/pems/server/key.pem
68
+ - spec/servers/basic.rb
69
+ - spec/servers/server.rb
70
+ - spec/servers/unix_socket.rb
71
+ - spec/servers/with_ssl_primitives.rb
72
+ - spec/spec_helper.rb
35
73
  homepage: https://github.com/Arachni/arachni-rpc
36
74
  licenses: []
75
+ metadata: {}
37
76
  post_install_message:
38
77
  rdoc_options:
39
- - --charset=UTF-8
78
+ - "--charset=UTF-8"
40
79
  require_paths:
41
80
  - lib
42
81
  required_ruby_version: !ruby/object:Gem::Requirement
43
- none: false
44
82
  requirements:
45
- - - ! '>='
83
+ - - ">="
46
84
  - !ruby/object:Gem::Version
47
85
  version: '0'
48
86
  required_rubygems_version: !ruby/object:Gem::Requirement
49
- none: false
50
87
  requirements:
51
- - - ! '>='
88
+ - - ">="
52
89
  - !ruby/object:Gem::Version
53
90
  version: '0'
54
91
  requirements: []
55
92
  rubyforge_project:
56
- rubygems_version: 1.8.24
93
+ rubygems_version: 2.2.2
57
94
  signing_key:
58
- specification_version: 3
59
- summary: The RPC protocol specification of the Arachni WebAppSec scanner Grid.
60
- test_files: []
95
+ specification_version: 4
96
+ summary: The RPC protocol of the Arachni Framework.
97
+ test_files:
98
+ - spec/pems/server/cert.pem
99
+ - spec/pems/server/key.pem
100
+ - spec/pems/cacert.pem
101
+ - spec/pems/client/foo-key.pem
102
+ - spec/pems/client/cert.pem
103
+ - spec/pems/client/foo-cert.pem
104
+ - spec/pems/client/key.pem
105
+ - spec/servers/with_ssl_primitives.rb
106
+ - spec/servers/unix_socket.rb
107
+ - spec/servers/server.rb
108
+ - spec/servers/basic.rb
109
+ - spec/spec_helper.rb
110
+ - spec/arachni/rpc/client_spec.rb
111
+ - spec/arachni/rpc/server_spec.rb
112
+ - spec/arachni/rpc/request_spec.rb
113
+ - spec/arachni/rpc/message_spec.rb
114
+ - spec/arachni/rpc/response_spec.rb
115
+ - spec/arachni/rpc/exceptions_spec.rb
116
+ - spec/arachni/rpc/proxy_spec.rb
117
+ has_rdoc:
@@ -1,65 +0,0 @@
1
- =begin
2
-
3
- This file is part of the Arachni-RPC project and may be subject to
4
- redistribution and commercial restrictions. Please see the Arachni-RPC
5
- web site for more information on licensing and terms of use.
6
-
7
- =end
8
-
9
- require File.join( File.expand_path( File.dirname( __FILE__ ) ), '../', 'rpc' )
10
-
11
- module Arachni
12
- module RPC
13
-
14
- #
15
- # Maps the methods of remote objects to local ones.
16
- # (Well, not really, it just passes the message along to the remote end.)
17
- #
18
- # You start like:
19
- #
20
- # server = Arachni::RPC::EM::Client.new( host: 'localhost', port: 7331 )
21
- # bench = Arachni::RPC::EM::Client::Mapper.new( server, 'bench' )
22
- #
23
- # And it allows you to do this:
24
- #
25
- # res = bench.foo( 1, 2, 3 )
26
- #
27
- # Instead of:
28
- #
29
- # res = client.call( 'bench.foo', 1, 2, 3 )
30
- #
31
- #
32
- #
33
- # The server on the other end must have an appropriate handler set, like:
34
- #
35
- # class Bench
36
- # def foo( i = 0 )
37
- # return i
38
- # end
39
- # end
40
- #
41
- # server = Arachni::RPC::EM::Server.new( host: 'localhost', port: 7331 )
42
- # server.add_handler( 'bench', Bench.new )
43
- #
44
- # @author: Tasos "Zapotek" Laskos <tasos.laskos@gmail.com>
45
- #
46
- class RemoteObjectMapper
47
-
48
- def initialize( server, remote )
49
- @server = server
50
- @remote = remote
51
- end
52
-
53
- private
54
- #
55
- # Used to provide the illusion of locality for remote methods
56
- #
57
- def method_missing( sym, *args, &block )
58
- call = "#{@remote}.#{sym.to_s}"
59
- @server.call( call, *args, &block )
60
- end
61
-
62
- end
63
-
64
- end
65
- end