diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 465de91e5f..d9f463844e 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -2370,7 +2370,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity recipient.getAddress().isEmail() || inputPanel.getQuote().isPresent() || linkPreviewViewModel.hasLinkPreview() || - LinkPreviewUtil.isWhitelistedMediaUrl(message) || // Loki - Send GIFs as media messages + LinkPreviewUtil.isValidMediaUrl(message) || // Loki - Send GIFs as media messages needsSplit; Log.i(TAG, "isManual Selection: " + sendButton.isManualSelection()); diff --git a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java index 84476b944e..8801ce4aa1 100644 --- a/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java +++ b/src/org/thoughtcrime/securesms/jobs/PushDecryptJob.java @@ -1368,7 +1368,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType { Optional title = Optional.fromNullable(preview.getTitle()); boolean hasContent = !TextUtils.isEmpty(title.or("")) || thumbnail.isPresent(); boolean presentInBody = url.isPresent() && Stream.of(LinkPreviewUtil.findWhitelistedUrls(message)).map(Link::getUrl).collect(Collectors.toSet()).contains(url.get()); - boolean validDomain = url.isPresent() && LinkPreviewUtil.isWhitelistedLinkUrl(url.get()); + boolean validDomain = url.isPresent() && LinkPreviewUtil.isValidLinkUrl(url.get()); if (hasContent && presentInBody && validDomain) { LinkPreview linkPreview = new LinkPreview(url.get(), title.or(""), thumbnail); diff --git a/src/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java b/src/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java index 9139f67ca0..c9ca8e3b6c 100644 --- a/src/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java +++ b/src/org/thoughtcrime/securesms/linkpreview/LinkPreviewUtil.java @@ -38,14 +38,14 @@ public final class LinkPreviewUtil { return Stream.of(spannable.getSpans(0, spannable.length(), URLSpan.class)) .map(span -> new Link(span.getURL(), spannable.getSpanStart(span))) - .filter(link -> isWhitelistedLinkUrl(link.getUrl())) + .filter(link -> isValidLinkUrl(link.getUrl())) .toList(); } /** - * @return True if the host is present in the link whitelist. + * @return True if the host is valid. */ - public static boolean isWhitelistedLinkUrl(@Nullable String linkUrl) { + public static boolean isValidLinkUrl(@Nullable String linkUrl) { if (linkUrl == null) return false; if (StickerUrl.isValidShareLink(linkUrl)) return true; @@ -53,21 +53,19 @@ public final class LinkPreviewUtil { return url != null && !TextUtils.isEmpty(url.scheme()) && "https".equals(url.scheme()) && - LinkPreviewDomains.LINKS.contains(url.host()) && isLegalUrl(linkUrl); } /** - * @return True if the top-level domain is present in the media whitelist. + * @return True if the top-level domain is valid. */ - public static boolean isWhitelistedMediaUrl(@Nullable String mediaUrl) { + public static boolean isValidMediaUrl(@Nullable String mediaUrl) { if (mediaUrl == null) return false; HttpUrl url = HttpUrl.parse(mediaUrl); return url != null && !TextUtils.isEmpty(url.scheme()) && "https".equals(url.scheme()) && - LinkPreviewDomains.IMAGES.contains(url.topPrivateDomain()) && isLegalUrl(mediaUrl); } diff --git a/src/org/thoughtcrime/securesms/net/ContentProxySafetyInterceptor.java b/src/org/thoughtcrime/securesms/net/ContentProxySafetyInterceptor.java index 992500b8c1..dcf6097738 100644 --- a/src/org/thoughtcrime/securesms/net/ContentProxySafetyInterceptor.java +++ b/src/org/thoughtcrime/securesms/net/ContentProxySafetyInterceptor.java @@ -53,6 +53,6 @@ public class ContentProxySafetyInterceptor implements Interceptor { } private static boolean isWhitelisted(@Nullable String url) { - return LinkPreviewUtil.isWhitelistedLinkUrl(url) || LinkPreviewUtil.isWhitelistedMediaUrl(url); + return LinkPreviewUtil.isValidLinkUrl(url) || LinkPreviewUtil.isValidMediaUrl(url); } }