From db707c7af3cff8b7947b1cdd7bdb5c95cbe1a966 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 11 May 2017 23:14:00 +0200 Subject: [PATCH] Fix #1426 - Trim long usernames in public follower/following lists (#2993) Fix #2221 - Catch OpenSSL exceptions when loading remote avatars/headers/attachments Don't strip "rel" attribute from tags when sanitizing (microformats) --- app/javascript/styles/accounts.scss | 2 ++ app/lib/sanitize_config.rb | 2 +- app/models/concerns/account_avatar.rb | 2 +- app/models/concerns/account_header.rb | 2 +- app/services/process_feed_service.rb | 2 +- 5 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/javascript/styles/accounts.scss b/app/javascript/styles/accounts.scss index b2b807a821..eb5ddc7423 100644 --- a/app/javascript/styles/accounts.scss +++ b/app/javascript/styles/accounts.scss @@ -302,6 +302,8 @@ display: block; color: $ui-base-color; text-decoration: none; + text-overflow: ellipsis; + overflow: hidden; &:hover { .display_name { diff --git a/app/lib/sanitize_config.rb b/app/lib/sanitize_config.rb index 90098969fa..22b46a3d30 100644 --- a/app/lib/sanitize_config.rb +++ b/app/lib/sanitize_config.rb @@ -8,7 +8,7 @@ class Sanitize elements: %w(p br span a), attributes: { - 'a' => %w(href), + 'a' => %w(href rel), 'span' => %w(class), }, diff --git a/app/models/concerns/account_avatar.rb b/app/models/concerns/account_avatar.rb index 38e32864af..8b9b726591 100644 --- a/app/models/concerns/account_avatar.rb +++ b/app/models/concerns/account_avatar.rb @@ -34,7 +34,7 @@ module AccountAvatar self.avatar = URI.parse(parsed_url.to_s) self[:avatar_remote_url] = url - rescue OpenURI::HTTPError => e + rescue OpenURI::HTTPError, OpenSSL::SSL::SSLError, Paperclip::Errors::NotIdentifiedByImageMagickError => e Rails.logger.debug "Error fetching remote avatar: #{e}" end end diff --git a/app/models/concerns/account_header.rb b/app/models/concerns/account_header.rb index 8fa5e16163..42f556a46e 100644 --- a/app/models/concerns/account_header.rb +++ b/app/models/concerns/account_header.rb @@ -34,7 +34,7 @@ module AccountHeader self.header = URI.parse(parsed_url.to_s) self[:header_remote_url] = url - rescue OpenURI::HTTPError => e + rescue OpenURI::HTTPError, OpenSSL::SSL::SSLError, Paperclip::Errors::NotIdentifiedByImageMagickError => e Rails.logger.debug "Error fetching remote header: #{e}" end end diff --git a/app/services/process_feed_service.rb b/app/services/process_feed_service.rb index 70c05c9385..1558f87906 100644 --- a/app/services/process_feed_service.rb +++ b/app/services/process_feed_service.rb @@ -223,7 +223,7 @@ class ProcessFeedService < BaseService begin media.file_remote_url = link['href'] media.save - rescue OpenURI::HTTPError, Paperclip::Errors::NotIdentifiedByImageMagickError + rescue OpenURI::HTTPError, OpenSSL::SSL::SSLError, Paperclip::Errors::NotIdentifiedByImageMagickError next end end