Browse Source

client: make request forgery check less strict

Benton Edmondson 1 year ago
parent
commit
04119e2f4d
1 changed files with 3 additions and 3 deletions
  1. 3 3
      client/client.go

+ 3 - 3
client/client.go

@@ -43,7 +43,7 @@ func FetchUnknown(input any, source *url.URL) (object.Object, *url.URL, error) {
 		return nil, nil, err
 	}
 	/* Refetch if necessary */
-	if id != nil && (source == nil || source.String() != id.String() || len(obj) <= 2) {
+	if id != nil && (source == nil || source.Host != id.Host || len(obj) <= 2) {
 		obj, source, err = FetchURL(id)
 		if err != nil {
 			return nil, nil, err
@@ -55,7 +55,7 @@ func FetchUnknown(input any, source *url.URL) (object.Object, *url.URL, error) {
 		} else if err != nil {
 			return nil, nil, err
 		}
-		if id != nil && source.String() != id.String() {
+		if id != nil && source.Host != id.Host {
 			return nil, nil, errors.New("received response with forged identifier")
 		}
 	}
@@ -177,7 +177,7 @@ func ResolveWebfinger(username string) (string, error) {
 	}
 
 	if !found {
-		return "", errors.New("no matching href was found in the links array of " + link.String())
+		return "", errors.New("actor not found in webfinger listing")
 	}
 
 	return underlyingLink, nil