diff --git a/lib/gollum/app.rb b/lib/gollum/app.rb index 1be48a43..e68443ad 100644 --- a/lib/gollum/app.rb +++ b/lib/gollum/app.rb @@ -176,7 +176,7 @@ module Precious @page = page @page.version = wiki.repo.log(wiki.ref, @page.path).first @content = page.text_data - @etag = Digest::SHA1.hexdigest(@content) + @etag = page.sha mustache :edit else redirect_to("/create/#{encodeURIComponent(@name)}") @@ -279,14 +279,14 @@ module Precious end post '/edit/*' do - etag = params[:etag] + etag = params[:etag] path = "/#{clean_url(sanitize_empty_params(params[:path]))}" page_name = CGI.unescape(params[:page]) wiki = wiki_new page = wiki.paged(page_name, path, exact = true) return if page.nil? - if etag != Digest::SHA1.hexdigest(page.text_data) + if etag != page.sha halt 412, 'For future use: some helpful data for resolving the conflict here.' end