diff options
-rw-r--r-- | lib/rack/auth/basic.rb | 3 | ||||
-rw-r--r-- | lib/rack/auth/digest/nonce.rb | 5 | ||||
-rw-r--r-- | lib/rack/session/cookie.rb | 5 |
3 files changed, 8 insertions, 5 deletions
diff --git a/lib/rack/auth/basic.rb b/lib/rack/auth/basic.rb index 95bbafc4..d334939c 100644 --- a/lib/rack/auth/basic.rb +++ b/lib/rack/auth/basic.rb @@ -2,6 +2,7 @@ require 'rack/auth/abstract/handler' require 'rack/auth/abstract/request' +require 'base64' module Rack module Auth @@ -47,7 +48,7 @@ module Rack end def credentials - @credentials ||= params.unpack("m*").first.split(':', 2) + @credentials ||= Base64.decode64(params).split(':', 2) end def username diff --git a/lib/rack/auth/digest/nonce.rb b/lib/rack/auth/digest/nonce.rb index 089bb6f4..3216d973 100644 --- a/lib/rack/auth/digest/nonce.rb +++ b/lib/rack/auth/digest/nonce.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require 'digest/md5' +require 'base64' module Rack module Auth @@ -20,7 +21,7 @@ module Rack end def self.parse(string) - new(*string.unpack("m*").first.split(' ', 2)) + new(*Base64.decode64(string).split(' ', 2)) end def initialize(timestamp = Time.now, given_digest = nil) @@ -28,7 +29,7 @@ module Rack end def to_s - ["#{@timestamp} #{digest}"].pack("m*").strip + Base64.encode64("#{@timestamp} #{digest}").strip end def digest diff --git a/lib/rack/session/cookie.rb b/lib/rack/session/cookie.rb index 3c067d7b..70ddadd6 100644 --- a/lib/rack/session/cookie.rb +++ b/lib/rack/session/cookie.rb @@ -6,6 +6,7 @@ require 'rack/request' require 'rack/response' require 'rack/session/abstract/id' require 'json' +require 'base64' module Rack @@ -51,11 +52,11 @@ module Rack # Encode session cookies as Base64 class Base64 def encode(str) - [str].pack('m') + ::Base64.encode64(str) end def decode(str) - str.unpack('m').first + ::Base64.decode64(str) end # Encode session cookies as Marshaled Base64 data |