BUGFIX: make sure we do not try to pull images from the CDN
This commit is contained in:
parent
21e8ae0eca
commit
4b9acd6806
|
@ -94,9 +94,21 @@ module Jobs
|
||||||
end
|
end
|
||||||
|
|
||||||
def is_valid_image_url(src)
|
def is_valid_image_url(src)
|
||||||
src.present? &&
|
# make sure we actually have a url
|
||||||
!Discourse.store.has_been_uploaded?(src) &&
|
return false unless src.present?
|
||||||
!src.start_with?(Discourse.asset_host || Discourse.base_url_no_prefix) &&
|
# we don't want to pull uploaded images
|
||||||
|
return false if Discourse.store.has_been_uploaded?(src)
|
||||||
|
# parse the src
|
||||||
|
begin
|
||||||
|
uri = URI.parse(src)
|
||||||
|
rescue URI::InvalidURIError
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
# we don't want to pull images hosted on the CDN (if we use one)
|
||||||
|
return false if Discourse.asset_host.present? && URI.parse(Discourse.asset_host).hostname == uri.hostname
|
||||||
|
# we don't want to pull images hosted on the main domain
|
||||||
|
return false if URI.parse(Discourse.base_url_no_prefix).hostname == uri.hostname
|
||||||
|
# check the domains blacklist
|
||||||
SiteSetting.should_download_images?(src)
|
SiteSetting.should_download_images?(src)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -75,8 +75,8 @@ class SiteSetting < ActiveRecord::Base
|
||||||
def self.should_download_images?(src)
|
def self.should_download_images?(src)
|
||||||
setting = disabled_image_download_domains
|
setting = disabled_image_download_domains
|
||||||
return true unless setting.present?
|
return true unless setting.present?
|
||||||
host = URI.parse(src).host
|
|
||||||
|
|
||||||
|
host = URI.parse(src).host
|
||||||
return !(setting.split('|').include?(host))
|
return !(setting.split('|').include?(host))
|
||||||
rescue URI::InvalidURIError
|
rescue URI::InvalidURIError
|
||||||
return true
|
return true
|
||||||
|
|
Loading…
Reference in New Issue