Ruby 1.8.6 installed
自宅のrubyを1.8.5から1.8.6にupgrade*1。
で、予想した通りにrails 1.2.2 が動かなくなった。いちおうメモしておく。
Rails 1.2.2 のActiveRecordは1.10.0でした、と。直したところ。
$ACTIVE_RECORD/lib/active_record/lib/active_record/vendor/mysql.rb
def scramble41(password, message) return 0x00.chr if password.nil? or password.empty? buf = [0x14] # s1 = Digest::SHA1.new(password).digest # s2 = Digest::SHA1.new(s1).digest # x = Digest::SHA1.new(message + s2).digest s1 = Digest::SHA1.digest(password) s2 = Digest::SHA1.digest(s1) x = Digest::SHA1.digest(message + s2) (0..s1.length - 1).each {|i| buf.push(s1[i] ^ x[i])} buf.pack("C*") end
と思ったら、Rails 1.2.3 (ActiveRecord 1.15)でfixされているようなので、素直にRails をupgrade方向で。
environment.rb から Railsのバージョン指定を削除。