faye-websocket 0.11.1 → 0.11.3
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/CHANGELOG.md +9 -0
- data/LICENSE.md +1 -1
- data/lib/faye/websocket/ssl_verifier.rb +9 -6
- metadata +9 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4d168176a9846ceffcccbf52d16d682553c7cfb8732e275b44aec51cbad3cf69
|
4
|
+
data.tar.gz: b766dc978b036ac357a0cf3000515582809565998ff06944723223d0f68e47c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b12ea7fff43a07f1e91501faa42bc561f8596fb96b0b5eeed2082212f002e97b898d00e791d2ac407007e12865b851c022aa3aec30728a80761b5b281d225f68
|
7
|
+
data.tar.gz: 3bb181944f60af75c33d7779fa58cde5f8da76f3814c5398421f835884f334f8c1d82f0e46e1ae478f9889a941c5fd6b745e21de48f2a87e9fc8b3b0ad52de9b
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,12 @@
|
|
1
|
+
### 0.11.3 / 2023-07-25
|
2
|
+
|
3
|
+
- Handle 'cert already in hash table' error message on Ruby 3.1+
|
4
|
+
|
5
|
+
### 0.11.2 / 2023-04-04
|
6
|
+
|
7
|
+
- Handle SSL certificate chains where not all the intermediate certificates are
|
8
|
+
recognised by the client
|
9
|
+
|
1
10
|
### 0.11.1 / 2021-05-24
|
2
11
|
|
3
12
|
- Prevent the client hanging if `close()` is called when already closing
|
data/LICENSE.md
CHANGED
@@ -42,14 +42,13 @@ module Faye
|
|
42
42
|
return true unless should_verify?
|
43
43
|
|
44
44
|
certificate = parse_cert(cert_text)
|
45
|
-
|
46
|
-
|
47
|
-
unless @cert_store.verify(certificate)
|
48
|
-
raise SSLError, "Unable to verify the server certificate for '#{ @hostname }'"
|
45
|
+
unless certificate
|
46
|
+
raise SSLError, "Unable to parse SSL certificate for '#{ @hostname }'"
|
49
47
|
end
|
50
48
|
|
51
|
-
store_cert(certificate)
|
52
49
|
@last_cert = certificate
|
50
|
+
@last_cert_verified = @cert_store.verify(certificate)
|
51
|
+
store_cert(certificate) if @last_cert_verified
|
53
52
|
|
54
53
|
true
|
55
54
|
end
|
@@ -57,6 +56,10 @@ module Faye
|
|
57
56
|
def ssl_handshake_completed
|
58
57
|
return unless should_verify?
|
59
58
|
|
59
|
+
unless @last_cert_verified
|
60
|
+
raise SSLError, "Unable to verify the server certificate for '#{ @hostname }'"
|
61
|
+
end
|
62
|
+
|
60
63
|
unless identity_verified?
|
61
64
|
raise SSLError, "Host '#{ @hostname }' does not match the server certificate"
|
62
65
|
end
|
@@ -77,7 +80,7 @@ module Faye
|
|
77
80
|
def store_cert(certificate)
|
78
81
|
@cert_store.add_cert(certificate)
|
79
82
|
rescue OpenSSL::X509::StoreError => error
|
80
|
-
raise error unless error.message
|
83
|
+
raise error unless error.message =~ /cert already in hash table/
|
81
84
|
end
|
82
85
|
|
83
86
|
def identity_verified?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: faye-websocket
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Coglan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eventmachine
|
@@ -73,6 +73,9 @@ dependencies:
|
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 2.0.0
|
76
|
+
- - "<"
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '6.0'
|
76
79
|
type: :development
|
77
80
|
prerelease: false
|
78
81
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -80,6 +83,9 @@ dependencies:
|
|
80
83
|
- - ">="
|
81
84
|
- !ruby/object:Gem::Version
|
82
85
|
version: 2.0.0
|
86
|
+
- - "<"
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '6.0'
|
83
89
|
- !ruby/object:Gem::Dependency
|
84
90
|
name: rack
|
85
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -230,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
236
|
- !ruby/object:Gem::Version
|
231
237
|
version: '0'
|
232
238
|
requirements: []
|
233
|
-
rubygems_version: 3.
|
239
|
+
rubygems_version: 3.4.10
|
234
240
|
signing_key:
|
235
241
|
specification_version: 4
|
236
242
|
summary: Standards-compliant WebSocket server and client
|