From f9c47cfe6970a49c3d913ba029f67ebac1a623e4 Mon Sep 17 00:00:00 2001 From: FChannel <> Date: Wed, 30 Jun 2021 19:54:56 -0700 Subject: fixed federation bug with the TO field for sending activity streams. Added delay in indexing so the indexing inpoint cant be abused by non federated actors --- main.go | 19 ++++++++++++------- outboxPost.go | 2 +- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/main.go b/main.go index 6b40399..d4f5244 100644 --- a/main.go +++ b/main.go @@ -1120,12 +1120,19 @@ func main() { } } - if !alreadyIndex { - query := `insert into follower (id, follower) values ($1, $2)` + // delay to give instance time to boot up + time.Sleep(15 * time.Second) - _, err := db.Exec(query, "https://fchan.xyz", actor) + checkActor := FingerActor(actor) - CheckError(err, "Error with add to index query") + if checkActor.Id == actor { + if !alreadyIndex { + query := `insert into follower (id, follower) values ($1, $2)` + + _, err := db.Exec(query, "https://fchan.xyz", actor) + + CheckError(err, "Error with add to index query") + } } }) @@ -1350,9 +1357,7 @@ func CreateObject(objType string) ObjectBase { func AddFollowersToActivity(db *sql.DB, activity Activity) Activity{ - if len(activity.To) < 1 { - activity.To = append(activity.To, activity.Actor.Id) - } + activity.To = append(activity.To, activity.Actor.Id) for _, e := range activity.To { aFollowers := GetActorCollection(e + "/followers") diff --git a/outboxPost.go b/outboxPost.go index cc66677..45093b8 100644 --- a/outboxPost.go +++ b/outboxPost.go @@ -48,7 +48,7 @@ func ParseOutboxRequest(w http.ResponseWriter, r *http.Request, db *sql.DB) { nObj = WriteObjectToDB(db, nObj) activity := CreateActivity("Create", nObj) activity = AddFollowersToActivity(db, activity) - MakeActivityRequest(db, activity) + go MakeActivityRequest(db, activity) var id string op := len(nObj.InReplyTo) - 1 -- cgit v1.2.3