implement SOA serial bump and DNS slave server notify

This commit is contained in:
Simon Zeyer
2026-02-24 19:50:03 +00:00
parent 4e5a69e5fb
commit 87db76cf39
8 changed files with 136 additions and 16 deletions
+7 -4
View File
@@ -15,10 +15,11 @@ import (
)
type AcmednsAPI struct {
Config *acmedns.AcmeDnsConfig
DB acmedns.AcmednsDB
Logger *zap.SugaredLogger
errChan chan error
Config *acmedns.AcmeDnsConfig
DB acmedns.AcmednsDB
Logger *zap.SugaredLogger
errChan chan error
dnsServers []acmedns.AcmednsNS
}
func Init(config *acmedns.AcmeDnsConfig, db acmedns.AcmednsDB, logger *zap.SugaredLogger, errChan chan error) AcmednsAPI {
@@ -27,6 +28,8 @@ func Init(config *acmedns.AcmeDnsConfig, db acmedns.AcmednsDB, logger *zap.Sugar
}
func (a *AcmednsAPI) Start(dnsservers []acmedns.AcmednsNS) {
//we need the dnsservers later to bump serial
a.dnsServers = dnsservers
var err error
//TODO: do we want to debug log the HTTP server?
stderrorlog, err := zap.NewStdLogAt(a.Logger.Desugar(), zap.ErrorLevel)
+4
View File
@@ -49,6 +49,10 @@ func (a *AcmednsAPI) webUpdatePost(w http.ResponseWriter, r *http.Request, _ htt
upd = []byte("{\"txt\": \"" + atxt.Value + "\"}")
}
}
for _, s := range a.dnsServers {
//bump SOA serial on update (and notify slaves if configured)
s.BumpSerial()
}
w.Header().Set("Content-Type", "application/json")
w.WriteHeader(updStatus)
_, _ = w.Write(upd)