Fixes grack authentification under relative_url_root
Ref:e6159b8725
Ref: https://github.com/gitlabhq/gitlabhq/pull/3204 Ref: https://github.com/gitlabhq/gitlabhq/issues/1228 Add Rails' variable in application.rb to support relative url This variable is used by assets compilation and other modules. Note that user needs to change application.rb too Restrict session cookie to the relative path if set. Ref:2c2f1e3185
Fix Update attachment_uploader.rb bug with relative URL See:161afda3fa
Fix Wall relative bug with attachement files (javascript)
This commit is contained in:
parent
5558204741
commit
39d8a64d25
6 changed files with 18 additions and 4 deletions
|
@ -64,7 +64,7 @@ class Wall
|
||||||
template = template.replace('{{text}}', simpleFormat(note.body))
|
template = template.replace('{{text}}', simpleFormat(note.body))
|
||||||
|
|
||||||
if note.attachment
|
if note.attachment
|
||||||
file = '<i class="icon-paper-clip"/><a href="/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a>'
|
file = '<i class="icon-paper-clip"/><a href="' + gon.relative_url_root + '/files/note/' + note.id + '/' + note.attachment + '">' + note.attachment + '</a>'
|
||||||
else
|
else
|
||||||
file = ''
|
file = ''
|
||||||
template = template.replace('{{file}}', file)
|
template = template.replace('{{file}}', file)
|
||||||
|
|
|
@ -21,7 +21,7 @@ class AttachmentUploader < CarrierWave::Uploader::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def secure_url
|
def secure_url
|
||||||
"/files/#{model.class.to_s.underscore}/#{model.id}/#{file.filename}"
|
Gitlab.config.gitlab.relative_url_root + "/files/#{model.class.to_s.underscore}/#{model.id}/#{file.filename}"
|
||||||
end
|
end
|
||||||
|
|
||||||
def file_storage?
|
def file_storage?
|
||||||
|
|
|
@ -67,5 +67,9 @@ module Gitlab
|
||||||
|
|
||||||
# Version of your assets, change this if you want to expire all your assets
|
# Version of your assets, change this if you want to expire all your assets
|
||||||
config.assets.version = '1.0'
|
config.assets.version = '1.0'
|
||||||
|
|
||||||
|
# Uncomment this if you are using a subdirectory
|
||||||
|
# Note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/puma.rb may need to be changed
|
||||||
|
# config.relative_url_root = "/gitlab"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -21,6 +21,7 @@ production: &base
|
||||||
# WARNING: This feature is no longer supported
|
# WARNING: This feature is no longer supported
|
||||||
# Uncomment and customize to run in non-root path
|
# Uncomment and customize to run in non-root path
|
||||||
# Note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/puma.rb may need to be changed
|
# Note that ENV['RAILS_RELATIVE_URL_ROOT'] in config/puma.rb may need to be changed
|
||||||
|
# You need to uncomment config.relative_url_root in config/application.rb
|
||||||
# relative_url_root: /gitlab
|
# relative_url_root: /gitlab
|
||||||
|
|
||||||
# Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
|
# Uncomment and customize if you can't use the default user to run GitLab (default: 'git')
|
||||||
|
|
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
Gitlab::Application.config.session_store :cookie_store, key: '_gitlab_session',
|
Gitlab::Application.config.session_store :cookie_store, key: '_gitlab_session',
|
||||||
secure: Gitlab::Application.config.force_ssl,
|
secure: Gitlab::Application.config.force_ssl,
|
||||||
httponly: true
|
httponly: true,
|
||||||
|
path: (Rails.application.config.relative_url_root.nil?) ? '/' : Rails.application.config.relative_url_root
|
||||||
|
|
||||||
# Use the database for sessions instead of the cookie-based default,
|
# Use the database for sessions instead of the cookie-based default,
|
||||||
# which shouldn't be used to store highly confidential information
|
# which shouldn't be used to store highly confidential information
|
||||||
|
|
|
@ -15,7 +15,15 @@ module Grack
|
||||||
@auth = Request.new(env)
|
@auth = Request.new(env)
|
||||||
|
|
||||||
# Need this patch due to the rails mount
|
# Need this patch due to the rails mount
|
||||||
|
|
||||||
|
# Need this if under RELATIVE_URL_ROOT
|
||||||
|
unless Gitlab.config.gitlab.relative_url_root.empty?
|
||||||
|
# If website is mounted using relative_url_root need to remove it first
|
||||||
|
@env['PATH_INFO'] = @request.path.sub(Gitlab.config.gitlab.relative_url_root,'')
|
||||||
|
else
|
||||||
@env['PATH_INFO'] = @request.path
|
@env['PATH_INFO'] = @request.path
|
||||||
|
end
|
||||||
|
|
||||||
@env['SCRIPT_NAME'] = ""
|
@env['SCRIPT_NAME'] = ""
|
||||||
|
|
||||||
auth!
|
auth!
|
||||||
|
|
Loading…
Reference in a new issue