]> source.dussan.org Git - gitea.git/commitdiff
Disable federation by default (#20045)
authorGusted <williamzijl7@hotmail.com>
Sun, 19 Jun 2022 23:48:17 +0000 (01:48 +0200)
committerGitHub <noreply@github.com>
Sun, 19 Jun 2022 23:48:17 +0000 (07:48 +0800)
custom/conf/app.example.ini
docs/content/doc/advanced/config-cheat-sheet.en-us.md
integrations/api_activitypub_person_test.go
integrations/api_nodeinfo_test.go
modules/setting/federation.go

index c4b8913e41b8ddf1dd02f918c8a2acc65e63d2a9..80017a11764ee13865cb6aa8a02ea168d92b0c3b 100644 (file)
@@ -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
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
index b50e630a8382400b19e8db847c77377f12fd4581..15628a7def051c9b4ff0cf521ac0ffd326ecee11 100644 (file)
@@ -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)
 
index 4898d5e01d8efee1431a74bfee8336ec592aec0a..e19da40864e9277ebf3876f58605a9c844d321e7 100644 (file)
@@ -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
                }()
index c2fcd2fea5619bbba61f9c934ee76305649ae781..cf9ff4da1b532e2f1cb51919b4203ebd371f65d6 100644 (file)
@@ -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
index b06d0a921909795f048d502ea35fe1b8611d7caa..2a8ecadaf92ef991a0dcb763a90124968bfb6e74 100644 (file)
@@ -21,7 +21,7 @@ var (
                GetHeaders          []string
                PostHeaders         []string
        }{
-               Enabled:             true,
+               Enabled:             false,
                ShareUserStatistics: true,
                MaxSize:             4,
                Algorithms:          []string{"rsa-sha256", "rsa-sha512", "ed25519"},