From 5ea57766281c8d7c8e684a14a2ccb9431c4defae Mon Sep 17 00:00:00 2001 From: lyn1001 Date: Sun, 29 Jan 2023 09:13:40 +0800 Subject: [PATCH] Fix for draft 76 when challenge might sometimes fail (cherry picked from commit 469cbb3228d2e9c2c1385ed1ae9fb6abe22c122e) --- ...-when-challenge-might-sometimes-fail.patch | 24 +++++++++++++++++++ rubygem-websocket.spec | 7 +++++- 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 Fix-for-draft-76-when-challenge-might-sometimes-fail.patch diff --git a/Fix-for-draft-76-when-challenge-might-sometimes-fail.patch b/Fix-for-draft-76-when-challenge-might-sometimes-fail.patch new file mode 100644 index 0000000..cc99b94 --- /dev/null +++ b/Fix-for-draft-76-when-challenge-might-sometimes-fail.patch @@ -0,0 +1,24 @@ +From c2a5170957d2c4da77ec0379fcc04bf9723a7cf5 Mon Sep 17 00:00:00 2001 +From: Bernard Potocki +Date: Thu, 7 Jan 2016 21:10:26 +0100 +Subject: [PATCH] fix for draft 76 when challenge might sometimes fail +Refer:https://github.com/imanel/websocket-ruby/commit/c2a5170957d2c4da77ec0379 + +--- + lib/websocket/handshake/handler/client76.rb | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + + - fix handshake for draft 11+ sending Sec-WebSocket-Origin instead of Origin +diff --git a/lib/websocket/handshake/handler/client76.rb b/lib/websocket/handshake/handler/client76.rb +index d0be7607..5f8b2789 100644 +--- a/lib/websocket/handshake/handler/client76.rb ++++ b/lib/websocket/handshake/handler/client76.rb +@@ -56,7 +56,7 @@ def challenge + [@key2_number].pack('N*') + + key3 + +- @challenge = Digest::MD5.digest(sum) ++ @challenge = Digest::MD5.digest(sum).strip + end + + # Verify if challenge sent by server match generated one diff --git a/rubygem-websocket.spec b/rubygem-websocket.spec index 139c1bd..e5552ac 100644 --- a/rubygem-websocket.spec +++ b/rubygem-websocket.spec @@ -1,12 +1,13 @@ %global gem_name websocket Name: rubygem-%{gem_name} Version: 1.2.2 -Release: 1 +Release: 2 Summary: Universal Ruby library to handle WebSocket protocol License: MIT URL: http://github.com/imanel/websocket-ruby Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem Patch0: comment-broken-tests.patch +Patch1: Fix-for-draft-76-when-challenge-might-sometimes-fail.patch BuildRequires: ruby(release) rubygems-devel rubygem(rspec) ruby BuildArch: noarch Provides: rubygem(%{gem_name}) = %{version} @@ -24,6 +25,7 @@ Documentation for %{name}. gem unpack %{SOURCE0} %setup -q -D -T -n %{gem_name}-%{version} %patch0 -p0 +%patch1 -p1 gem spec %{SOURCE0} -l --ruby > %{gem_name}.gemspec %build @@ -59,5 +61,8 @@ popd %{gem_instdir}/websocket.gemspec %changelog +* Sun Jan 29 2023 liyanan - 1.2.2-2 +- Fix for draft 76 when challenge might sometimes fail + * Thu Aug 20 2020 huangyangke - 1.2.2-1 - package init