rename whitelisted function

This commit is contained in:
Ryan ZHAO 2020-11-06 14:49:23 +11:00
parent 2c68cbeaf7
commit 5ad7fcf954
4 changed files with 8 additions and 10 deletions

View File

@ -2370,7 +2370,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity
recipient.getAddress().isEmail() || recipient.getAddress().isEmail() ||
inputPanel.getQuote().isPresent() || inputPanel.getQuote().isPresent() ||
linkPreviewViewModel.hasLinkPreview() || linkPreviewViewModel.hasLinkPreview() ||
LinkPreviewUtil.isWhitelistedMediaUrl(message) || // Loki - Send GIFs as media messages LinkPreviewUtil.isValidMediaUrl(message) || // Loki - Send GIFs as media messages
needsSplit; needsSplit;
Log.i(TAG, "isManual Selection: " + sendButton.isManualSelection()); Log.i(TAG, "isManual Selection: " + sendButton.isManualSelection());

View File

@ -1368,7 +1368,7 @@ public class PushDecryptJob extends BaseJob implements InjectableType {
Optional<String> title = Optional.fromNullable(preview.getTitle()); Optional<String> title = Optional.fromNullable(preview.getTitle());
boolean hasContent = !TextUtils.isEmpty(title.or("")) || thumbnail.isPresent(); 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 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) { if (hasContent && presentInBody && validDomain) {
LinkPreview linkPreview = new LinkPreview(url.get(), title.or(""), thumbnail); LinkPreview linkPreview = new LinkPreview(url.get(), title.or(""), thumbnail);

View File

@ -38,14 +38,14 @@ public final class LinkPreviewUtil {
return Stream.of(spannable.getSpans(0, spannable.length(), URLSpan.class)) return Stream.of(spannable.getSpans(0, spannable.length(), URLSpan.class))
.map(span -> new Link(span.getURL(), spannable.getSpanStart(span))) .map(span -> new Link(span.getURL(), spannable.getSpanStart(span)))
.filter(link -> isWhitelistedLinkUrl(link.getUrl())) .filter(link -> isValidLinkUrl(link.getUrl()))
.toList(); .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 (linkUrl == null) return false;
if (StickerUrl.isValidShareLink(linkUrl)) return true; if (StickerUrl.isValidShareLink(linkUrl)) return true;
@ -53,21 +53,19 @@ public final class LinkPreviewUtil {
return url != null && return url != null &&
!TextUtils.isEmpty(url.scheme()) && !TextUtils.isEmpty(url.scheme()) &&
"https".equals(url.scheme()) && "https".equals(url.scheme()) &&
LinkPreviewDomains.LINKS.contains(url.host()) &&
isLegalUrl(linkUrl); 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; if (mediaUrl == null) return false;
HttpUrl url = HttpUrl.parse(mediaUrl); HttpUrl url = HttpUrl.parse(mediaUrl);
return url != null && return url != null &&
!TextUtils.isEmpty(url.scheme()) && !TextUtils.isEmpty(url.scheme()) &&
"https".equals(url.scheme()) && "https".equals(url.scheme()) &&
LinkPreviewDomains.IMAGES.contains(url.topPrivateDomain()) &&
isLegalUrl(mediaUrl); isLegalUrl(mediaUrl);
} }

View File

@ -53,6 +53,6 @@ public class ContentProxySafetyInterceptor implements Interceptor {
} }
private static boolean isWhitelisted(@Nullable String url) { private static boolean isWhitelisted(@Nullable String url) {
return LinkPreviewUtil.isWhitelistedLinkUrl(url) || LinkPreviewUtil.isWhitelistedMediaUrl(url); return LinkPreviewUtil.isValidLinkUrl(url) || LinkPreviewUtil.isValidMediaUrl(url);
} }
} }