diff options
author | 2021-11-13 17:29:43 +0100 | |
---|---|---|
committer | 2021-11-13 17:29:43 +0100 | |
commit | 09ef9e639efa1b01005dcb7fc044611f277ad618 (patch) | |
tree | bef200f444b7ddd90f2b9f0fcff644da7cd85a11 /internal/federation | |
parent | update dependencies (#296) (diff) | |
download | gotosocial-09ef9e639efa1b01005dcb7fc044611f277ad618.tar.xz |
move to ssb gofed fork (#298)
Diffstat (limited to 'internal/federation')
29 files changed, 69 insertions, 45 deletions
diff --git a/internal/federation/authenticate.go b/internal/federation/authenticate.go index 78cfe2b5d..eb0e675c3 100644 --- a/internal/federation/authenticate.go +++ b/internal/federation/authenticate.go @@ -25,14 +25,15 @@ import ( "encoding/pem" "errors" "fmt" - "github.com/sirupsen/logrus" "net/url" "strings" - "github.com/go-fed/activity/pub" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" + "github.com/sirupsen/logrus" + "github.com/go-fed/httpsig" + "github.com/superseriousbusiness/activity/pub" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/util" diff --git a/internal/federation/clock.go b/internal/federation/clock.go index cc67f8b73..b727df503 100644 --- a/internal/federation/clock.go +++ b/internal/federation/clock.go @@ -21,7 +21,7 @@ package federation import ( "time" - "github.com/go-fed/activity/pub" + "github.com/superseriousbusiness/activity/pub" ) /* diff --git a/internal/federation/commonbehavior.go b/internal/federation/commonbehavior.go index 29eb9b6f3..299124c47 100644 --- a/internal/federation/commonbehavior.go +++ b/internal/federation/commonbehavior.go @@ -22,8 +22,8 @@ import ( "context" "net/http" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" ) /* diff --git a/internal/federation/dereferencing/account.go b/internal/federation/dereferencing/account.go index 7d8e2ff94..d5adb545b 100644 --- a/internal/federation/dereferencing/account.go +++ b/internal/federation/dereferencing/account.go @@ -26,9 +26,9 @@ import ( "net/url" "strings" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" diff --git a/internal/federation/dereferencing/collectionpage.go b/internal/federation/dereferencing/collectionpage.go index cf97327a5..9b8024c90 100644 --- a/internal/federation/dereferencing/collectionpage.go +++ b/internal/federation/dereferencing/collectionpage.go @@ -25,8 +25,8 @@ import ( "fmt" "net/url" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" ) diff --git a/internal/federation/dereferencing/dereferencer_test.go b/internal/federation/dereferencing/dereferencer_test.go index e73847ac7..d4bf3396d 100644 --- a/internal/federation/dereferencing/dereferencer_test.go +++ b/internal/federation/dereferencing/dereferencer_test.go @@ -25,10 +25,10 @@ import ( "net/http" "codeberg.org/gruf/go-store/kv" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" "github.com/stretchr/testify/suite" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/federation/dereferencing" diff --git a/internal/federation/dereferencing/status.go b/internal/federation/dereferencing/status.go index c4102a8f3..383f9718e 100644 --- a/internal/federation/dereferencing/status.go +++ b/internal/federation/dereferencing/status.go @@ -26,9 +26,9 @@ import ( "net/url" "strings" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/id" diff --git a/internal/federation/federatingactor.go b/internal/federation/federatingactor.go index 65a16efaf..a614822d6 100644 --- a/internal/federation/federatingactor.go +++ b/internal/federation/federatingactor.go @@ -23,8 +23,8 @@ import ( "net/http" "net/url" - "github.com/go-fed/activity/pub" - "github.com/go-fed/activity/streams/vocab" + "github.com/superseriousbusiness/activity/pub" + "github.com/superseriousbusiness/activity/streams/vocab" ) // federatingActor implements the go-fed federating protocol interface diff --git a/internal/federation/federatingdb/accept.go b/internal/federation/federatingdb/accept.go index 8d295161c..1509b37bc 100644 --- a/internal/federation/federatingdb/accept.go +++ b/internal/federation/federatingdb/accept.go @@ -23,8 +23,8 @@ import ( "errors" "fmt" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" diff --git a/internal/federation/federatingdb/announce.go b/internal/federation/federatingdb/announce.go index 7a40cd051..b506a9f78 100644 --- a/internal/federation/federatingdb/announce.go +++ b/internal/federation/federatingdb/announce.go @@ -22,8 +22,8 @@ import ( "context" "fmt" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/messages" ) diff --git a/internal/federation/federatingdb/create.go b/internal/federation/federatingdb/create.go index 862f84473..d992c2bd7 100644 --- a/internal/federation/federatingdb/create.go +++ b/internal/federation/federatingdb/create.go @@ -24,8 +24,8 @@ import ( "fmt" "strings" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" diff --git a/internal/federation/federatingdb/db.go b/internal/federation/federatingdb/db.go index 196d6163c..4b2f92fd4 100644 --- a/internal/federation/federatingdb/db.go +++ b/internal/federation/federatingdb/db.go @@ -23,8 +23,8 @@ import ( "sync" "time" - "github.com/go-fed/activity/pub" - "github.com/go-fed/activity/streams/vocab" + "github.com/superseriousbusiness/activity/pub" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/typeutils" diff --git a/internal/federation/federatingdb/followers.go b/internal/federation/federatingdb/followers.go index 2eccf167d..96b824c66 100644 --- a/internal/federation/federatingdb/followers.go +++ b/internal/federation/federatingdb/followers.go @@ -5,8 +5,8 @@ import ( "fmt" "net/url" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/db" ) diff --git a/internal/federation/federatingdb/followers_test.go b/internal/federation/federatingdb/followers_test.go index d993a7201..fbdf738a9 100644 --- a/internal/federation/federatingdb/followers_test.go +++ b/internal/federation/federatingdb/followers_test.go @@ -23,8 +23,8 @@ import ( "encoding/json" "testing" - "github.com/go-fed/activity/streams" "github.com/stretchr/testify/suite" + "github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/testrig" ) diff --git a/internal/federation/federatingdb/following.go b/internal/federation/federatingdb/following.go index cc6111715..54d703742 100644 --- a/internal/federation/federatingdb/following.go +++ b/internal/federation/federatingdb/following.go @@ -5,8 +5,8 @@ import ( "fmt" "net/url" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/db" ) diff --git a/internal/federation/federatingdb/following_test.go b/internal/federation/federatingdb/following_test.go index 7788840d7..7c2727269 100644 --- a/internal/federation/federatingdb/following_test.go +++ b/internal/federation/federatingdb/following_test.go @@ -23,8 +23,8 @@ import ( "encoding/json" "testing" - "github.com/go-fed/activity/streams" "github.com/stretchr/testify/suite" + "github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/testrig" ) diff --git a/internal/federation/federatingdb/get.go b/internal/federation/federatingdb/get.go index 6c629d717..a409b7b91 100644 --- a/internal/federation/federatingdb/get.go +++ b/internal/federation/federatingdb/get.go @@ -23,8 +23,8 @@ import ( "errors" "net/url" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/util" ) diff --git a/internal/federation/federatingdb/inbox.go b/internal/federation/federatingdb/inbox.go index 95886b571..90a10a499 100644 --- a/internal/federation/federatingdb/inbox.go +++ b/internal/federation/federatingdb/inbox.go @@ -22,8 +22,9 @@ import ( "context" "net/url" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" + "github.com/superseriousbusiness/gotosocial/internal/db" ) // InboxContains returns true if the OrderedCollection at 'inbox' @@ -56,3 +57,25 @@ func (f *federatingDB) GetInbox(c context.Context, inboxIRI *url.URL) (inbox voc func (f *federatingDB) SetInbox(c context.Context, inbox vocab.ActivityStreamsOrderedCollectionPage) error { return nil } + +// InboxForActor fetches the inbox corresponding to the given actorIRI. +// +// It is acceptable to just return nil for the inboxIRI. In this case, the library will +// attempt to resolve the inbox of the actor by remote dereferencing instead. +// +// The library makes this call only after acquiring a lock first. +func (f *federatingDB) InboxForActor(c context.Context, actorIRI *url.URL) (inboxIRI *url.URL, err error) { + account, err := f.db.GetAccountByURI(c, actorIRI.String()) + if err != nil { + // if there are just no entries for this account yet it's fine, return nil + // and go-fed will try to dereference it instead + if err == db.ErrNoEntries { + return nil, nil + } + // there's been an actual error... + return nil, err + } + + // we got it! + return url.Parse(account.InboxURI) +} diff --git a/internal/federation/federatingdb/liked.go b/internal/federation/federatingdb/liked.go index 93b3d2c88..2729c1223 100644 --- a/internal/federation/federatingdb/liked.go +++ b/internal/federation/federatingdb/liked.go @@ -22,8 +22,8 @@ import ( "context" "net/url" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" ) // Liked obtains the Liked Collection for an actor with the diff --git a/internal/federation/federatingdb/outbox.go b/internal/federation/federatingdb/outbox.go index 07caf999e..9d540e3a2 100644 --- a/internal/federation/federatingdb/outbox.go +++ b/internal/federation/federatingdb/outbox.go @@ -22,8 +22,8 @@ import ( "context" "net/url" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" ) // GetOutbox returns the first ordered collection page of the outbox diff --git a/internal/federation/federatingdb/reject.go b/internal/federation/federatingdb/reject.go index d05c41654..2d8687ee9 100644 --- a/internal/federation/federatingdb/reject.go +++ b/internal/federation/federatingdb/reject.go @@ -23,8 +23,8 @@ import ( "errors" "fmt" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" diff --git a/internal/federation/federatingdb/reject_test.go b/internal/federation/federatingdb/reject_test.go index 5e5f12a79..2b213a3f0 100644 --- a/internal/federation/federatingdb/reject_test.go +++ b/internal/federation/federatingdb/reject_test.go @@ -22,8 +22,8 @@ import ( "testing" "time" - "github.com/go-fed/activity/streams" "github.com/stretchr/testify/suite" + "github.com/superseriousbusiness/activity/streams" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/messages" diff --git a/internal/federation/federatingdb/undo.go b/internal/federation/federatingdb/undo.go index 934b5970d..f2dcc72c5 100644 --- a/internal/federation/federatingdb/undo.go +++ b/internal/federation/federatingdb/undo.go @@ -23,8 +23,8 @@ import ( "errors" "fmt" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" diff --git a/internal/federation/federatingdb/update.go b/internal/federation/federatingdb/update.go index 646b155dc..8f318ce71 100644 --- a/internal/federation/federatingdb/update.go +++ b/internal/federation/federatingdb/update.go @@ -23,8 +23,8 @@ import ( "errors" "fmt" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/messages" diff --git a/internal/federation/federatingdb/util.go b/internal/federation/federatingdb/util.go index 34a103a49..87b85aed6 100644 --- a/internal/federation/federatingdb/util.go +++ b/internal/federation/federatingdb/util.go @@ -25,9 +25,9 @@ import ( "fmt" "net/url" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" diff --git a/internal/federation/federatingprotocol.go b/internal/federation/federatingprotocol.go index 504e2dbeb..be5ab4d85 100644 --- a/internal/federation/federatingprotocol.go +++ b/internal/federation/federatingprotocol.go @@ -25,10 +25,10 @@ import ( "net/http" "net/url" - "github.com/go-fed/activity/pub" - "github.com/go-fed/activity/streams" - "github.com/go-fed/activity/streams/vocab" "github.com/sirupsen/logrus" + "github.com/superseriousbusiness/activity/pub" + "github.com/superseriousbusiness/activity/streams" + "github.com/superseriousbusiness/activity/streams/vocab" "github.com/superseriousbusiness/gotosocial/internal/db" "github.com/superseriousbusiness/gotosocial/internal/gtsmodel" "github.com/superseriousbusiness/gotosocial/internal/util" diff --git a/internal/federation/federator.go b/internal/federation/federator.go index 2813f6ff8..280375d7d 100644 --- a/internal/federation/federator.go +++ b/internal/federation/federator.go @@ -22,7 +22,7 @@ import ( "context" "net/url" - "github.com/go-fed/activity/pub" + "github.com/superseriousbusiness/activity/pub" "github.com/superseriousbusiness/gotosocial/internal/ap" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" diff --git a/internal/federation/federator_test.go b/internal/federation/federator_test.go index 44ae54074..7ac149c0d 100644 --- a/internal/federation/federator_test.go +++ b/internal/federation/federator_test.go @@ -25,10 +25,10 @@ import ( "testing" "codeberg.org/gruf/go-store/kv" - "github.com/go-fed/activity/pub" "github.com/go-fed/httpsig" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/suite" + "github.com/superseriousbusiness/activity/pub" "github.com/superseriousbusiness/gotosocial/internal/config" "github.com/superseriousbusiness/gotosocial/internal/db" diff --git a/internal/federation/transport.go b/internal/federation/transport.go index 9e2e38e19..5b5afaad5 100644 --- a/internal/federation/transport.go +++ b/internal/federation/transport.go @@ -23,7 +23,7 @@ import ( "fmt" "net/url" - "github.com/go-fed/activity/pub" + "github.com/superseriousbusiness/activity/pub" "github.com/superseriousbusiness/gotosocial/internal/util" ) |