FIX: Do not attempt to pull_hotlinked on emoji images when CDN enabled
This commit is contained in:
parent
9cf77372a2
commit
78626d2832
|
@ -173,7 +173,7 @@ module Jobs
|
||||||
|
|
||||||
# If file is on the forum or CDN domain or already has the
|
# If file is on the forum or CDN domain or already has the
|
||||||
# secure media url
|
# secure media url
|
||||||
if Discourse.store.has_been_uploaded?(src) || src =~ /\A\/[^\/]/i || Upload.secure_media_url?(src)
|
if UrlHelper.is_local(src) || Upload.secure_media_url?(src)
|
||||||
return false if src =~ /\/images\/emoji\//
|
return false if src =~ /\/images\/emoji\//
|
||||||
|
|
||||||
# Someone could hotlink a file from a different site on the same CDN,
|
# Someone could hotlink a file from a different site on the same CDN,
|
||||||
|
|
|
@ -350,6 +350,23 @@ describe Jobs::PullHotlinkedImages do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it "returns false for emoji" do
|
||||||
|
src = Emoji.url_for("testemoji.png")
|
||||||
|
expect(subject.should_download_image?(src)).to eq(false)
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns false for emoji when app and S3 CDNs configured" do
|
||||||
|
set_cdn_url "https://mydomain.cdn/test"
|
||||||
|
SiteSetting.s3_upload_bucket = "some-bucket-on-s3"
|
||||||
|
SiteSetting.s3_access_key_id = "s3-access-key-id"
|
||||||
|
SiteSetting.s3_secret_access_key = "s3-secret-access-key"
|
||||||
|
SiteSetting.s3_cdn_url = "https://s3.cdn.com"
|
||||||
|
SiteSetting.enable_s3_uploads = true
|
||||||
|
|
||||||
|
src = UrlHelper.cook_url(Emoji.url_for("testemoji.png"))
|
||||||
|
expect(subject.should_download_image?(src)).to eq(false)
|
||||||
|
end
|
||||||
|
|
||||||
context "when download_remote_images_to_local? is false" do
|
context "when download_remote_images_to_local? is false" do
|
||||||
before do
|
before do
|
||||||
SiteSetting.download_remote_images_to_local = false
|
SiteSetting.download_remote_images_to_local = false
|
||||||
|
@ -360,11 +377,6 @@ describe Jobs::PullHotlinkedImages do
|
||||||
expect(subject.should_download_image?(src)).to eq(true)
|
expect(subject.should_download_image?(src)).to eq(true)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns false for emoji" do
|
|
||||||
src = Emoji.url_for("testemoji.png")
|
|
||||||
expect(subject.should_download_image?(src)).to eq(false)
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns false for valid remote URLs' do
|
it 'returns false for valid remote URLs' do
|
||||||
expect(subject.should_download_image?("http://meta.discourse.org")).to eq(false)
|
expect(subject.should_download_image?("http://meta.discourse.org")).to eq(false)
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue