lib/devise.rb in devise-jdguyot-1.2.rc2 vs lib/devise.rb in devise-jdguyot-1.2.rc3
- old
+ new
@@ -12,10 +12,11 @@
autoload :TestHelpers, 'devise/test_helpers'
module Controllers
autoload :Helpers, 'devise/controllers/helpers'
autoload :InternalHelpers, 'devise/controllers/internal_helpers'
+ autoload :Rememberable, 'devise/controllers/rememberable'
autoload :ScopedViews, 'devise/controllers/scoped_views'
autoload :UrlHelpers, 'devise/controllers/url_helpers'
end
module Encryptors
@@ -67,13 +68,13 @@
# Request keys used when authenticating a user.
mattr_accessor :request_keys
@@request_keys = []
# Keys that should be case-insensitive.
- # Empty by default for backwards compatibility.
+ # False by default for backwards compatibility.
mattr_accessor :case_insensitive_keys
- @@case_insensitive_keys = []
+ @@case_insensitive_keys = false
# If http authentication is enabled by default.
mattr_accessor :http_authenticatable
@@http_authenticatable = false
@@ -379,11 +380,10 @@
ActiveSupport::SecureRandom.base64(15).tr('+/=', 'xyz')
end
# constant-time comparison algorithm to prevent timing attacks
def self.secure_compare(a, b)
- return false unless a.present? && b.present?
- return false unless a.bytesize == b.bytesize
+ return false if a.blank? || b.blank? || a.bytesize != b.bytesize
l = a.unpack "C#{a.bytesize}"
res = 0
b.each_byte { |byte| res |= byte ^ l.shift }
res == 0