libuv 1.1.3 → 1.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.
- checksums.yaml +4 -4
- data/.gitmodules +1 -1
- data/.travis.yml +3 -3
- data/README.md +0 -1
- data/lib/libuv/ext/types.rb +2 -1
- data/lib/libuv/tcp.rb +22 -7
- data/lib/libuv/version.rb +1 -1
- data/libuv.gemspec +1 -1
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92b6998b59e0b62ec3f3b0d480d462cf27e49a7c
|
4
|
+
data.tar.gz: 765ec08ee8b2671c4eecb803a675d423e473f258
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c868aa873424adc30707451529efc8922a0b0dc4521f738b47fbea99e536565e231bb4a4624c03a0beeb0320270d5b716584de527f84d37d0643c7f2e6f106a9
|
7
|
+
data.tar.gz: e357deaf8a7d560632c358f84df00f27c54c3fc1bce954562a8946e82309a2d48f3986db221c6423765a7f0704841009979d050d6812fd8cbfcd929ddb98995b
|
data/.gitmodules
CHANGED
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -86,7 +86,6 @@ Windows users will additionally require:
|
|
86
86
|
|
87
87
|
- A copy of Visual Studio 2010 or later. [Visual Studio Express](http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products) works fine.
|
88
88
|
- A copy of [OpenSSL](http://slproweb.com/products/Win32OpenSSL.html) matching the installed ruby (x86 / x64)
|
89
|
-
- with the environmental variable `OPENSSL_CONF` Set `OPENSSL_CONF=X:\path_to\OpenSSL\bin\openssl.cfg`
|
90
89
|
- If using jRuby then [GCC](http://win-builds.org/stable/) is also required
|
91
90
|
- Setup the paths as described on the gcc page
|
92
91
|
- Add required environmental variable `set LIBRARY_PATH=X:\win-builds-64\lib;X:\win-builds-64\x86_64-w64-mingw32\lib`
|
data/lib/libuv/ext/types.rb
CHANGED
data/lib/libuv/tcp.rb
CHANGED
@@ -39,10 +39,12 @@ module Libuv
|
|
39
39
|
def start_tls(args = {})
|
40
40
|
return unless @connected && @tls.nil?
|
41
41
|
|
42
|
+
args[:verify_peer] = true if @on_verify
|
43
|
+
|
42
44
|
@handshake = false
|
43
45
|
@pending_writes = []
|
44
|
-
@tls = ::RubyTls::
|
45
|
-
@tls.start
|
46
|
+
@tls = ::RubyTls::SSL::Box.new(args[:server], self, args)
|
47
|
+
@tls.start
|
46
48
|
end
|
47
49
|
|
48
50
|
# Push through any pending writes when handshake has completed
|
@@ -69,7 +71,7 @@ module Libuv
|
|
69
71
|
# We resolve the existing tls write promise with a the
|
70
72
|
# real writes promise (a close may have occurred)
|
71
73
|
def transmit_cb(data)
|
72
|
-
if
|
74
|
+
if @pending_write
|
73
75
|
@pending_write.resolve(direct_write(data))
|
74
76
|
@pending_write = nil
|
75
77
|
else
|
@@ -79,7 +81,7 @@ module Libuv
|
|
79
81
|
|
80
82
|
# Close can be called multiple times
|
81
83
|
def close_cb
|
82
|
-
if
|
84
|
+
if @pending_write
|
83
85
|
@pending_write.reject(TLS_ERROR)
|
84
86
|
@pending_write = nil
|
85
87
|
end
|
@@ -88,6 +90,19 @@ module Libuv
|
|
88
90
|
close
|
89
91
|
end
|
90
92
|
|
93
|
+
def verify_cb(cert)
|
94
|
+
if @on_verify
|
95
|
+
begin
|
96
|
+
return @on_verify.call cert
|
97
|
+
rescue => e
|
98
|
+
@loop.log :warn, :tls_verify_callback_failed, e
|
99
|
+
return false
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
true
|
104
|
+
end
|
105
|
+
|
91
106
|
# overwrite the default close to ensure
|
92
107
|
# pending writes are rejected
|
93
108
|
def close
|
@@ -102,7 +117,7 @@ module Libuv
|
|
102
117
|
end
|
103
118
|
@connected = false
|
104
119
|
|
105
|
-
if
|
120
|
+
if @pending_writes
|
106
121
|
@pending_writes.each do |deferred, data|
|
107
122
|
deferred.reject(TLS_ERROR)
|
108
123
|
end
|
@@ -113,8 +128,8 @@ module Libuv
|
|
113
128
|
end
|
114
129
|
|
115
130
|
# Verify peers will be called for each cert in the chain
|
116
|
-
def verify_peer(&
|
117
|
-
@
|
131
|
+
def verify_peer(callback = nil, &blk)
|
132
|
+
@on_verify = callback || blk
|
118
133
|
end
|
119
134
|
|
120
135
|
alias_method :direct_write, :write
|
data/lib/libuv/version.rb
CHANGED
data/libuv.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |gem|
|
|
17
17
|
|
18
18
|
gem.add_runtime_dependency 'ffi', '>= 1.9'
|
19
19
|
gem.add_runtime_dependency 'thread_safe'
|
20
|
-
gem.add_runtime_dependency 'ruby-tls', '>=
|
20
|
+
gem.add_runtime_dependency 'ruby-tls', '>= 2.0.0'
|
21
21
|
|
22
22
|
gem.add_development_dependency 'rspec', '>= 2.14'
|
23
23
|
gem.add_development_dependency 'rake', '>= 10.1'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: libuv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bulat Shakirzyanov
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-03-
|
12
|
+
date: 2015-03-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ffi
|
@@ -45,14 +45,14 @@ dependencies:
|
|
45
45
|
requirements:
|
46
46
|
- - ">="
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 2.0.0
|
49
49
|
type: :runtime
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 2.0.0
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rspec
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -249,7 +249,6 @@ files:
|
|
249
249
|
- ext/libuv/src/unix/timer.c
|
250
250
|
- ext/libuv/src/unix/tty.c
|
251
251
|
- ext/libuv/src/unix/udp.c
|
252
|
-
- ext/libuv/src/unix/uv-dtrace.d
|
253
252
|
- ext/libuv/src/uv-common.c
|
254
253
|
- ext/libuv/src/uv-common.h
|
255
254
|
- ext/libuv/src/version.c
|
@@ -353,6 +352,7 @@ files:
|
|
353
352
|
- ext/libuv/test/test-list.h
|
354
353
|
- ext/libuv/test/test-loop-alive.c
|
355
354
|
- ext/libuv/test/test-loop-close.c
|
355
|
+
- ext/libuv/test/test-loop-configure.c
|
356
356
|
- ext/libuv/test/test-loop-handles.c
|
357
357
|
- ext/libuv/test/test-loop-stop.c
|
358
358
|
- ext/libuv/test/test-loop-time.c
|
@@ -368,6 +368,7 @@ files:
|
|
368
368
|
- ext/libuv/test/test-pipe-sendmsg.c
|
369
369
|
- ext/libuv/test/test-pipe-server-close.c
|
370
370
|
- ext/libuv/test/test-platform-output.c
|
371
|
+
- ext/libuv/test/test-poll-close-doesnt-corrupt-stack.c
|
371
372
|
- ext/libuv/test/test-poll-close.c
|
372
373
|
- ext/libuv/test/test-poll-closesocket.c
|
373
374
|
- ext/libuv/test/test-poll.c
|