[DRE-commits] [SCM] redmine.git branch, master-experimental, updated. debian/1.2.1+dfsg2-1-3-g5954a42
Ondřej Surý
ondrej at sury.org
Fri Sep 2 08:31:28 UTC 2011
The following commit has been merged in the master-experimental branch:
commit 335be6498a591bd705ca88a8ea7c9294b134117f
Author: Ondřej Surý <ondrej at sury.org>
Date: Fri Sep 2 10:28:08 2011 +0200
Fix NoMethodError (Redmine#7857) and OpenID (Redmine#8473) authentication errors.
diff --git a/debian/patches/2016_fix_openid_login_7857_and_8473.patch b/debian/patches/2016_fix_openid_login_7857_and_8473.patch
new file mode 100644
index 0000000..2670de1
--- /dev/null
+++ b/debian/patches/2016_fix_openid_login_7857_and_8473.patch
@@ -0,0 +1,120 @@
+--- /dev/null
++++ b/config/initializers/mongrel.rb
+@@ -0,0 +1,82 @@
++if ['2.3.8', '2.3.9', '2.3.10', '2.3.11'].include?(Rails.version) && Gem.available?('mongrel', '~>1.1.5') && self.class.const_defined?(:Mongrel)
++
++ # Pulled right from latest rack. Old looked like this in 1.1.0 version.
++ #
++ # def [](k)
++ # super(@names[k] ||= @names[k.downcase])
++ # end
++ #
++ module Rack
++ module Utils
++ class HeaderHash < Hash
++ def [](k)
++ super(@names[k]) if @names[k]
++ super(@names[k.downcase])
++ end
++ end
++ end
++ end
++
++ # Code pulled from the ticket above.
++ #
++ class Mongrel::CGIWrapper
++ def header_with_rails_fix(options = 'text/html')
++ @head['cookie'] = options.delete('cookie').flatten.map { |v| v.sub(/^\n/,'') } if options.class != String and options['cookie']
++ header_without_rails_fix(options)
++ end
++ alias_method_chain :header, :rails_fix
++ end
++
++ # Pulled right from 2.3.8 ActionPack. Simple diff was
++ #
++ # if headers.include?('Set-Cookie')
++ # headers['cookie'] = headers.delete('Set-Cookie').split("\n")
++ # end
++ #
++ # to
++ #
++ # if headers['Set-Cookie']
++ # headers['cookie'] = headers.delete('Set-Cookie').split("\n")
++ # end
++ #
++ module ActionController
++ class CGIHandler
++ def self.dispatch_cgi(app, cgi, out = $stdout)
++ env = cgi.__send__(:env_table)
++ env.delete "HTTP_CONTENT_LENGTH"
++ cgi.stdinput.extend ProperStream
++ env["SCRIPT_NAME"] = "" if env["SCRIPT_NAME"] == "/"
++ env.update({
++ "rack.version" => [0,1],
++ "rack.input" => cgi.stdinput,
++ "rack.errors" => $stderr,
++ "rack.multithread" => false,
++ "rack.multiprocess" => true,
++ "rack.run_once" => false,
++ "rack.url_scheme" => ["yes", "on", "1"].include?(env["HTTPS"]) ? "https" : "http"
++ })
++ env["QUERY_STRING"] ||= ""
++ env["HTTP_VERSION"] ||= env["SERVER_PROTOCOL"]
++ env["REQUEST_PATH"] ||= "/"
++ env.delete "PATH_INFO" if env["PATH_INFO"] == ""
++ status, headers, body = app.call(env)
++ begin
++ out.binmode if out.respond_to?(:binmode)
++ out.sync = false if out.respond_to?(:sync=)
++ headers['Status'] = status.to_s
++ if headers['Set-Cookie']
++ headers['cookie'] = headers.delete('Set-Cookie').split("\n")
++ end
++ out.write(cgi.header(headers))
++ body.each { |part|
++ out.write part
++ out.flush if out.respond_to?(:flush)
++ }
++ ensure
++ body.close if body.respond_to?(:close)
++ end
++ end
++ end
++ end
++
++end
+--- /dev/null
++++ b/config/initializers/patch_for_mongrel.rb
+@@ -0,0 +1,19 @@
++# $Id: patch_for_mongrel.rb 168 2010-10-09 10:36:25Z imc $
++# Fix for mongrel which still doesn't know about Rails 2.2's changes,
++# We provide a backwards compatible wrapper around the new
++# ActionController::base.relative_url_root,
++# so it can still be called off of the actually non-existing
++# AbstractRequest class.
++
++module ActionController
++ class AbstractRequest < ActionController::Request
++ def self.relative_url_root=(path)
++ ActionController::Base.relative_url_root=(path)
++ end
++ def self.relative_url_root
++ ActionController::Base.relative_url_root
++ end
++ end
++end
++#
++# Thanks to http://www.ruby-forum.com/topic/190287
+--- /dev/null
++++ b/config/initializers/rails_6440_patch.rb
+@@ -0,0 +1,9 @@
++# file config/initializers/rails_6440_patch.rb
++ActionController::Request.class_eval do
++ def reset_session
++ # session may be a hash, if so, we do not want to call destroy
++ # fixes issue 6440
++ session.destroy if session and session.respond_to?(:destroy)
++ self.session = {}
++ end
++end
+\ No newline at end of file
diff --git a/debian/patches/series b/debian/patches/series
index d7d38ea..dc845c8 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -11,3 +11,4 @@
2014_relax_RAILS_GEM_VERSION.patch
2015_use_system_coderay.patch
1014_logout_cookie_rake.patch
+2016_fix_openid_login_7857_and_8473.patch
--
redmine.git
More information about the Pkg-ruby-extras-commits
mailing list