aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGusted <williamzijl7@hotmail.com>2022-06-20 01:48:17 +0200
committerGitHub <noreply@github.com>2022-06-20 07:48:17 +0800
commit02d745827bdbe01a82f9f069a904f53197252685 (patch)
tree76fafa40fe638203ea618122a033f04738301da1
parente91229eefbd09fecaebd0e058c3bfe7612a0bc61 (diff)
downloadgitea-02d745827bdbe01a82f9f069a904f53197252685.tar.gz
gitea-02d745827bdbe01a82f9f069a904f53197252685.zip
Disable federation by default (#20045)
-rw-r--r--custom/conf/app.example.ini14
-rw-r--r--docs/content/doc/advanced/config-cheat-sheet.en-us.md2
-rw-r--r--integrations/api_activitypub_person_test.go34
-rw-r--r--integrations/api_nodeinfo_test.go13
-rw-r--r--modules/setting/federation.go2
5 files changed, 39 insertions, 26 deletions
diff --git a/custom/conf/app.example.ini b/custom/conf/app.example.ini
index c4b8913e41..80017a1176 100644
--- a/custom/conf/app.example.ini
+++ b/custom/conf/app.example.ini
@@ -2249,27 +2249,27 @@ PATH =
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Enable/Disable federation capabilities
-; ENABLED = true
+;ENABLED = false
;;
;; Enable/Disable user statistics for nodeinfo if federation is enabled
-; SHARE_USER_STATISTICS = true
+;SHARE_USER_STATISTICS = true
;;
;; Maximum federation request and response size (MB)
-; MAX_SIZE = 4
+;MAX_SIZE = 4
;;
;; WARNING: Changing the settings below can break federation.
;;
;; HTTP signature algorithms
-; ALGORITHMS = rsa-sha256, rsa-sha512, ed25519
+;ALGORITHMS = rsa-sha256, rsa-sha512, ed25519
;;
;; HTTP signature digest algorithm
-; DIGEST_ALGORITHM = SHA-256
+;DIGEST_ALGORITHM = SHA-256
;;
;; GET headers for federation requests
-; GET_HEADERS = (request-target), Date
+;GET_HEADERS = (request-target), Date
;;
;; POST headers for federation requests
-; POST_HEADERS = (request-target), Date, Digest
+;POST_HEADERS = (request-target), Date, Digest
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
diff --git a/docs/content/doc/advanced/config-cheat-sheet.en-us.md b/docs/content/doc/advanced/config-cheat-sheet.en-us.md
index b50e630a83..15628a7def 100644
--- a/docs/content/doc/advanced/config-cheat-sheet.en-us.md
+++ b/docs/content/doc/advanced/config-cheat-sheet.en-us.md
@@ -1088,7 +1088,7 @@ Task queue configuration has been moved to `queue.task`. However, the below conf
## Federation (`federation`)
-- `ENABLED`: **true**: Enable/Disable federation capabilities
+- `ENABLED`: **false**: Enable/Disable federation capabilities
- `SHARE_USER_STATISTICS`: **true**: Enable/Disable user statistics for nodeinfo if federation is enabled
- `MAX_SIZE`: **4**: Maximum federation request and response size (MB)
diff --git a/integrations/api_activitypub_person_test.go b/integrations/api_activitypub_person_test.go
index 4898d5e01d..e19da40864 100644
--- a/integrations/api_activitypub_person_test.go
+++ b/integrations/api_activitypub_person_test.go
@@ -15,18 +15,21 @@ import (
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/activitypub"
"code.gitea.io/gitea/modules/setting"
+ "code.gitea.io/gitea/routers"
ap "github.com/go-ap/activitypub"
"github.com/stretchr/testify/assert"
)
func TestActivityPubPerson(t *testing.T) {
- onGiteaRun(t, func(*testing.T, *url.URL) {
- setting.Federation.Enabled = true
- defer func() {
- setting.Federation.Enabled = false
- }()
+ setting.Federation.Enabled = true
+ c = routers.NormalRoutes()
+ defer func() {
+ setting.Federation.Enabled = false
+ c = routers.NormalRoutes()
+ }()
+ onGiteaRun(t, func(*testing.T, *url.URL) {
username := "user2"
req := NewRequestf(t, "GET", fmt.Sprintf("/api/v1/activitypub/user/%s", username))
resp := MakeRequest(t, req, http.StatusOK)
@@ -56,12 +59,14 @@ func TestActivityPubPerson(t *testing.T) {
}
func TestActivityPubMissingPerson(t *testing.T) {
- onGiteaRun(t, func(*testing.T, *url.URL) {
- setting.Federation.Enabled = true
- defer func() {
- setting.Federation.Enabled = false
- }()
+ setting.Federation.Enabled = true
+ c = routers.NormalRoutes()
+ defer func() {
+ setting.Federation.Enabled = false
+ c = routers.NormalRoutes()
+ }()
+ onGiteaRun(t, func(*testing.T, *url.URL) {
req := NewRequestf(t, "GET", "/api/v1/activitypub/user/nonexistentuser")
resp := MakeRequest(t, req, http.StatusNotFound)
assert.Contains(t, resp.Body.String(), "user redirect does not exist")
@@ -69,15 +74,20 @@ func TestActivityPubMissingPerson(t *testing.T) {
}
func TestActivityPubPersonInbox(t *testing.T) {
+ setting.Federation.Enabled = true
+ c = routers.NormalRoutes()
+ defer func() {
+ setting.Federation.Enabled = false
+ c = routers.NormalRoutes()
+ }()
+
srv := httptest.NewServer(c)
defer srv.Close()
onGiteaRun(t, func(*testing.T, *url.URL) {
appURL := setting.AppURL
- setting.Federation.Enabled = true
setting.AppURL = srv.URL
defer func() {
- setting.Federation.Enabled = false
setting.Database.LogSQL = false
setting.AppURL = appURL
}()
diff --git a/integrations/api_nodeinfo_test.go b/integrations/api_nodeinfo_test.go
index c2fcd2fea5..cf9ff4da1b 100644
--- a/integrations/api_nodeinfo_test.go
+++ b/integrations/api_nodeinfo_test.go
@@ -11,17 +11,20 @@ import (
"code.gitea.io/gitea/modules/setting"
api "code.gitea.io/gitea/modules/structs"
+ "code.gitea.io/gitea/routers"
"github.com/stretchr/testify/assert"
)
func TestNodeinfo(t *testing.T) {
- onGiteaRun(t, func(*testing.T, *url.URL) {
- setting.Federation.Enabled = true
- defer func() {
- setting.Federation.Enabled = false
- }()
+ setting.Federation.Enabled = true
+ c = routers.NormalRoutes()
+ defer func() {
+ setting.Federation.Enabled = false
+ c = routers.NormalRoutes()
+ }()
+ onGiteaRun(t, func(*testing.T, *url.URL) {
req := NewRequestf(t, "GET", "/api/v1/nodeinfo")
resp := MakeRequest(t, req, http.StatusOK)
var nodeinfo api.NodeInfo
diff --git a/modules/setting/federation.go b/modules/setting/federation.go
index b06d0a9219..2a8ecadaf9 100644
--- a/modules/setting/federation.go
+++ b/modules/setting/federation.go
@@ -21,7 +21,7 @@ var (
GetHeaders []string
PostHeaders []string
}{
- Enabled: true,
+ Enabled: false,
ShareUserStatistics: true,
MaxSize: 4,
Algorithms: []string{"rsa-sha256", "rsa-sha512", "ed25519"},