faye-websocket 0.11.0 → 0.11.2

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
  SHA256:
3
- metadata.gz: 42cb4ec90fb1f2d1fd16739908d415035255136b33c1b8100f4370417d7afeee
4
- data.tar.gz: b75409884d2ac82e84a59752027085106d1995e92d9603628400b13d7214bc4d
3
+ metadata.gz: eb4b4ae774c914839c9b5b45496d4eb31d9c0603ada45373b8de2055d5231dc5
4
+ data.tar.gz: 666a6f3a350022a7cbf3df69f8f7d292fb912f5b8e9b05b8ba3b194b07be5940
5
5
  SHA512:
6
- metadata.gz: 23293a16e2b1068bb1bd9a7c4e7516f9031185393e50d766833fe468bff7fb3b807d69015c022f35545cf41abb3e5ff9cf96282bb797ecba0eee60cea63de428
7
- data.tar.gz: 46ac66a36431ee0adc04dbe5286499c38904b79e4da3259bb42c57c49ff97736568957da641fd640fedc237f67e258d06d5cbd0abb5d3d10eaf662f991368b67
6
+ metadata.gz: b9475c32e62af18f17a56b0cdf26df4916cc3035d92cbd9be733fb5ae8da0bf57124385625a11558196cade588be91ab81bafc5ad8ef516b7ab09cfaeb8a3cb7
7
+ data.tar.gz: 4a81daa717bda6a500a03e9b60b4b303c7e071d8d262bb763112a0cf75dba7d6f637db6448988a9ccc3149951440be12db165e1cbe0d1b593aaa603519d6ac89
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ### 0.11.2 / 2023-04-04
2
+
3
+ - Handle SSL certificate chains where not all the intermediate certificates are
4
+ recognised by the client
5
+
6
+ ### 0.11.1 / 2021-05-24
7
+
8
+ - Prevent the client hanging if `close()` is called when already closing
9
+
1
10
  ### 0.11.0 / 2020-07-31
2
11
 
3
12
  - Implement TLS certificate verification and enable it by default on client
data/LICENSE.md CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2010-2020 James Coglan
1
+ Copyright 2010-2021 James Coglan
2
2
 
3
3
  Licensed under the Apache License, Version 2.0 (the "License"); you may not use
4
4
  this file except in compliance with the License. You may obtain a copy of the
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # faye-websocket [![Build status](https://secure.travis-ci.org/faye/faye-websocket-ruby.svg)](http://travis-ci.org/faye/faye-websocket-ruby)
1
+ # faye-websocket
2
2
 
3
3
  This is a general-purpose WebSocket implementation extracted from the
4
4
  [Faye](http://faye.jcoglan.com) project. It provides classes for easily building
@@ -86,8 +86,11 @@ module Faye
86
86
  "#{ code } is neither."
87
87
  end
88
88
 
89
+ if @ready_state < CLOSING
90
+ @close_timer = EventMachine.add_timer(CLOSE_TIMEOUT) { begin_close('', 1006) }
91
+ end
92
+
89
93
  @ready_state = CLOSING unless @ready_state == CLOSED
90
- @close_timer = EventMachine.add_timer(CLOSE_TIMEOUT) { begin_close('', 1006) }
91
94
 
92
95
  @driver.close(reason, code)
93
96
  end
@@ -42,14 +42,13 @@ module Faye
42
42
  return true unless should_verify?
43
43
 
44
44
  certificate = parse_cert(cert_text)
45
- return false unless certificate
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
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.0
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Coglan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-31 00:00:00.000000000 Z
11
+ date: 2023-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: eventmachine
@@ -123,33 +123,39 @@ dependencies:
123
123
  - !ruby/object:Gem::Version
124
124
  version: 0.2.0
125
125
  - !ruby/object:Gem::Dependency
126
- name: rainbows
126
+ name: thin
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - "~>"
129
+ - - ">="
130
130
  - !ruby/object:Gem::Version
131
- version: 4.4.0
131
+ version: 1.2.0
132
+ - - ">"
133
+ - !ruby/object:Gem::Version
134
+ version: '0'
132
135
  type: :development
133
136
  prerelease: false
134
137
  version_requirements: !ruby/object:Gem::Requirement
135
138
  requirements:
136
- - - "~>"
139
+ - - ">="
137
140
  - !ruby/object:Gem::Version
138
- version: 4.4.0
141
+ version: 1.2.0
142
+ - - ">"
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
139
145
  - !ruby/object:Gem::Dependency
140
- name: thin
146
+ name: rainbows
141
147
  requirement: !ruby/object:Gem::Requirement
142
148
  requirements:
143
- - - ">="
149
+ - - "~>"
144
150
  - !ruby/object:Gem::Version
145
- version: 1.2.0
151
+ version: 4.4.0
146
152
  type: :development
147
153
  prerelease: false
148
154
  version_requirements: !ruby/object:Gem::Requirement
149
155
  requirements:
150
- - - ">="
156
+ - - "~>"
151
157
  - !ruby/object:Gem::Version
152
- version: 1.2.0
158
+ version: 4.4.0
153
159
  - !ruby/object:Gem::Dependency
154
160
  name: goliath
155
161
  requirement: !ruby/object:Gem::Requirement
@@ -224,7 +230,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
224
230
  - !ruby/object:Gem::Version
225
231
  version: '0'
226
232
  requirements: []
227
- rubygems_version: 3.1.2
233
+ rubygems_version: 3.1.6
228
234
  signing_key:
229
235
  specification_version: 4
230
236
  summary: Standards-compliant WebSocket server and client