mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 15:31:11 +08:00
Revert "Revert "Merge branch 'master' of https://github.com/discourse/discourse""
This reverts commit 20780a1eeed56b321daf18ee6bbfe681a51d1bf4. * SECURITY: re-adds accidentally reverted commit: 03d26cd6: ensure embed_url contains valid http(s) uri * when the merge commit e62a85cf was reverted, git chose the 2660c2e2 parent to land on instead of the 03d26cd6 parent (which contains security fixes)
This commit is contained in:
@ -6,33 +6,44 @@ def plugin_initialization_guard(&block)
|
||||
rescue => error
|
||||
plugins_directory = Rails.root + 'plugins'
|
||||
|
||||
plugin_path = error.backtrace_locations.lazy.map do |location|
|
||||
Pathname.new(location.absolute_path)
|
||||
.ascend
|
||||
.lazy
|
||||
.find { |path| path.parent == plugins_directory }
|
||||
end.next
|
||||
if error.backtrace && error.backtrace_locations
|
||||
plugin_path = error.backtrace_locations.lazy.map do |location|
|
||||
Pathname.new(location.absolute_path)
|
||||
.ascend
|
||||
.lazy
|
||||
.find { |path| path.parent == plugins_directory }
|
||||
end.next
|
||||
|
||||
raise unless plugin_path
|
||||
raise unless plugin_path
|
||||
|
||||
stack_trace = error.backtrace.each_with_index.inject([]) do |messages, (line, index)|
|
||||
if index == 0
|
||||
messages << "#{line}: #{error} (#{error.class})"
|
||||
else
|
||||
messages << "\t#{index}: from #{line}"
|
||||
end
|
||||
end.reverse.join("\n")
|
||||
stack_trace = error.backtrace.each_with_index.inject([]) do |messages, (line, index)|
|
||||
if index == 0
|
||||
messages << "#{line}: #{error} (#{error.class})"
|
||||
else
|
||||
messages << "\t#{index}: from #{line}"
|
||||
end
|
||||
end.reverse.join("\n")
|
||||
|
||||
STDERR.puts <<~MESSAGE
|
||||
#{stack_trace}
|
||||
STDERR.puts <<~MESSAGE
|
||||
#{stack_trace}
|
||||
|
||||
** INCOMPATIBLE PLUGIN **
|
||||
** INCOMPATIBLE PLUGIN **
|
||||
|
||||
You are unable to build Discourse due to errors in the plugin at
|
||||
#{plugin_path}
|
||||
You are unable to build Discourse due to errors in the plugin at
|
||||
#{plugin_path}
|
||||
|
||||
Please try removing this plugin and rebuilding again!
|
||||
MESSAGE
|
||||
Please try removing this plugin and rebuilding again!
|
||||
MESSAGE
|
||||
else
|
||||
STDERR.puts <<~MESSAGE
|
||||
** PLUGIN FAILURE **
|
||||
|
||||
You are unable to build Discourse due to this error during plugin
|
||||
initialization:
|
||||
|
||||
#{error}
|
||||
MESSAGE
|
||||
end
|
||||
exit 1
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user