53 lines · 1.5 KB · Go
RawDownload
// Copyright 2021 The Gitea Authors. All rights reserved.// SPDX-License-Identifier: MIT package setting import (	"forgejo.org/modules/log" 	"github.com/42wim/httpsig") // Federation settingsvar (	Federation = struct {		Enabled             bool		ShareUserStatistics bool		MaxSize             int64		SignatureAlgorithms []string		DigestAlgorithm     string		GetHeaders          []string		PostHeaders         []string		SignatureEnforced   bool	}{		Enabled:             false,		ShareUserStatistics: true,		MaxSize:             4,		SignatureAlgorithms: []string{"rsa-sha256", "rsa-sha512", "ed25519"},		DigestAlgorithm:     "SHA-256",		GetHeaders:          []string{"(request-target)", "Date", "Host"},		PostHeaders:         []string{"(request-target)", "Date", "Host", "Digest"},		SignatureEnforced:   true,	}) // HttpsigAlgs is a constant slice of httpsig algorithm objectsvar HttpsigAlgs []httpsig.Algorithm func loadFederationFrom(rootCfg ConfigProvider) {	if err := rootCfg.Section("federation").MapTo(&Federation); err != nil {		log.Fatal("Failed to map Federation settings: %v", err)	} else if !httpsig.IsSupportedDigestAlgorithm(Federation.DigestAlgorithm) {		log.Fatal("unsupported digest algorithm: %s", Federation.DigestAlgorithm)		return	} 	// Get MaxSize in bytes instead of MiB	Federation.MaxSize = 1 << 20 * Federation.MaxSize 	HttpsigAlgs = make([]httpsig.Algorithm, len(Federation.SignatureAlgorithms))	for i, alg := range Federation.SignatureAlgorithms {		HttpsigAlgs[i] = httpsig.Algorithm(alg)	}}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t