summaryrefslogtreecommitdiff
path: root/lib/cgi
diff options
context:
space:
mode:
authorxibbar <xibbar@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-19 11:46:48 +0000
committerxibbar <xibbar@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-12-19 11:46:48 +0000
commitf6d905c02208cf4e60f9888680c78bcd713d6b5e (patch)
tree26fea7857b8f8c0f3cf1057dd4c22893cb359939 /lib/cgi
parent23f8fcd5c826c3d171808bb59648b16fabbc85bd (diff)
* lib/cgi/session.rb: ignore session_id options fixed.[Bug #605]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@20884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/cgi')
-rw-r--r--lib/cgi/session.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/cgi/session.rb b/lib/cgi/session.rb
index a6e999bc34..2dea08cf75 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