mirror of
https://github.com/redmine/redmine.git
synced 2025-11-14 17:26:06 +01:00
Replaces use of Digest::MD5 / Digest::SHA1 with ActiveSupport::Digest (#35217).
Patch by Jens Krämer (@jkraemer). git-svn-id: https://svn.redmine.org/redmine/trunk@22816 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -279,7 +279,7 @@ class RepositoriesController < ApplicationController
|
||||
User.current.preference.save
|
||||
end
|
||||
@cache_key = "repositories/diff/#{@repository.id}/" +
|
||||
Digest::MD5.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}-#{current_language}")
|
||||
ActiveSupport::Digest.hexdigest("#{@path}-#{@rev}-#{@rev_to}-#{@diff_type}-#{current_language}")
|
||||
unless read_fragment(@cache_key)
|
||||
@diff = @repository.diff(@path, @rev, @rev_to)
|
||||
(show_error_not_found; return) unless @diff
|
||||
|
||||
@@ -135,7 +135,7 @@ class Attachment < ApplicationRecord
|
||||
end
|
||||
|
||||
# Copies the temporary file to its final location
|
||||
# and computes its MD5 hash
|
||||
# and computes its hash
|
||||
def files_to_final_location
|
||||
if @temp_file
|
||||
self.disk_directory = target_directory
|
||||
@@ -559,7 +559,7 @@ class Attachment < ApplicationRecord
|
||||
if %r{^[a-zA-Z0-9_\.\-]*$}.match?(filename) && filename.length <= 50
|
||||
ascii = filename
|
||||
else
|
||||
ascii = Digest::MD5.hexdigest(filename)
|
||||
ascii = ActiveSupport::Digest.hexdigest(filename)
|
||||
# keep the extension if any
|
||||
ascii << $1 if filename =~ %r{(\.[a-zA-Z0-9]+)$}
|
||||
end
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<% @entries.each do |entry| %>
|
||||
<% tr_id = Digest::MD5.hexdigest(entry.path)
|
||||
<% tr_id = ActiveSupport::Digest.hexdigest(entry.path)
|
||||
depth = params[:depth].to_i %>
|
||||
<% ent_path = Redmine::CodesetUtil.replace_invalid_utf8(entry.path) %>
|
||||
<% ent_name = Redmine::CodesetUtil.replace_invalid_utf8(entry.name) %>
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require_relative 'wiki_formatting/textile/redcloth3'
|
||||
require 'digest/md5'
|
||||
|
||||
module Redmine
|
||||
module WikiFormatting
|
||||
@@ -110,7 +109,7 @@ module Redmine
|
||||
# Returns a cache key for the given text +format+, +text+, +object+ and +attribute+ or nil if no caching should be done
|
||||
def cache_key_for(format, text, object, attribute)
|
||||
if object && attribute && !object.new_record? && format.present?
|
||||
"formatted_text/#{format}/#{object.class.model_name.cache_key}/#{object.id}-#{attribute}-#{Digest::MD5.hexdigest text}"
|
||||
"formatted_text/#{format}/#{object.class.model_name.cache_key}/#{object.id}-#{attribute}-#{ActiveSupport::Digest.hexdigest text}"
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -22,13 +22,13 @@ module Redmine
|
||||
module SectionHelper
|
||||
def get_section(index)
|
||||
section = extract_sections(index)[1]
|
||||
hash = Digest::MD5.hexdigest(section)
|
||||
hash = ActiveSupport::Digest.hexdigest(section)
|
||||
return section, hash
|
||||
end
|
||||
|
||||
def update_section(index, update, hash=nil)
|
||||
t = extract_sections(index)
|
||||
if hash.present? && hash != Digest::MD5.hexdigest(t[1])
|
||||
if hash.present? && hash != ActiveSupport::Digest.hexdigest(t[1])
|
||||
raise Redmine::WikiFormatting::StaleSectionError
|
||||
end
|
||||
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require 'digest/md5'
|
||||
|
||||
module Redmine
|
||||
module WikiFormatting
|
||||
module Textile
|
||||
|
||||
@@ -677,7 +677,7 @@ class WikiControllerTest < Redmine::ControllerTest
|
||||
:version => 3
|
||||
},
|
||||
:section => 2,
|
||||
:section_hash => Digest::MD5.hexdigest("wrong hash")
|
||||
:section_hash => ActiveSupport::Digest.hexdigest("wrong hash")
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
@@ -292,7 +292,7 @@ class Redmine::WikiFormatting::CommonMark::FormatterTest < ActionView::TestCase
|
||||
assert_kind_of Array, result
|
||||
assert_equal 2, result.size
|
||||
assert_equal expected, result.first, "section content did not match"
|
||||
assert_equal Digest::MD5.hexdigest(expected), result.last, "section hash did not match"
|
||||
assert_equal ActiveSupport::Digest.hexdigest(expected), result.last, "section hash did not match"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -349,6 +349,6 @@ class Redmine::WikiFormatting::MarkdownFormatterTest < ActionView::TestCase
|
||||
assert_kind_of Array, result
|
||||
assert_equal 2, result.size
|
||||
assert_equal expected, result.first, "section content did not match"
|
||||
assert_equal Digest::MD5.hexdigest(expected), result.last, "section hash did not match"
|
||||
assert_equal ActiveSupport::Digest.hexdigest(expected), result.last, "section hash did not match"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
|
||||
require_relative '../../../../test_helper'
|
||||
require 'digest/md5'
|
||||
|
||||
class Redmine::WikiFormatting::TextileFormatterTest < ActionView::TestCase
|
||||
def setup
|
||||
@@ -491,13 +490,13 @@ class Redmine::WikiFormatting::TextileFormatterTest < ActionView::TestCase
|
||||
assert_equal(
|
||||
[STR_WITHOUT_PRE[0], replacement, STR_WITHOUT_PRE[2..4]].flatten.join("\n\n"),
|
||||
@formatter.new(TEXT_WITHOUT_PRE).
|
||||
update_section(2, replacement, Digest::MD5.hexdigest(STR_WITHOUT_PRE[1]))
|
||||
update_section(2, replacement, ActiveSupport::Digest.hexdigest(STR_WITHOUT_PRE[1]))
|
||||
)
|
||||
end
|
||||
|
||||
def test_update_section_with_wrong_hash_should_raise_an_error
|
||||
assert_raise Redmine::WikiFormatting::StaleSectionError do
|
||||
@formatter.new(TEXT_WITHOUT_PRE).update_section(2, "New text", Digest::MD5.hexdigest("Old text"))
|
||||
@formatter.new(TEXT_WITHOUT_PRE).update_section(2, "New text", ActiveSupport::Digest.hexdigest("Old text"))
|
||||
end
|
||||
end
|
||||
|
||||
@@ -809,6 +808,6 @@ class Redmine::WikiFormatting::TextileFormatterTest < ActionView::TestCase
|
||||
assert_kind_of Array, result
|
||||
assert_equal 2, result.size
|
||||
assert_equal expected, result.first, "section content did not match"
|
||||
assert_equal Digest::MD5.hexdigest(expected), result.last, "section hash did not match"
|
||||
assert_equal ActiveSupport::Digest.hexdigest(expected), result.last, "section hash did not match"
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user