Use page.sha instead of a content-based hash for collision detection.
This commit is contained in:
+2
-2
@@ -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)}")
|
||||
@@ -286,7 +286,7 @@ module Precious
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user