Pull request 2365: AGDNS-2714-tls-manager-tests

Merge in DNS/adguard-home from AGDNS-2714-tls-manager-tests to master

Squashed commit of the following:

commit 2a3c6558a4098eb6b531e792884e5ca2bc2dd362
Merge: 85d72559c 1a3853d52
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Mon Mar 17 18:07:49 2025 +0300

    Merge branch 'master' into AGDNS-2714-tls-manager-tests

commit 85d72559c371d4f14b40077d9aec69afa8dc7e73
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Mon Mar 17 17:55:41 2025 +0300

    home: imp tests

commit 9ad19e3cee255b157992e4045f4e27fa5aa54325
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Mon Mar 17 16:21:47 2025 +0300

    home: imp code

commit 8a05bc01998206bf6f3be8b3f0bd8f283158aeab
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Mon Mar 17 15:08:58 2025 +0300

    home: imp tests

commit 85173f986d4c58d8ec8cfbc799317623d9dfdf31
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Thu Mar 13 18:18:56 2025 +0300

    home: add tests

commit add531ea17fd771c071e073757f6021f324c9c75
Author: Stanislav Chzhen <s.chzhen@adguard.com>
Date:   Tue Mar 11 19:55:51 2025 +0300

    home: tls manager tests
This commit is contained in:
Stanislav Chzhen
2025-03-17 18:16:33 +03:00
parent 1a3853d52a
commit f82dee17f0
3 changed files with 462 additions and 27 deletions

View File

@@ -153,7 +153,7 @@ func (m *tlsManager) reload() {
m.certLastMod = fi.ModTime().UTC()
_ = reconfigureDNSServer(m)
_ = m.reconfigureDNSServer()
m.confLock.Lock()
tlsConf = m.conf
@@ -165,6 +165,31 @@ func (m *tlsManager) reload() {
globalContext.web.tlsConfigChanged(context.Background(), tlsConf)
}
// reconfigureDNSServer updates the DNS server configuration using the stored
// TLS settings.
func (m *tlsManager) reconfigureDNSServer() (err error) {
tlsConf := &tlsConfigSettings{}
m.WriteDiskConfig(tlsConf)
newConf, err := newServerConfig(
&config.DNS,
config.Clients.Sources,
tlsConf,
httpRegister,
globalContext.clients.storage,
)
if err != nil {
return fmt.Errorf("generating forwarding dns server config: %w", err)
}
err = globalContext.dnsServer.Reconfigure(newConf)
if err != nil {
return fmt.Errorf("starting forwarding dns server: %w", err)
}
return nil
}
// loadTLSConf loads and validates the TLS configuration. The returned error is
// also set in status.WarningValidation.
func loadTLSConf(tlsConf *tlsConfigSettings, status *tlsConfigStatus) (err error) {
@@ -442,7 +467,7 @@ func (m *tlsManager) handleTLSConfigure(w http.ResponseWriter, r *http.Request)
onConfigModified()
err = reconfigureDNSServer(m)
err = m.reconfigureDNSServer()
if err != nil {
aghhttp.Error(r, w, http.StatusInternalServerError, "%s", err)