mirror of
https://github.com/oxen-io/session-android.git
synced 2025-02-26 03:07:20 +00:00
rename whitelisted function
This commit is contained in:
parent
2c68cbeaf7
commit
5ad7fcf954
@ -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());
|
||||||
|
@ -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);
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user