gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 2d748a68aee1d3d013f1779602a9267e5d45324a
parent 21557c92d9517128e04555d8d36fb92bf7a22331
Author: tobi <31960611+tsmethurst@users.noreply.github.com>
Date:   Tue, 24 May 2022 13:38:11 +0200

[bugfix] Only search remote if protocol is http(s) (#601)


Diffstat:
Minternal/processing/search.go | 10++++++----
1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/internal/processing/search.go b/internal/processing/search.go @@ -65,9 +65,9 @@ func (p *processor) SearchGet(ctx context.Context, authed *oauth.Auth, searchQue } } - // check if the query is a URI and just do a lookup for that, straight up + // check if the query is a URI with a recognizable scheme and just do a lookup for that, straight up if !foundOne { - if uri, err := url.Parse(query); err == nil { + if uri, err := url.Parse(query); err == nil && (uri.Scheme == "https" || uri.Scheme == "http") { // 1. check if it's a status if foundStatus, err := p.searchStatusByURI(ctx, authed, uri, searchQuery.Resolve); err == nil && foundStatus != nil { foundStatuses = append(foundStatuses, foundStatus) @@ -201,8 +201,10 @@ func (p *processor) searchAccountByMention(ctx context.Context, authed *oauth.Au return nil, fmt.Errorf("error fingering remote account with username %s and domain %s: %s", username, domain, err) } - // return the attempt to get the remove account - return p.federator.GetRemoteAccount(ctx, authed.Account.Username, acctURI, true, true) + if acctURI.Scheme == "https" || acctURI.Scheme == "http" { + // return the attempt to get the remove account + return p.federator.GetRemoteAccount(ctx, authed.Account.Username, acctURI, true, true) + } } return nil, nil