tamashii-agent 0.1.9 → 0.1.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cd8087756c603d524bc1b497823924d2798f371f
4
- data.tar.gz: eee16107c774b3de544e08ba344863bab03f4a2c
3
+ metadata.gz: 42ad217e36714e8f5c213ee488dc55547e8ae71b
4
+ data.tar.gz: 477b38f2a79c46ec5d0f5ea87bac344a3305e2b7
5
5
  SHA512:
6
- metadata.gz: c462437309a0a0013b913ec6d2fd84da9a148b648351da78bb1083006e3e46519c2406b9aef43c0ee7788183fdd1dcc8762d4d218186687c203006e12eabedbd
7
- data.tar.gz: 2693d9f80f0ea2c936c204fbc5cfbc8cd64214c222b14a1b206f42b244f61f61810405fbd96f18b7fffd8652c21f16904f29cf05feffa3a98cb655f4bcd831de
6
+ metadata.gz: 9d6f54b0f4ef53587091eefc0021c5339bdc0eabce96b6269823d9440ec31c95da3f8ab70ae71060452f507941af8c07815e7bdd596797e1337b1811539c1d65
7
+ data.tar.gz: 811d6f39e021edafe790d70ed0ac81368ed1aadbbf2d9ff594920931ef69840a3bdf0be81bbba55eb6eb4eaa22638e4e70ac8be5552cb90d8c85c2ff9a588f19
@@ -1,6 +1,7 @@
1
1
  require 'socket'
2
2
  require 'websocket/driver'
3
3
  require 'aasm'
4
+ require 'openssl'
4
5
 
5
6
  require 'tamashii/common'
6
7
 
@@ -24,11 +25,11 @@ module Tamashii
24
25
  event :connect do
25
26
  transitions from: :init, to: :connecting, after: Proc.new { logger.info "Start connecting" }
26
27
  end
27
-
28
+
28
29
  event :auth_request do
29
30
  transitions from: :connecting, to: :auth_pending, after: Proc.new { logger.info "Sending authentication request" }
30
31
  end
31
-
32
+
32
33
  event :auth_success do
33
34
  transitions from: :auth_pending, to: :ready, after: Proc.new { logger.info "Authentication finished. Tag = #{@tag}" }
34
35
  end
@@ -47,16 +48,16 @@ module Tamashii
47
48
  @master = master
48
49
  @url = "#{Config.use_ssl ? "wss" : "ws"}://#{host}:#{port}/#{Config.entry_point}"
49
50
  self.reset
50
-
51
+
51
52
  @host = host
52
53
  @port = port
53
54
  @tag = 0
54
-
55
+
55
56
  @request_pool = RequestPool.new
56
57
  @request_pool.set_handler(:request_timedout, method(:handle_request_timedout))
57
58
  @request_pool.set_handler(:request_meet, method(:handle_request_meet))
58
59
  @request_pool.set_handler(:send_request, method(:handle_send_request))
59
-
60
+
60
61
  env_data = {connection: self}
61
62
  Resolver.config do
62
63
  [Type::REBOOT, Type::POWEROFF, Type::RESTART, Type::UPDATE].each do |type|
@@ -118,18 +119,20 @@ module Tamashii
118
119
  end
119
120
 
120
121
  def send_auth_request
121
- # TODO: other types of auth
122
+ # TODO: other types of auth
122
123
  @driver.binary(Packet.new(Type::AUTH_TOKEN, 0, [Type::CLIENT[:agent], @master.serial_number,Config.token].join(",")).dump)
123
124
  end
124
125
 
125
126
  def start_web_driver
126
- @driver = WebSocket::Driver.client(self)
127
- @driver.on :open, proc { |e|
127
+ # TODO: Improve below code
128
+ socket = Config.use_ssl ? OpenSSL::SSL::SSLSocket.new(self) : self
129
+ @driver = WebSocket::Driver.client(socket)
130
+ @driver.on :open, proc { |e|
128
131
  logger.info "Server opened"
129
132
  self.auth_request
130
133
  send_auth_request
131
134
  }
132
- @driver.on :close, proc { |e|
135
+ @driver.on :close, proc { |e|
133
136
  logger.info "Server closed"
134
137
  close_socket_io
135
138
  self.reset
@@ -201,7 +204,7 @@ module Tamashii
201
204
  end
202
205
  else
203
206
  if pkt.tag == @tag || pkt.tag == 0
204
- Resolver.resolve(pkt)
207
+ Resolver.resolve(pkt)
205
208
  else
206
209
  logger.debug "Tag mismatch packet: tag: #{pkt.tag}, type: #{pkt.type}"
207
210
  end
@@ -1,5 +1,5 @@
1
1
  module Tamashii
2
2
  module Agent
3
- VERSION = "0.1.9"
3
+ VERSION = "0.1.10"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tamashii-agent
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - 蒼時弦也
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2017-04-18 00:00:00.000000000 Z
13
+ date: 2017-04-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: bundler
@@ -245,7 +245,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
245
245
  version: '0'
246
246
  requirements: []
247
247
  rubyforge_project:
248
- rubygems_version: 2.5.1
248
+ rubygems_version: 2.6.11
249
249
  signing_key:
250
250
  specification_version: 4
251
251
  summary: The agent module for RubyConfTW checkin system.