mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-08-05 01:45:22 +02:00
feat: add _URI entries for mail config (#8116)
For the mailer and incoming_mailer config, allow passwords to be read from a file. Add `_URI` config values and use the existing `loadSecret` function to do this. Resolves https://codeberg.org/forgejo/forgejo/issues/8113 Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/8116 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Reviewed-by: oliverpool <oliverpool@noreply.codeberg.org> Co-authored-by: fruzitent <fruzit@gmail.com> Co-committed-by: fruzitent <fruzit@gmail.com>
This commit is contained in:
parent
24d6972f6b
commit
13b560c191
5 changed files with 54 additions and 1 deletions
|
@ -4,6 +4,8 @@
|
|||
package setting
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path/filepath"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
|
@ -52,6 +54,24 @@ func Test_loadMailerFrom(t *testing.T) {
|
|||
assert.Equal(t, "y0u'll n3v3r gUess th1S!!1", MailService.Passwd)
|
||||
})
|
||||
|
||||
t.Run("Secrets", func(t *testing.T) {
|
||||
uri := filepath.Join(t.TempDir(), "mailer_passwd")
|
||||
|
||||
if err := os.WriteFile(uri, []byte("th1S gUess n3v3r y0u'll!!1"), 0o644); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
cfg, _ := NewConfigProviderFromData("")
|
||||
sec := cfg.Section("mailer")
|
||||
sec.NewKey("ENABLED", "true")
|
||||
sec.NewKey("PASSWD_URI", "file:"+uri)
|
||||
|
||||
MailService.Passwd = ""
|
||||
loadMailerFrom(cfg)
|
||||
|
||||
assert.Equal(t, "th1S gUess n3v3r y0u'll!!1", MailService.Passwd)
|
||||
})
|
||||
|
||||
t.Run("sendmail argument sanitization", func(t *testing.T) {
|
||||
cfg, _ := NewConfigProviderFromData("")
|
||||
sec := cfg.Section("mailer")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue