[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