From 47bb58b983e1ae52b21a11a2d46422aa0d155665 Mon Sep 17 00:00:00 2001 From: Earlopain <14981592+Earlopain@users.noreply.github.com> Date: Tue, 20 Feb 2024 10:48:15 +0100 Subject: [PATCH] Drop base64 dependency (#1071) See #1066 Co-authored-by: Koichi Sasada --- debug.gemspec | 1 - lib/debug/server_cdp.rb | 5 ++--- test/support/protocol_test_case.rb | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/debug.gemspec b/debug.gemspec index b0d0f7139..2a5891f32 100644 --- a/debug.gemspec +++ b/debug.gemspec @@ -29,5 +29,4 @@ Gem::Specification.new do |spec| spec.add_dependency "irb", "~> 1.10" # for irb:debug integration spec.add_dependency "reline", ">= 0.3.8" - spec.add_dependency "base64" end diff --git a/lib/debug/server_cdp.rb b/lib/debug/server_cdp.rb index ef265b818..3826f1242 100644 --- a/lib/debug/server_cdp.rb +++ b/lib/debug/server_cdp.rb @@ -2,7 +2,6 @@ require 'json' require 'digest/sha1' -require 'base64' require 'securerandom' require 'stringio' require 'open3' @@ -298,7 +297,7 @@ def handshake port, path show_protocol :<, res if res.match(/^Sec-WebSocket-Accept: (.*)\r\n/) - correct_key = Base64.strict_encode64 Digest::SHA1.digest "#{key}==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" + correct_key = Digest::SHA1.base64digest "#{key}==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" raise "The Sec-WebSocket-Accept value: #{$1} is not valid" unless $1 == correct_key else raise "Unknown response: #{res}" @@ -379,7 +378,7 @@ def handshake show_protocol '>', req if req.match(/^Sec-WebSocket-Key: (.*)\r\n/) - accept = Base64.strict_encode64 Digest::SHA1.digest "#{$1}258EAFA5-E914-47DA-95CA-C5AB0DC85B11" + accept = Digest::SHA1.base64digest "#{$1}258EAFA5-E914-47DA-95CA-C5AB0DC85B11" res = "HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: #{accept}\r\n\r\n" @sock.print res show_protocol :<, res diff --git a/test/support/protocol_test_case.rb b/test/support/protocol_test_case.rb index 902955c0d..429640fb8 100644 --- a/test/support/protocol_test_case.rb +++ b/test/support/protocol_test_case.rb @@ -1,7 +1,6 @@ require 'net/http' require 'uri' require 'digest/sha1' -require 'base64' require_relative 'test_case' require_relative 'dap_utils' @@ -924,7 +923,7 @@ def handshake port, uuid @sock.print "GET /#{uuid} HTTP/1.1\r\nHost: 127.0.0.1:#{port}\r\nConnection: Upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Version: 13\r\nSec-WebSocket-Key: #{key}==\r\n\r\n" server_key = get_server_key - correct_key = Base64.strict_encode64 Digest::SHA1.digest "#{key}==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" + correct_key = Digest::SHA1.base64digest "#{key}==258EAFA5-E914-47DA-95CA-C5AB0DC85B11" raise "The Sec-WebSocket-Accept value: #{$1} is not valid" unless server_key == correct_key end