diff options
| author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-19 11:37:50 +0000 |
|---|---|---|
| committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-19 11:37:50 +0000 |
| commit | 66fb6bf597dd7763ca6d3ea890c5bb462c365102 (patch) | |
| tree | 97be8c19459e4e8f70343326a04d376563802b05 /lib/cgi | |
| parent | 096845e09f2a41943d97bbab3bb58d171679eaa2 (diff) | |
merges r20861 from trunk into ruby_1_9_1.
* lib/cgi/session.rb: fix bug for ignore session_id option.
report from [ruby-core:18635], [Bug #572]
* lib/cgi/core.rb: use Encoding#find when encoding set.
* test/cgi/test_cgi_session.rb: test for session_id specified.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@20881 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/cgi')
| -rw-r--r-- | lib/cgi/core.rb | 2 | ||||
| -rw-r--r-- | lib/cgi/session.rb | 6 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/cgi/core.rb b/lib/cgi/core.rb index 87c4f6854..779f326a1 100644 --- a/lib/cgi/core.rb +++ b/lib/cgi/core.rb @@ -590,7 +590,7 @@ class CGI read_from_cmdline end.dup.force_encoding(@accept_charset) ) - unless @accept_charset=~/ASCII-8BIT/i || @accept_charset==Encoding::ASCII_8BIT + unless Encoding.find(@accept_charset) == Encoding::ASCII_8BIT @params.each do |key,values| values.each do |value| unless value.valid_encoding? diff --git a/lib/cgi/session.rb b/lib/cgi/session.rb index 063d91085..2b5aa846d 100644 --- a/lib/cgi/session.rb +++ b/lib/cgi/session.rb @@ -188,7 +188,6 @@ class CGI md5.update('foobar') session_id = md5.hexdigest end - @new_session = true session_id end private :create_new_id @@ -256,6 +255,7 @@ class CGI unless session_id if option['new_session'] session_id = create_new_id + @new_session = true end end unless session_id @@ -271,6 +271,7 @@ class CGI raise ArgumentError, "session_key `%s' should be supplied"%session_key end session_id = create_new_id + @new_session = true end end @session_id = session_id @@ -281,7 +282,8 @@ class CGI unless option.fetch('new_session', true) raise ArgumentError, "invalid session_id `%s'"%session_id end - session_id = @session_id = create_new_id + session_id = @session_id = create_new_id unless session_id + @new_session=true retry end request.instance_eval do |
