commit: 04046a4983a136c76c81b97a6ab141afcb404afe
parent: a4c500176bcecb18192c7522c7c977e652426273
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Thu, 14 Sep 2017 16:41:59 +0200
Fix #4908 - Do not keep remote file names, generate random (#4934)
Diffstat:
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/app/models/concerns/remotable.rb b/app/models/concerns/remotable.rb
@@ -27,9 +27,11 @@ module Remotable
matches = response.headers['content-disposition']&.match(/filename="([^"]*)"/)
filename = matches.nil? ? parsed_url.path.split('/').last : matches[1]
+ basename = SecureRandom.hex(8)
+ extname = File.extname(filename)
send("#{attachment_name}=", StringIO.new(response.to_s))
- send("#{attachment_name}_file_name=", filename)
+ send("#{attachment_name}_file_name=", basename + extname)
self[attribute_name] = url if has_attribute?(attribute_name)
rescue HTTP::TimeoutError, HTTP::ConnectionError, OpenSSL::SSL::SSLError, Paperclip::Errors::NotIdentifiedByImageMagickError, Addressable::URI::InvalidURIError => e