From 59f362495a3ec932b16827cb8abc1ee274a3822c Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 6 May 2019 12:25:53 -0700 Subject: [PATCH] Add additional checks around link preview domains. We never make requests to non-whitelisted domains, but there were situations where some links would redirect to non-whitelisted domains, which would hit a final failsafe that resulted in a crash. To prevent this, we detect bad redirects earlier and fail more gracefully. Fixes #8796 --- .../glide/ChunkedImageUrlLoader.java | 2 + .../linkpreview/LinkPreviewRepository.java | 2 + .../linkpreview/LinkPreviewUtil.java | 9 ++- .../net/ContentProxySafetyInterceptor.java | 58 +++++++++++++++++++ 4 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 src/org/thoughtcrime/securesms/net/ContentProxySafetyInterceptor.java diff --git a/src/org/thoughtcrime/securesms/glide/ChunkedImageUrlLoader.java b/src/org/thoughtcrime/securesms/glide/ChunkedImageUrlLoader.java index fe0d765b8d..5ac02f33f6 100644 --- a/src/org/thoughtcrime/securesms/glide/ChunkedImageUrlLoader.java +++ b/src/org/thoughtcrime/securesms/glide/ChunkedImageUrlLoader.java @@ -8,6 +8,7 @@ import com.bumptech.glide.load.model.ModelLoaderFactory; import com.bumptech.glide.load.model.MultiModelLoaderFactory; import org.thoughtcrime.securesms.giph.model.ChunkedImageUrl; +import org.thoughtcrime.securesms.net.ContentProxySafetyInterceptor; import org.thoughtcrime.securesms.net.ContentProxySelector; import java.io.InputStream; @@ -41,6 +42,7 @@ public class ChunkedImageUrlLoader implements ModelLoader