Check if digest algo is supported in setting module

This commit is contained in:
Anthony Wang 2022-03-29 16:38:27 -05:00
parent d1a53f7d6a
commit 65016b2664
No known key found for this signature in database
GPG Key ID: BC96B00AEC5F2D76
2 changed files with 10 additions and 6 deletions

View File

@ -61,9 +61,6 @@ func NewClient(user *user_model.User, pubID string) (c *Client, err error) {
return
} else if err = containsRequiredHTTPHeaders(http.MethodPost, setting.Federation.PostHeaders); err != nil {
return
} else if !httpsig.IsSupportedDigestAlgorithm(setting.Federation.DigestAlgorithm) {
err = fmt.Errorf("unsupported digest algorithm: %s", setting.Federation.DigestAlgorithm)
return
}
algos := make([]httpsig.Algorithm, len(setting.Federation.Algorithms))
for i, algo := range setting.Federation.Algorithms {
@ -85,8 +82,8 @@ func NewClient(user *user_model.User, pubID string) (c *Client, err error) {
}
c = &Client{
clock: clock,
client: &http.Client{
clock: clock,
client: &http.Client{
Transport: &http.Transport{
Proxy: proxy.Proxy(),
},

View File

@ -4,7 +4,11 @@
package setting
import "code.gitea.io/gitea/modules/log"
import (
"code.gitea.io/gitea/modules/log"
"github.com/go-fed/httpsig"
)
// Federation settings
var (
@ -26,5 +30,8 @@ var (
func newFederationService() {
if err := Cfg.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
}
}