Adds root context for dns resolution timeout, set to 100 times the upstream timeout duration

This commit is contained in:
Ben McHone 2024-01-26 18:54:49 -06:00
parent 27e0da6809
commit ffa3418afc
2 changed files with 5 additions and 0 deletions

View File

@ -92,6 +92,9 @@ func (r *CustomDNSResolver) processRequest(ctx context.Context, request *model.R
domain := util.ExtractDomain(question)
for len(domain) > 0 {
if err := ctx.Err(); err != nil {
return nil, err
}
entries, found := r.mapping[domain]
if found {
for _, entry := range entries {

View File

@ -611,6 +611,8 @@ func (s *Server) OnRequest(
func (s *Server) resolve(ctx context.Context, request *model.Request) (*model.Response, error) {
var response *model.Response
ctx, cancel := context.WithTimeout(ctx, 100*s.cfg.Upstreams.Timeout.ToDuration())
defer cancel()
switch {
case len(request.Req.Question) == 0: