From 123518b94066044de11f5b9231399cda6a394497 Mon Sep 17 00:00:00 2001 From: Dawa Ometto Date: Mon, 21 Sep 2020 15:50:58 +0200 Subject: [PATCH] Don't escape page path. Resolves #1615 (#1618) --- lib/gollum/app.rb | 5 ++--- test/test_app.rb | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/gollum/app.rb b/lib/gollum/app.rb index 2aa8353b..8f2131db 100644 --- a/lib/gollum/app.rb +++ b/lib/gollum/app.rb @@ -318,9 +318,8 @@ module Precious post '/edit/*' do etag = params[:etag] path = "/#{clean_url(sanitize_empty_params(params[:path]))}" - page_name = CGI.unescape(params[:page]) wiki = wiki_new - page = wiki.page(::File.join(path, page_name)) + page = wiki.page(::File.join(path, params[:page])) return if page.nil? if etag != page.sha @@ -417,7 +416,7 @@ module Precious post '/preview' do wiki = wiki_new - @name = params[:page] ? strip_page_name(CGI.unescape(params[:page])) : 'Preview' + @name = params[:page] ? strip_page_name(params[:page]) : 'Preview' @page = wiki.preview_page(@name, params[:content], params[:format]) ['sidebar', 'header', 'footer'].each do |subpage| @page.send("set_#{subpage}".to_sym, params[subpage]) if params[subpage] diff --git a/test/test_app.rb b/test/test_app.rb index d1a17060..3aa9db4a 100644 --- a/test/test_app.rb +++ b/test/test_app.rb @@ -474,7 +474,7 @@ EOF end test "previews content" do - post "/gollum/preview", :content => 'abc', :format => 'markdown', :page => 'Samewise%20Gamgee.mediawiki' + post "/gollum/preview", :content => 'abc', :format => 'markdown', :page => 'Samewise Gamgee.mediawiki' assert last_response.ok? assert last_response.body.include?('Samewise Gamgee') end