summaryrefslogtreecommitdiff
path: root/internal/federation
diff options
context:
space:
mode:
authorLibravatar tobi <31960611+tsmethurst@users.noreply.github.com>2021-11-13 17:29:43 +0100
committerLibravatar GitHub <noreply@github.com>2021-11-13 17:29:43 +0100
commit09ef9e639efa1b01005dcb7fc044611f277ad618 (patch)
treebef200f444b7ddd90f2b9f0fcff644da7cd85a11 /internal/federation
parentupdate dependencies (#296) (diff)
downloadgotosocial-09ef9e639efa1b01005dcb7fc044611f277ad618.tar.xz
move to ssb gofed fork (#298)
Diffstat (limited to 'internal/federation')
-rw-r--r--internal/federation/authenticate.go9
-rw-r--r--internal/federation/clock.go2
-rw-r--r--internal/federation/commonbehavior.go4
-rw-r--r--internal/federation/dereferencing/account.go4
-rw-r--r--internal/federation/dereferencing/collectionpage.go4
-rw-r--r--internal/federation/dereferencing/dereferencer_test.go4
-rw-r--r--internal/federation/dereferencing/status.go4
-rw-r--r--internal/federation/federatingactor.go4
-rw-r--r--internal/federation/federatingdb/accept.go2
-rw-r--r--internal/federation/federatingdb/announce.go2
-rw-r--r--internal/federation/federatingdb/create.go2
-rw-r--r--internal/federation/federatingdb/db.go4
-rw-r--r--internal/federation/federatingdb/followers.go2
-rw-r--r--internal/federation/federatingdb/followers_test.go2
-rw-r--r--internal/federation/federatingdb/following.go2
-rw-r--r--internal/federation/federatingdb/following_test.go2
-rw-r--r--internal/federation/federatingdb/get.go2
-rw-r--r--internal/federation/federatingdb/inbox.go27
-rw-r--r--internal/federation/federatingdb/liked.go4
-rw-r--r--internal/federation/federatingdb/outbox.go4
-rw-r--r--internal/federation/federatingdb/reject.go2
-rw-r--r--internal/federation/federatingdb/reject_test.go2
-rw-r--r--internal/federation/federatingdb/undo.go2
-rw-r--r--internal/federation/federatingdb/update.go2
-rw-r--r--internal/federation/federatingdb/util.go4
-rw-r--r--internal/federation/federatingprotocol.go6
-rw-r--r--internal/federation/federator.go2
-rw-r--r--internal/federation/federator_test.go2
-rw-r--r--internal/federation/transport.go2
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"
)