about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2017-02-22 19:55:14 +0100
committerEugen Rochko <eugen@zeonfederated.com>2017-02-22 19:55:14 +0100
commit53ae431867cbb5f8c49f6123dcae530ee472ee71 (patch)
treeaec77e4452971dec751b88607a49c247bbf5dbe7
parent3202bdd74416035f81170e978129bbffb3151ed2 (diff)
Skip remote media URLs that don't have a hostname
-rw-r--r--app/models/account.rb2
-rw-r--r--app/services/process_feed_service.rb3
2 files changed, 4 insertions, 1 deletions
diff --git a/app/models/account.rb b/app/models/account.rb
index ed5c46197..469695acd 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -138,7 +138,7 @@ class Account < ApplicationRecord
   def avatar_remote_url=(url)
     parsed_url = URI.parse(url)
 
-    return if !%w(http https).include?(parsed_url.scheme) || self[:avatar_remote_url] == url
+    return if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.empty? || self[:avatar_remote_url] == url
 
     self.avatar              = parsed_url
     self[:avatar_remote_url] = url
diff --git a/app/services/process_feed_service.rb b/app/services/process_feed_service.rb
index f0a62aa14..5d952df6f 100644
--- a/app/services/process_feed_service.rb
+++ b/app/services/process_feed_service.rb
@@ -181,6 +181,9 @@ class ProcessFeedService < BaseService
         next unless link['href']
 
         media = MediaAttachment.where(status: parent, remote_url: link['href']).first_or_initialize(account: parent.account, status: parent, remote_url: link['href'])
+        parsed_url = URI.parse(link['href'])
+
+        next if !%w(http https).include?(parsed_url.scheme) || parsed_url.host.empty?
 
         begin
           media.file_remote_url = link['href']