Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package coredns for openSUSE:Factory checked 
in at 2024-09-19 21:18:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/coredns (Old)
 and      /work/SRC/openSUSE:Factory/.coredns.new.29891 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "coredns"

Thu Sep 19 21:18:26 2024 rev:19 rq:1202018 version:1.11.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/coredns/coredns.changes  2024-04-10 
17:50:38.313021560 +0200
+++ /work/SRC/openSUSE:Factory/.coredns.new.29891/coredns.changes       
2024-09-19 21:19:07.294895366 +0200
@@ -1,0 +2,17 @@
+Thu Sep 19 09:14:06 UTC 2024 - andrea.manz...@suse.com
+
+- Update to version 1.11.3:
+  * optimize the performance for high qps (#6767)
+  * bump deps
+  * Fix zone parser error handling (#6680)
+  * Add alternate option to forward plugin (#6681)
+  * fix: plugin/file: return error when parsing the file fails (#6699)
+  * [fix:documentation] Clarify autopath README (#6750)
+  * Fix outdated test (#6747)
+  * Bump go version from 1.21.8 to 1.21.11 (#6755)
+  * Generate zplugin.go correctly with third-party plugins (#6692)
+  * dnstap: uses pointer receiver for small response writer (#6644)
+  * chore: fix function name in comment (#6608)
+  * [plugin/forward] Strip local zone from IPV6 nameservers (#6635)
+
+-------------------------------------------------------------------

Old:
----
  coredns-1.11.1.obscpio
  coredns-1.11.1.tar.gz

New:
----
  coredns-1.11.3.obscpio
  coredns-1.11.3.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ coredns.spec ++++++
--- /var/tmp/diff_new_pack.Zrb4L8/_old  2024-09-19 21:19:07.998924550 +0200
+++ /var/tmp/diff_new_pack.Zrb4L8/_new  2024-09-19 21:19:08.002924715 +0200
@@ -18,8 +18,8 @@
 
 %define project github.com/coredns/coredns
 Name:           coredns
-Version:        1.11.1
-Release:        5a52707
+Version:        1.11.3
+Release:        0
 Summary:        DNS server written in Go
 License:        Apache-2.0
 Group:          Productivity/Networking/DNS/Servers
@@ -30,7 +30,7 @@
 Source10:       Corefile
 Source11:       coredns.service
 BuildRequires:  fdupes
-BuildRequires:  golang(API) >= 1.20
+BuildRequires:  golang(API) >= 1.21
 
 %description
 CoreDNS is a DNS server in Go. It has a plugin architecture for
@@ -65,12 +65,13 @@
 find . -mindepth 1 -maxdepth 1 -exec cp -r {} $HOME/go/src/%{project} \;
 
 cd $HOME/go/src/%{project}
+go generate coredns.go
 go build -mod=vendor -v -buildmode=pie -o coredns
 
 %check
 # Too many tests fail due to the restricted permissions in the build 
enviroment.
 # Updates must be tested manually.
-go test ./... -skip="TestZoneExternalCNAMELookupWithProxy|TestReadme"
+go test ./... 
-skip="TestZoneExternalCNAMELookupWithProxy|TestReadme|TestCorefile1"
 
 %install
 cd $HOME/go/src/%{project}

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Zrb4L8/_old  2024-09-19 21:19:08.042926374 +0200
+++ /var/tmp/diff_new_pack.Zrb4L8/_new  2024-09-19 21:19:08.046926539 +0200
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/coredns/coredns</param>
     <param name="scm">git</param>
     <param name="exclude">.git</param>
-    <param name="revision">5a52707c1962c915caea8a7c8e600cbe76836c98</param>
+    <param name="revision">a6338e924e29d318e7a1e971b5bde23f36d083af</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Zrb4L8/_old  2024-09-19 21:19:08.062927203 +0200
+++ /var/tmp/diff_new_pack.Zrb4L8/_new  2024-09-19 21:19:08.066927369 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/coredns/coredns</param>
-              <param 
name="changesrevision">5a52707c1962c915caea8a7c8e600cbe76836c98</param></service></servicedata>
+              <param 
name="changesrevision">a6338e924e29d318e7a1e971b5bde23f36d083af</param></service></servicedata>
 (No newline at EOF)
 

++++++ coredns-1.11.1.obscpio -> coredns-1.11.3.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/dependabot.yml 
new/coredns-1.11.3/.github/dependabot.yml
--- old/coredns-1.11.1/.github/dependabot.yml   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/.github/dependabot.yml   2024-07-02 14:08:56.000000000 
+0200
@@ -5,6 +5,13 @@
     directory: "/"
     schedule:
       interval: "weekly"
+    groups:
+      k8s.io:
+        patterns:
+          - "k8s.io/*"
+      go.etcd.io:
+        patterns:
+          - "go.etcd.io/etcd/*"
 
   - package-ecosystem: "github-actions"
     directory: "/"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/cifuzz.yml 
new/coredns-1.11.3/.github/workflows/cifuzz.yml
--- old/coredns-1.11.1/.github/workflows/cifuzz.yml     2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/cifuzz.yml     2024-07-02 
14:08:56.000000000 +0200
@@ -20,7 +20,7 @@
           fuzz-seconds: 600
           dry-run: false
       - name: Upload Crash
-        uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
+        uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808
         if: failure() && steps.build.outcome == 'success'
         with:
           name: artifacts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/codeql-analysis.yml 
new/coredns-1.11.3/.github/workflows/codeql-analysis.yml
--- old/coredns-1.11.1/.github/workflows/codeql-analysis.yml    2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/codeql-analysis.yml    2024-07-02 
14:08:56.000000000 +0200
@@ -30,12 +30,12 @@
         uses: actions/checkout@v4
 
       - name: Initialize CodeQL
-        uses: github/codeql-action/init@v3.24.10
+        uses: github/codeql-action/init@v3.25.11
         with:
           languages: ${{ matrix.language }}
 
       - name: Autobuild
-        uses: github/codeql-action/autobuild@v3.24.10
+        uses: github/codeql-action/autobuild@v3.25.11
 
       - name: Perform CodeQL Analysis
-        uses: github/codeql-action/analyze@v3.24.10
+        uses: github/codeql-action/analyze@v3.25.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/depsreview.yml 
new/coredns-1.11.3/.github/workflows/depsreview.yml
--- old/coredns-1.11.1/.github/workflows/depsreview.yml 2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/depsreview.yml 2024-07-02 
14:08:56.000000000 +0200
@@ -11,4 +11,4 @@
       - name: 'Checkout Repository'
         uses: actions/checkout@v4
       - name: 'Dependency Review'
-        uses: 
actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b
+        uses: 
actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/docker.yml 
new/coredns-1.11.3/.github/workflows/docker.yml
--- old/coredns-1.11.1/.github/workflows/docker.yml     2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/docker.yml     2024-07-02 
14:08:56.000000000 +0200
@@ -26,7 +26,7 @@
       - name: Show Docker Images
         run: docker images
       - name: Docker login
-        uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20  # 
v3.1.0
+        uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446  # 
v3.2.0
         with:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
           password: ${{ secrets.DOCKERHUB_PASSWORD }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/go.coverage.yml 
new/coredns-1.11.3/.github/workflows/go.coverage.yml
--- old/coredns-1.11.1/.github/workflows/go.coverage.yml        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/go.coverage.yml        2024-07-02 
14:08:56.000000000 +0200
@@ -31,4 +31,4 @@
           done
 
       - name: Upload coverage to Codecov
-        uses: codecov/codecov-action@7afa10ed9b269c561c2336fd862446844e0cbf71
+        uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/golangci-lint.yml 
new/coredns-1.11.3/.github/workflows/golangci-lint.yml
--- old/coredns-1.11.1/.github/workflows/golangci-lint.yml      2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/golangci-lint.yml      2024-07-02 
14:08:56.000000000 +0200
@@ -13,6 +13,6 @@
         with:
           go-version: ${{ env.GO_VERSION }}
       - name: golangci-lint
-        uses: golangci/golangci-lint-action@v4.0.0
+        uses: golangci/golangci-lint-action@v6.0.1
         with:
           version: v1.55.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/release.yml 
new/coredns-1.11.3/.github/workflows/release.yml
--- old/coredns-1.11.1/.github/workflows/release.yml    2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/release.yml    2024-07-02 
14:08:56.000000000 +0200
@@ -45,7 +45,7 @@
           cat release.md
           sha256sum release/*.tgz
       - name: Draft release
-        uses: 
softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564
+        uses: 
softprops/action-gh-release@a74c6b72af54cfa997e81df42d94703d6313a2d0
         with:
           body_path: release.md
           name: v${{ steps.info.outputs.version }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/scorecards.yml 
new/coredns-1.11.3/.github/workflows/scorecards.yml
--- old/coredns-1.11.1/.github/workflows/scorecards.yml 2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/scorecards.yml 2024-07-02 
14:08:56.000000000 +0200
@@ -28,7 +28,7 @@
           persist-credentials: false
 
       - name: "Run analysis"
-        uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736
+        uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534
         with:
           results_file: results.sarif
           results_format: sarif
@@ -43,7 +43,7 @@
 
       # Upload the results as artifacts (optional).
       - name: "Upload artifact"
-        uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
+        uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808
         with:
           name: SARIF file
           path: results.sarif
@@ -51,6 +51,6 @@
 
       # Upload the results to GitHub's code scanning dashboard.
       - name: "Upload to code-scanning"
-        uses: 
github/codeql-action/upload-sarif@1c270d01c75cd8a40d572ee225b0e4736a839e28
+        uses: 
github/codeql-action/upload-sarif@ee4ad8b9d64b235782063b8cfff3942401b8033d
         with:
           sarif_file: results.sarif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/trivy-scan.yaml 
new/coredns-1.11.3/.github/workflows/trivy-scan.yaml
--- old/coredns-1.11.1/.github/workflows/trivy-scan.yaml        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/trivy-scan.yaml        2024-07-02 
14:08:56.000000000 +0200
@@ -20,7 +20,7 @@
       - name: Checkout code
         uses: actions/checkout@v4
       - name: Run Trivy vulnerability scanner
-        uses: 
aquasecurity/trivy-action@d710430a6722f083d3b36b8339ff66b32f22ee55  # master
+        uses: 
aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2  # master
         with:
           image-ref: 'docker.io/coredns/coredns:${{ matrix.versions }}'
           severity: 'CRITICAL,HIGH'
@@ -28,6 +28,6 @@
           output: 'trivy-results.sarif'
 
       - name: Upload Trivy scan results to GitHub Security tab
-        uses: 
github/codeql-action/upload-sarif@1c270d01c75cd8a40d572ee225b0e4736a839e28  # 
v2.13.4
+        uses: 
github/codeql-action/upload-sarif@ee4ad8b9d64b235782063b8cfff3942401b8033d  # 
v2.13.4
         with:
           sarif_file: 'trivy-results.sarif'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.go-version 
new/coredns-1.11.3/.go-version
--- old/coredns-1.11.1/.go-version      2024-04-09 09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.go-version      2024-07-02 14:08:56.000000000 +0200
@@ -1 +1 @@
-1.21.8
+1.21.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/coremain/version.go 
new/coredns-1.11.3/coremain/version.go
--- old/coredns-1.11.1/coremain/version.go      2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/coremain/version.go      2024-07-02 14:08:56.000000000 
+0200
@@ -2,7 +2,7 @@
 
 // Various CoreDNS constants.
 const (
-       CoreVersion = "1.11.2"
+       CoreVersion = "1.11.3"
        coreName    = "CoreDNS"
        serverType  = "dns"
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/directives_generate.go 
new/coredns-1.11.3/directives_generate.go
--- old/coredns-1.11.1/directives_generate.go   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/directives_generate.go   2024-07-02 14:08:56.000000000 
+0200
@@ -58,10 +58,22 @@
                outs += "\n"
        }
 
+       coreDnsImports := ""
+       thirdPartyImports := ""
+
        outs += "// Include all plugins.\n"
        for _, v := range mi {
-               outs += `_ "` + v + `"` + "\n"
+               if strings.HasPrefix(v, githubOrg) {
+                       coreDnsImports += `_ "` + v + `"` + "\n"
+               } else {
+                       thirdPartyImports += `_ "` + v + `"` + "\n"
+               }
+       }
+       outs += coreDnsImports
+       if thirdPartyImports != "" {
+               outs += "\n" + thirdPartyImports
        }
+
        outs += ")\n"
 
        if err := formatAndWrite(file, outs); err != nil {
@@ -107,7 +119,8 @@
 }
 
 const (
-       pluginPath   = "github.com/coredns/coredns/plugin/"
+       githubOrg    = "github.com/coredns"
+       pluginPath   = githubOrg + "/coredns/plugin/"
        pluginFile   = "plugin.cfg"
        pluginFSPath = "plugin/" // Where the plugins are located on the file 
system
        header       = "// generated by directives_generate.go; DO NOT EDIT\n\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/go.mod new/coredns-1.11.3/go.mod
--- old/coredns-1.11.1/go.mod   2024-04-09 09:53:15.000000000 +0200
+++ new/coredns-1.11.3/go.mod   2024-07-02 14:08:56.000000000 +0200
@@ -5,10 +5,10 @@
 require (
        github.com/Azure/azure-sdk-for-go v68.0.0+incompatible
        github.com/Azure/go-autorest/autorest v0.11.29
-       github.com/Azure/go-autorest/autorest/azure/auth v0.5.12
+       github.com/Azure/go-autorest/autorest/azure/auth v0.5.13
        github.com/antonmedv/expr v1.15.5
        github.com/apparentlymart/go-cidr v1.1.0
-       github.com/aws/aws-sdk-go v1.51.16
+       github.com/aws/aws-sdk-go v1.54.11
        github.com/coredns/caddy v1.1.1
        github.com/dnstap/golang-dnstap v0.4.0
        github.com/farsightsec/golang-framestream v0.3.0
@@ -16,23 +16,23 @@
        github.com/grpc-ecosystem/grpc-opentracing 
v0.0.0-20180507213350-8e809c8a8645
        github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9
        github.com/matttproud/golang_protobuf_extensions v1.0.4
-       github.com/miekg/dns v1.1.58
+       github.com/miekg/dns v1.1.59
        github.com/opentracing/opentracing-go v1.2.0
        github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0
-       github.com/openzipkin/zipkin-go v0.4.2
+       github.com/openzipkin/zipkin-go v0.4.3
        github.com/oschwald/geoip2-golang v1.9.0
-       github.com/prometheus/client_golang v1.19.0
-       github.com/prometheus/client_model v0.6.0
-       github.com/prometheus/common v0.50.0
-       github.com/quic-go/quic-go v0.42.0
-       go.etcd.io/etcd/api/v3 v3.5.12
-       go.etcd.io/etcd/client/v3 v3.5.12
-       golang.org/x/crypto v0.21.0
-       golang.org/x/sys v0.18.0
+       github.com/prometheus/client_golang v1.19.1
+       github.com/prometheus/client_model v0.6.1
+       github.com/prometheus/common v0.53.0
+       github.com/quic-go/quic-go v0.44.0
+       go.etcd.io/etcd/api/v3 v3.5.13
+       go.etcd.io/etcd/client/v3 v3.5.13
+       golang.org/x/crypto v0.23.0
+       golang.org/x/sys v0.20.0
        google.golang.org/api v0.172.0
-       google.golang.org/grpc v1.62.1
+       google.golang.org/grpc v1.63.2
        google.golang.org/protobuf v1.33.0
-       gopkg.in/DataDog/dd-trace-go.v1 v1.61.0
+       gopkg.in/DataDog/dd-trace-go.v1 v1.64.0
        k8s.io/api v0.29.3
        k8s.io/apimachinery v0.29.3
        k8s.io/client-go v0.29.3
@@ -41,20 +41,20 @@
 )
 
 require (
-       cloud.google.com/go/compute v1.23.4 // indirect
+       cloud.google.com/go/compute v1.24.0 // indirect
        cloud.google.com/go/compute/metadata v0.2.3 // indirect
        github.com/Azure/go-autorest v14.2.0+incompatible // indirect
        github.com/Azure/go-autorest/autorest/adal v0.9.22 // indirect
-       github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 // indirect
+       github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect
        github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
        github.com/Azure/go-autorest/autorest/to v0.2.0 // indirect
        github.com/Azure/go-autorest/logger v0.2.1 // indirect
        github.com/Azure/go-autorest/tracing v0.6.0 // indirect
-       github.com/DataDog/appsec-internal-go v1.4.1 // indirect
+       github.com/DataDog/appsec-internal-go v1.5.0 // indirect
        github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 // indirect
        github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 // 
indirect
        github.com/DataDog/datadog-go/v5 v5.3.0 // indirect
-       github.com/DataDog/go-libddwaf/v2 v2.3.1 // indirect
+       github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect
        github.com/DataDog/go-tuf v1.0.2-0.5.2 // indirect
        github.com/DataDog/sketches-go v1.4.2 // indirect
        github.com/Microsoft/go-winio v0.6.1 // indirect
@@ -108,7 +108,7 @@
        github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect
        github.com/spf13/pflag v1.0.5 // indirect
        github.com/tinylib/msgp v1.1.8 // indirect
-       go.etcd.io/etcd/client/pkg/v3 v3.5.12 // indirect
+       go.etcd.io/etcd/client/pkg/v3 v3.5.13 // indirect
        go.opencensus.io v0.24.0 // indirect
        go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 
// indirect
        go.opentelemetry.io/otel v1.24.0 // indirect
@@ -118,18 +118,19 @@
        go.uber.org/mock v0.4.0 // indirect
        go.uber.org/multierr v1.6.0 // indirect
        go.uber.org/zap v1.17.0 // indirect
-       golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
-       golang.org/x/mod v0.14.0 // indirect
-       golang.org/x/net v0.22.0 // indirect
+       golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
+       golang.org/x/mod v0.17.0 // indirect
+       golang.org/x/net v0.25.0 // indirect
        golang.org/x/oauth2 v0.18.0 // indirect
-       golang.org/x/term v0.18.0 // indirect
-       golang.org/x/text v0.14.0 // indirect
+       golang.org/x/sync v0.7.0 // indirect
+       golang.org/x/term v0.20.0 // indirect
+       golang.org/x/text v0.15.0 // indirect
        golang.org/x/time v0.5.0 // indirect
-       golang.org/x/tools v0.17.0 // indirect
+       golang.org/x/tools v0.21.0 // indirect
        golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
        google.golang.org/appengine v1.6.8 // indirect
        google.golang.org/genproto/googleapis/api 
v0.0.0-20240311132316-a219d84964c2 // indirect
-       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240318140521-94a12d6c2237 // indirect
+       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240415180920-8c6c420018be // indirect
        gopkg.in/inf.v0 v0.9.1 // indirect
        gopkg.in/yaml.v2 v2.4.0 // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/go.sum new/coredns-1.11.3/go.sum
--- old/coredns-1.11.1/go.sum   2024-04-09 09:53:15.000000000 +0200
+++ new/coredns-1.11.3/go.sum   2024-07-02 14:08:56.000000000 +0200
@@ -1,22 +1,22 @@
 cloud.google.com/go v0.26.0/go.mod 
h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go/compute v1.23.4 
h1:EBT9Nw4q3zyE7G45Wvv3MzolIrCJEuHys5muLY0wvAw=
-cloud.google.com/go/compute v1.23.4/go.mod 
h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI=
+cloud.google.com/go/compute v1.24.0 
h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg=
+cloud.google.com/go/compute v1.24.0/go.mod 
h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40=
 cloud.google.com/go/compute/metadata v0.2.3 
h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
 cloud.google.com/go/compute/metadata v0.2.3/go.mod 
h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
 github.com/Azure/azure-sdk-for-go v68.0.0+incompatible 
h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU=
 github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod 
h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
 github.com/Azure/go-autorest v14.2.0+incompatible 
h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
 github.com/Azure/go-autorest v14.2.0+incompatible/go.mod 
h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
-github.com/Azure/go-autorest/autorest v0.11.24/go.mod 
h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc=
+github.com/Azure/go-autorest/autorest v0.11.28/go.mod 
h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA=
 github.com/Azure/go-autorest/autorest v0.11.29 
h1:I4+HL/JDvErx2LjyzaVxllw2lRDB5/BT2Bm4g20iqYw=
 github.com/Azure/go-autorest/autorest v0.11.29/go.mod 
h1:ZtEzC4Jy2JDrZLxvWs8LrBWEBycl1hbT1eknI8MtfAs=
 github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod 
h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ=
 github.com/Azure/go-autorest/autorest/adal v0.9.22 
h1:/GblQdIudfEM3AWWZ0mrYJQSd7JS4S/Mbzh6F0ov0Xc=
 github.com/Azure/go-autorest/autorest/adal v0.9.22/go.mod 
h1:XuAbAEUv2Tta//+voMI038TrJBqjKam0me7qR+L8Cmk=
-github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 
h1:wkAZRgT/pn8HhFyzfe9UnqOjJYqlembgCTi72Bm/xKk=
-github.com/Azure/go-autorest/autorest/azure/auth v0.5.12/go.mod 
h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg=
-github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 
h1:0W/yGmFdTIT77fvdlGZ0LMISoLHFJ7Tx4U0yeB+uFs4=
-github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod 
h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg=
+github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 
h1:Ov8avRZi2vmrE2JcXw+tu5K/yB41r7xK9GZDiBF7NdM=
+github.com/Azure/go-autorest/autorest/azure/auth v0.5.13/go.mod 
h1:5BAVfWLWXihP47vYrPuBKKf4cS0bXI+KM9Qx6ETDJYo=
+github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 
h1:w77/uPk80ZET2F+AfQExZyEWtn+0Rk/uw17m9fv5Ajc=
+github.com/Azure/go-autorest/autorest/azure/cli v0.4.6/go.mod 
h1:piCfgPho7BiIDdEQ1+g4VmKyD5y+p/XtSNqE6Hc4QD0=
 github.com/Azure/go-autorest/autorest/date v0.3.0 
h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw=
 github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod 
h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74=
 github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod 
h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
@@ -29,16 +29,16 @@
 github.com/Azure/go-autorest/tracing v0.6.0 
h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo=
 github.com/Azure/go-autorest/tracing v0.6.0/go.mod 
h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU=
 github.com/BurntSushi/toml v0.3.1/go.mod 
h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/DataDog/appsec-internal-go v1.4.1 
h1:xpAS/hBo429pVh7rngquAK2DezUaJjfsX7Wd8cw0aIk=
-github.com/DataDog/appsec-internal-go v1.4.1/go.mod 
h1:rmZ+tpq5ZPKmeOUMYjWFg+q1mRd13mxZwSLBG+xa1ik=
+github.com/DataDog/appsec-internal-go v1.5.0 
h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno=
+github.com/DataDog/appsec-internal-go v1.5.0/go.mod 
h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U=
 github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 
h1:bUMSNsw1iofWiju9yc1f+kBd33E3hMJtq9GuU602Iy8=
 github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0/go.mod 
h1:HzySONXnAgSmIQfL6gOv9hWprKJkx8CicuXuUbmgWfo=
 github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 
h1:5nE6N3JSs2IG3xzMthNFhXfOaXlrsdgqmJ73lndFf8c=
 github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1/go.mod 
h1:Vc+snp0Bey4MrrJyiV2tVxxJb6BmLomPvN1RgAvjGaQ=
 github.com/DataDog/datadog-go/v5 v5.3.0 
h1:2q2qjFOb3RwAZNU+ez27ZVDwErJv5/VpbBPprz7Z+s8=
 github.com/DataDog/datadog-go/v5 v5.3.0/go.mod 
h1:XRDJk1pTc00gm+ZDiBKsjh7oOOtJfYfglVCmFb8C2+Q=
-github.com/DataDog/go-libddwaf/v2 v2.3.1 
h1:bujaT5+KnLDFQqVA5ilvVvW+evUSHow9FrTHRgUwN4A=
-github.com/DataDog/go-libddwaf/v2 v2.3.1/go.mod 
h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE=
+github.com/DataDog/go-libddwaf/v2 v2.4.2 
h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA=
+github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod 
h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE=
 github.com/DataDog/go-tuf v1.0.2-0.5.2 
h1:EeZr937eKAWPxJ26IykAdWA4A0jQXJgkhUjqEI/w7+I=
 github.com/DataDog/go-tuf v1.0.2-0.5.2/go.mod 
h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0=
 github.com/DataDog/gostackparse v0.7.0 
h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4=
@@ -52,8 +52,8 @@
 github.com/antonmedv/expr v1.15.5/go.mod 
h1:0E/6TxnOlRNp81GMzX9QfDPAmHo2Phg00y4JUv1ihsE=
 github.com/apparentlymart/go-cidr v1.1.0 
h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU=
 github.com/apparentlymart/go-cidr v1.1.0/go.mod 
h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
-github.com/aws/aws-sdk-go v1.51.16 
h1:vnWKK8KjbftEkuPX8bRj3WHsLy1uhotn0eXptpvrxJI=
-github.com/aws/aws-sdk-go v1.51.16/go.mod 
h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
+github.com/aws/aws-sdk-go v1.54.11 
h1:Zxuv/R+IVS0B66yz4uezhxH9FN9/G2nbxejYqAMFjxk=
+github.com/aws/aws-sdk-go v1.54.11/go.mod 
h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod 
h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod 
h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -197,8 +197,8 @@
 github.com/matttproud/golang_protobuf_extensions v1.0.4 
h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod 
h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/miekg/dns v1.1.31/go.mod 
h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
-github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4=
-github.com/miekg/dns v1.1.58/go.mod 
h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY=
+github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs=
+github.com/miekg/dns v1.1.59/go.mod 
h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk=
 github.com/mitchellh/go-homedir v1.1.0 
h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
 github.com/mitchellh/go-homedir v1.1.0/go.mod 
h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod 
h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -218,8 +218,8 @@
 github.com/opentracing/opentracing-go v1.2.0/go.mod 
h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
 github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 
h1:uhcF5Jd7rP9DVEL10Siffyepr6SvlKbUsjH5JpNCRi8=
 github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0/go.mod 
h1:+oCZ5GXXr7KPI/DNOQORPTq5AWHfALJj9c72b0+YsEY=
-github.com/openzipkin/zipkin-go v0.4.2 
h1:zjqfqHjUpPmB3c1GlCvvgsM1G4LkvqQbBDueDOCg/jA=
-github.com/openzipkin/zipkin-go v0.4.2/go.mod 
h1:ZeVkFjuuBiSy13y8vpSDCjMi9GoI3hPpCJSBx/EYFhY=
+github.com/openzipkin/zipkin-go v0.4.3 
h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg=
+github.com/openzipkin/zipkin-go v0.4.3/go.mod 
h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c=
 github.com/oschwald/geoip2-golang v1.9.0 
h1:uvD3O6fXAXs+usU+UGExshpdP13GAqp4GBrzN7IgKZc=
 github.com/oschwald/geoip2-golang v1.9.0/go.mod 
h1:BHK6TvDyATVQhKNbQBdrj9eAvuwOMi2zSFXizL3K81Y=
 github.com/oschwald/maxminddb-golang v1.11.0 
h1:aSXMqYR/EPNjGE8epgqwDay+P30hCBZIveY0WZbAWh0=
@@ -234,17 +234,17 @@
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 
h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v1.19.0 
h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU=
-github.com/prometheus/client_golang v1.19.0/go.mod 
h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k=
+github.com/prometheus/client_golang v1.19.1 
h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
+github.com/prometheus/client_golang v1.19.1/go.mod 
h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod 
h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.6.0 
h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos=
-github.com/prometheus/client_model v0.6.0/go.mod 
h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
-github.com/prometheus/common v0.50.0 
h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ=
-github.com/prometheus/common v0.50.0/go.mod 
h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ=
+github.com/prometheus/client_model v0.6.1 
h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
+github.com/prometheus/client_model v0.6.1/go.mod 
h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
+github.com/prometheus/common v0.53.0 
h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE=
+github.com/prometheus/common v0.53.0/go.mod 
h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
 github.com/prometheus/procfs v0.12.0 
h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
 github.com/prometheus/procfs v0.12.0/go.mod 
h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
-github.com/quic-go/quic-go v0.42.0 
h1:uSfdap0eveIl8KXnipv9K7nlwZ5IqLlYOpJ58u5utpM=
-github.com/quic-go/quic-go v0.42.0/go.mod 
h1:132kz4kL3F9vxhW3CtQJLDVwcFe5wdWeJXXijhsO57M=
+github.com/quic-go/quic-go v0.44.0 
h1:So5wOr7jyO4vzL2sd8/pD9Kesciv91zSk8BoFngItQ0=
+github.com/quic-go/quic-go v0.44.0/go.mod 
h1:z4cx/9Ny9UtGITIPzmPTXh1ULfOyWh4qGQlpnPcWmek=
 github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 
h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA=
 github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod 
h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk=
 github.com/rogpeppe/go-internal v1.10.0 
h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
@@ -276,12 +276,12 @@
 github.com/yuin/goldmark v1.2.1/go.mod 
h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod 
h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
 github.com/yuin/goldmark v1.4.13/go.mod 
h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-go.etcd.io/etcd/api/v3 v3.5.12 h1:W4sw5ZoU2Juc9gBWuLk5U6fHfNVyY1WC5g9uiXZio/c=
-go.etcd.io/etcd/api/v3 v3.5.12/go.mod 
h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4=
-go.etcd.io/etcd/client/pkg/v3 v3.5.12 
h1:EYDL6pWwyOsylrQyLp2w+HkQ46ATiOvoEdMarindU2A=
-go.etcd.io/etcd/client/pkg/v3 v3.5.12/go.mod 
h1:seTzl2d9APP8R5Y2hFL3NVlD6qC/dOT+3kvrqPyTas4=
-go.etcd.io/etcd/client/v3 v3.5.12 
h1:v5lCPXn1pf1Uu3M4laUE2hp/geOTc5uPcYYsNe1lDxg=
-go.etcd.io/etcd/client/v3 v3.5.12/go.mod 
h1:tSbBCakoWmmddL+BKVAJHa9km+O/E+bumDe9mSbPiqw=
+go.etcd.io/etcd/api/v3 v3.5.13 h1:8WXU2/NBge6AUF1K1gOexB6e07NgsN1hXK0rSTtgSp4=
+go.etcd.io/etcd/api/v3 v3.5.13/go.mod 
h1:gBqlqkcMMZMVTMm4NDZloEVJzxQOQIls8splbqBDa0c=
+go.etcd.io/etcd/client/pkg/v3 v3.5.13 
h1:RVZSAnWWWiI5IrYAXjQorajncORbS0zI48LQlE2kQWg=
+go.etcd.io/etcd/client/pkg/v3 v3.5.13/go.mod 
h1:XxHT4u1qU12E2+po+UVPrEeL94Um6zL58ppuJWXSAB8=
+go.etcd.io/etcd/client/v3 v3.5.13 
h1:o0fHTNJLeO0MyVbc7I3fsCf6nrOqn5d+diSarKnB2js=
+go.etcd.io/etcd/client/v3 v3.5.13/go.mod 
h1:cqiAeY8b5DEEcpxvgWKsbLIWNM/8Wy2xJSDMtioMcoI=
 go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 
h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk=
@@ -296,6 +296,8 @@
 go.uber.org/atomic v1.9.0/go.mod 
h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
 go.uber.org/atomic v1.11.0/go.mod 
h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
+go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
+go.uber.org/goleak v1.3.0/go.mod 
h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
 go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
 go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
 go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
@@ -306,14 +308,14 @@
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod 
h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.6.0/go.mod 
h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
-golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
-golang.org/x/crypto v0.21.0/go.mod 
h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
+golang.org/x/crypto v0.17.0/go.mod 
h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
+golang.org/x/crypto v0.23.0/go.mod 
h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29 
h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod 
h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 
h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM=
+golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod 
h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod 
h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod 
h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod 
h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
@@ -323,8 +325,9 @@
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
-golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
+golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -341,8 +344,9 @@
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
-golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
+golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
 golang.org/x/oauth2 v0.18.0/go.mod 
h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
@@ -355,8 +359,8 @@
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
-golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
+golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -374,14 +378,18 @@
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
-golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
+golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
-golang.org/x/term v0.18.0/go.mod 
h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
+golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.15.0/go.mod 
h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
+golang.org/x/term v0.20.0/go.mod 
h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -389,8 +397,10 @@
 golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
 golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
+golang.org/x/text v0.15.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
 golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -405,8 +415,9 @@
 golang.org/x/tools v0.1.1/go.mod 
h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/tools v0.4.0/go.mod 
h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
-golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc=
-golang.org/x/tools v0.17.0/go.mod 
h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
+golang.org/x/tools v0.6.0/go.mod 
h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
+golang.org/x/tools v0.21.0/go.mod 
h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -424,15 +435,15 @@
 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod 
h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
 google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2 
h1:rIo7ocm2roD9DcFIX67Ym8icoGCKSARAiPljFhh5suQ=
 google.golang.org/genproto/googleapis/api 
v0.0.0-20240311132316-a219d84964c2/go.mod 
h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 
h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
-google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240318140521-94a12d6c2237/go.mod 
h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be 
h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A=
+google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240415180920-8c6c420018be/go.mod 
h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
 google.golang.org/grpc v1.19.0/go.mod 
h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod 
h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod 
h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
 google.golang.org/grpc v1.27.0/go.mod 
h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
 google.golang.org/grpc v1.33.2/go.mod 
h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk=
-google.golang.org/grpc v1.62.1/go.mod 
h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
+google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
+google.golang.org/grpc v1.63.2/go.mod 
h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod 
h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod 
h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod 
h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -447,8 +458,8 @@
 google.golang.org/protobuf v1.28.0/go.mod 
h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.33.0 
h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
 google.golang.org/protobuf v1.33.0/go.mod 
h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
-gopkg.in/DataDog/dd-trace-go.v1 v1.61.0 
h1:XKO91GwTjpIRhd56Xif/BZ2YgHkQufVTOvtkbRYSPi8=
-gopkg.in/DataDog/dd-trace-go.v1 v1.61.0/go.mod 
h1:NHKX1t9eKmajySb6H+zLdgZizCFzbt5iKvrTyxEyy8w=
+gopkg.in/DataDog/dd-trace-go.v1 v1.64.0 
h1:zXQo6iv+dKRrDBxMXjRXLSKN2lY9uM34XFI4nPyp0eA=
+gopkg.in/DataDog/dd-trace-go.v1 v1.64.0/go.mod 
h1:qzwVu8Qr8CqzQNw2oKEXRdD+fMnjYatjYMGE0tdCVG4=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod 
h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/notes/coredns-1.11.3.md 
new/coredns-1.11.3/notes/coredns-1.11.3.md
--- old/coredns-1.11.1/notes/coredns-1.11.3.md  1970-01-01 01:00:00.000000000 
+0100
+++ new/coredns-1.11.3/notes/coredns-1.11.3.md  2024-07-02 14:08:56.000000000 
+0200
@@ -0,0 +1,59 @@
++++
+title = "CoreDNS-1.11.3 Release"
+description = "CoreDNS-1.11.3 Release Notes."
+tags = ["Release", "1.11.3", "Notes"]
+release = "1.11.3"
+date = "2024-04-24T16:57:00-04:00
+author = "coredns"
++++
+
+This release contains some new features, bug fixes, and package updates. 
Because of the deployment issues with the previous release, all changed 
features from 1.11.2 have been included in this release.
+New features include:
+* When the _forward_ plugin receives a malformed upstream response that 
overflows,
+  it will now send an empty response to the client with the truncated (TC) bit 
set to prompt the client
+  to retry over TCP.
+* The _rewrite_ plugin can now rewrite response codes.
+* The _dnstap_ plugin now supports adding metadata to the dnstap `extra` field.
+
+## Brought to You By
+
+Amila Senadheera,
+Ben Kochie,
+Benjamin,
+Chris O'Haver,
+Grant Spence,
+John Belamaric,
+Keita Kitamura,
+Marius Kimmina,
+Michael Grosser,
+Ondřej Benkovský,
+P. Radha Krishna,
+Rahil Bhimjiani,
+Sri Harsha,
+Tom Thorogood,
+Willow (GHOST),
+Yong Tang,
+Yuheng,
+Zhizhen He,
+guangwu,
+journey-c,
+pschou
+Ted Ford
+
+## Noteworthy Changes
+
+* plugin/tls: respect the path specified by root plugin 
(https://github.com/coredns/coredns/pull/6138)
+* plugin/auto: warn when auto is unable to read elements of the directory tree 
(https://github.com/coredns/coredns/pull/6333)
+* plugin/etcd: the etcd client adds the DialKeepAliveTime parameter 
(https://github.com/coredns/coredns/pull/6351)
+* plugin/cache: key cache on Checking Disabled (CD) bit 
(https://github.com/coredns/coredns/pull/6354)
+* plugin/forward: Use the correct root domain name in the forward plugin's 
health checks (https://github.com/coredns/coredns/pull/6395)
+* plugin/forward: Handle UDP responses that overflow with TC bit 
(https://github.com/coredns/coredns/pull/6277)
+* plugin/rewrite: fix multi request concurrency issue in cname rewrite 
(https://github.com/coredns/coredns/pull/6407)
+* plugin/rewrite: add rcode as a rewrite option 
(https://github.com/coredns/coredns/pull/6204)
+* plugin/dnstap: add support for "extra" field in payload 
(https://github.com/coredns/coredns/pull/6226)
+* plugin/cache: fix keepttl parsing 
(https://github.com/coredns/coredns/pull/6250)
+* Return RcodeServerFailure when DNS64 has no next plugin 
(https://github.com/coredns/coredns/pull/6590)
+* Change the log flags to be a variable that can be set 
(https://github.com/coredns/coredns/pull/6546)
+* Bump go version to 1.21 (https://github.com/coredns/coredns/pull/6533)
+* replace the mutex locks in logging with atomic bool for the "on" flag 
(https://github.com/coredns/coredns/pull/6525)
+* Enable Prometheus native histograms 
(https://github.com/coredns/coredns/pull/6524)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/autopath/README.md 
new/coredns-1.11.3/plugin/autopath/README.md
--- old/coredns-1.11.1/plugin/autopath/README.md        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/plugin/autopath/README.md        2024-07-02 
14:08:56.000000000 +0200
@@ -57,7 +57,7 @@
 the namespace of the a Pod making a DNS request. To do this, it relies on the 
*kubernetes* plugin's
 Pod cache to resolve the client's IP address to a Pod. The Pod cache is 
maintained by an API watch
 on Pods. When Pod IP assignments change, the Kubernetes API notifies CoreDNS 
via the API watch.
-However, that notification is not instantaneous. In the case that a Pod is 
deleted, and it's IP is
+However, that notification is not instantaneous. In the case that a Pod is 
deleted, and its IP is
 immediately provisioned to a Pod in another namespace, and that new Pod make a 
DNS lookup *before*
 the API watch can notify CoreDNS of the change, *autopath* will resolve the IP 
to the previous Pod's
 namespace.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/dnstap/handler.go 
new/coredns-1.11.3/plugin/dnstap/handler.go
--- old/coredns-1.11.1/plugin/dnstap/handler.go 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/dnstap/handler.go 2024-07-02 14:08:56.000000000 
+0200
@@ -27,7 +27,7 @@
 }
 
 // TapMessage sends the message m to the dnstap interface, without populating 
"Extra" field.
-func (h Dnstap) TapMessage(m *tap.Message) {
+func (h *Dnstap) TapMessage(m *tap.Message) {
        if h.ExtraFormat == "" {
                h.tapWithExtra(m, nil)
        } else {
@@ -36,7 +36,7 @@
 }
 
 // TapMessageWithMetadata sends the message m to the dnstap interface, with 
"Extra" field being populated.
-func (h Dnstap) TapMessageWithMetadata(ctx context.Context, m *tap.Message, 
state request.Request) {
+func (h *Dnstap) TapMessageWithMetadata(ctx context.Context, m *tap.Message, 
state request.Request) {
        if h.ExtraFormat == "" {
                h.tapWithExtra(m, nil)
                return
@@ -45,12 +45,12 @@
        h.tapWithExtra(m, []byte(extraStr))
 }
 
-func (h Dnstap) tapWithExtra(m *tap.Message, extra []byte) {
+func (h *Dnstap) tapWithExtra(m *tap.Message, extra []byte) {
        t := tap.Dnstap_MESSAGE
        h.io.Dnstap(&tap.Dnstap{Type: &t, Message: m, Identity: h.Identity, 
Version: h.Version, Extra: extra})
 }
 
-func (h Dnstap) tapQuery(ctx context.Context, w dns.ResponseWriter, query 
*dns.Msg, queryTime time.Time) {
+func (h *Dnstap) tapQuery(ctx context.Context, w dns.ResponseWriter, query 
*dns.Msg, queryTime time.Time) {
        q := new(tap.Message)
        msg.SetQueryTime(q, queryTime)
        msg.SetQueryAddress(q, w.RemoteAddr())
@@ -65,7 +65,7 @@
 }
 
 // ServeDNS logs the client query and response to dnstap and passes the dnstap 
Context.
-func (h Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r 
*dns.Msg) (int, error) {
+func (h *Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r 
*dns.Msg) (int, error) {
        rw := &ResponseWriter{
                ResponseWriter: w,
                Dnstap:         h,
@@ -82,4 +82,4 @@
 }
 
 // Name implements the plugin.Plugin interface.
-func (h Dnstap) Name() string { return "dnstap" }
+func (h *Dnstap) Name() string { return "dnstap" }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/dnstap/writer.go 
new/coredns-1.11.3/plugin/dnstap/writer.go
--- old/coredns-1.11.1/plugin/dnstap/writer.go  2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/dnstap/writer.go  2024-07-02 14:08:56.000000000 
+0200
@@ -17,7 +17,7 @@
        query     *dns.Msg
        ctx       context.Context
        dns.ResponseWriter
-       Dnstap
+       *Dnstap
 }
 
 // WriteMsg writes back the response to the client and THEN works on logging 
the request and response to dnstap.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/etcd/handler.go 
new/coredns-1.11.3/plugin/etcd/handler.go
--- old/coredns-1.11.1/plugin/etcd/handler.go   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/etcd/handler.go   2024-07-02 14:08:56.000000000 
+0200
@@ -71,8 +71,8 @@
        m.SetReply(r)
        m.Truncated = truncated
        m.Authoritative = true
-       m.Answer = append(m.Answer, records...)
-       m.Extra = append(m.Extra, extra...)
+       m.Answer = records
+       m.Extra = extra
 
        w.WriteMsg(m)
        return dns.RcodeSuccess, nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/file/file.go 
new/coredns-1.11.3/plugin/file/file.go
--- old/coredns-1.11.1/plugin/file/file.go      2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/file/file.go      2024-07-02 14:08:56.000000000 
+0200
@@ -136,10 +136,6 @@
        z := NewZone(origin, fileName)
        seenSOA := false
        for rr, ok := zp.Next(); ok; rr, ok = zp.Next() {
-               if err := zp.Err(); err != nil {
-                       return nil, err
-               }
-
                if !seenSOA {
                        if s, ok := rr.(*dns.SOA); ok {
                                seenSOA = true
@@ -159,6 +155,13 @@
        if !seenSOA {
                return nil, fmt.Errorf("file %q has no SOA record for origin 
%s", fileName, origin)
        }
+       if zp.Err() != nil {
+               return nil, fmt.Errorf("failed to parse file %q for origin %s 
with error %v", fileName, origin, zp.Err())
+       }
+
+       if err := zp.Err(); err != nil {
+               return nil, err
+       }
 
        return z, nil
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/file/file_test.go 
new/coredns-1.11.3/plugin/file/file_test.go
--- old/coredns-1.11.1/plugin/file/file_test.go 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/file/file_test.go 2024-07-02 14:08:56.000000000 
+0200
@@ -29,3 +29,31 @@
 mail         IN  A      192.168.0.15
 imap         IN  CNAME  mail
 `
+
+func TestParseSyntaxError(t *testing.T) {
+       _, err := Parse(strings.NewReader(dbSyntaxError), "example.org.", 
"stdin", 0)
+       if err == nil {
+               t.Fatalf("Zone %q should have failed to load", "example.org.")
+       }
+       if !strings.Contains(err.Error(), "\"invalid\"") {
+               t.Fatalf("Zone %q should have failed with syntax error: %s", 
"example.org.", err)
+       }
+}
+
+const dbSyntaxError = `
+$TTL         1M
+$ORIGIN      example.org.
+
+@            IN  SOA    ns1.example.com. admin.example.com.  (
+                               2005011437 ; Serial
+                               1200       ; Refresh
+                               144        ; Retry
+                               1814400    ; Expire
+                               2h )       ; Minimum
+@            IN  NS     ns1.example.com.
+
+# invalid comment
+www          IN  A      192.168.0.14
+mail         IN  A      192.168.0.15
+imap         IN  CNAME  mail
+`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/README.md 
new/coredns-1.11.3/plugin/forward/README.md
--- old/coredns-1.11.1/plugin/forward/README.md 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/forward/README.md 2024-07-02 14:08:56.000000000 
+0200
@@ -50,6 +50,7 @@
     policy random|round_robin|sequential
     health_check DURATION [no_rec] [domain FQDN]
     max_concurrent MAX
+    next RCODE_1 [RCODE_2] [RCODE_3...]
 }
 ~~~
 
@@ -95,6 +96,7 @@
   response does not count as a health failure. When choosing a value for 
**MAX**, pick a number
   at least greater than the expected *upstream query rate* * *latency* of the 
upstream servers.
   As an upper bound for **MAX**, consider that each concurrent query will use 
about 2kb of memory.
+* `next` If the `RCODE` (i.e. `NXDOMAIN`) is returned by the remote then 
execute the next plugin. If no next plugin is defined, or the next plugin is 
not a `forward` plugin, this setting is ignored
 
 Also note the TLS config is "global" for the whole forwarding proxy if you 
need a different
 `tls_servername` for different upstreams you're out of luck.
@@ -268,6 +270,21 @@
 }
 ~~~
 
+The following would try 1.2.3.4 first. If the response is `NXDOMAIN`, try 
5.6.7.8. If the response from 5.6.7.8 is `NXDOMAIN`, try 9.0.1.2.
+
+~~~ corefile
+. {
+  forward . 1.2.3.4 {
+    next NXDOMAIN
+  }
+  forward . 5.6.7.8 {
+    next NXDOMAIN
+  }
+  forward . 9.0.1.2 {
+  }
+}
+~~~
+
 ## See Also
 
 [RFC 7858](https://tools.ietf.org/html/rfc7858) for DNS over TLS.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/forward.go 
new/coredns-1.11.3/plugin/forward/forward.go
--- old/coredns-1.11.1/plugin/forward/forward.go        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/plugin/forward/forward.go        2024-07-02 
14:08:56.000000000 +0200
@@ -43,6 +43,8 @@
        from    string
        ignored []string
 
+       nextAlternateRcodes []int
+
        tlsConfig     *tls.Config
        tlsServerName string
        maxfails      uint32
@@ -194,6 +196,15 @@
                        return 0, nil
                }
 
+               // Check if we have an alternate Rcode defined, check if we 
match on the code
+               for _, alternateRcode := range f.nextAlternateRcodes {
+                       if alternateRcode == ret.Rcode && f.Next != nil { // In 
case we do not have a Next handler, just continue normally
+                               if _, ok := f.Next.(*Forward); ok { // Only 
continue if the next forwarder is also a Forworder
+                                       return plugin.NextOrFailure(f.Name(), 
f.Next, ctx, w, r)
+                               }
+                       }
+               }
+
                w.WriteMsg(ret)
                return 0, nil
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/setup.go 
new/coredns-1.11.3/plugin/forward/setup.go
--- old/coredns-1.11.1/plugin/forward/setup.go  2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/forward/setup.go  2024-07-02 14:08:56.000000000 
+0200
@@ -6,6 +6,7 @@
        "fmt"
        "path/filepath"
        "strconv"
+       "strings"
        "time"
 
        "github.com/coredns/caddy"
@@ -289,7 +290,22 @@
                }
                f.ErrLimitExceeded = errors.New("concurrent queries exceeded 
maximum " + c.Val())
                f.maxConcurrent = int64(n)
+       case "next":
+               args := c.RemainingArgs()
+               if len(args) == 0 {
+                       return c.ArgErr()
+               }
+
+               for _, rcode := range args {
+                       var rc int
+                       var ok bool
 
+                       if rc, ok = dns.StringToRcode[strings.ToUpper(rcode)]; 
!ok {
+                               return fmt.Errorf("%s is not a valid rcode", 
rcode)
+                       }
+
+                       f.nextAlternateRcodes = append(f.nextAlternateRcodes, 
rc)
+               }
        default:
                return c.Errf("unknown property '%s'", c.Val())
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/setup_test.go 
new/coredns-1.11.3/plugin/forward/setup_test.go
--- old/coredns-1.11.1/plugin/forward/setup_test.go     2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/plugin/forward/setup_test.go     2024-07-02 
14:08:56.000000000 +0200
@@ -143,6 +143,13 @@
        }
        defer os.Remove(resolv)
 
+       const resolvIPV6 = "resolv-ipv6.conf"
+       if err := os.WriteFile(resolvIPV6,
+               []byte(`nameserver 
0388:d254:7aec:6892:9f7f:e93b:5806:1b0f%en0`), 0666); err != nil {
+               t.Fatalf("Failed to write %v file: %s", resolvIPV6, err)
+       }
+       defer os.Remove(resolvIPV6)
+
        tests := []struct {
                input         string
                shouldErr     bool
@@ -153,6 +160,8 @@
                {`forward . ` + resolv, false, "", []string{"10.10.255.252:53", 
"10.10.255.253:53"}},
                // fail
                {`forward . /dev/null`, true, "no nameservers", nil},
+               // IPV6 with local zone
+               {`forward . ` + resolvIPV6, false, "", 
[]string{"[0388:d254:7aec:6892:9f7f:e93b:5806:1b0f]:53"}},
        }
 
        for i, test := range tests {
@@ -333,3 +342,43 @@
                t.Error("expected third plugin to be last, but Next is not nil")
        }
 }
+func TestNextAlternate(t *testing.T) {
+       testsValid := []struct {
+               input    string
+               expected []int
+       }{
+               {"forward . 127.0.0.1 {\nnext NXDOMAIN\n}\n", 
[]int{dns.RcodeNameError}},
+               {"forward . 127.0.0.1 {\nnext SERVFAIL\n}\n", 
[]int{dns.RcodeServerFailure}},
+               {"forward . 127.0.0.1 {\nnext NXDOMAIN SERVFAIL\n}\n", 
[]int{dns.RcodeNameError, dns.RcodeServerFailure}},
+               {"forward . 127.0.0.1 {\nnext NXDOMAIN SERVFAIL REFUSED\n}\n", 
[]int{dns.RcodeNameError, dns.RcodeServerFailure, dns.RcodeRefused}},
+       }
+       for i, test := range testsValid {
+               c := caddy.NewTestController("dns", test.input)
+               f, err := parseForward(c)
+               forward := f[0]
+               if err != nil {
+                       t.Errorf("Test %d: %v", i, err)
+               }
+               if len(forward.nextAlternateRcodes) != len(test.expected) {
+                       t.Errorf("Test %d: expected %d next rcodes, got %d", i, 
len(test.expected), len(forward.nextAlternateRcodes))
+               }
+               for j, rcode := range forward.nextAlternateRcodes {
+                       if rcode != test.expected[j] {
+                               t.Errorf("Test %d: expected next rcode %d, got 
%d", i, test.expected[j], rcode)
+                       }
+               }
+       }
+
+       testsInvalid := []string{
+               "forward . 127.0.0.1 {\nnext\n}\n",
+               "forward . 127.0.0.1 {\nnext INVALID\n}\n",
+               "forward . 127.0.0.1 {\nnext NXDOMAIN INVALID\n}\n",
+       }
+       for i, test := range testsInvalid {
+               c := caddy.NewTestController("dns", test)
+               _, err := parseForward(c)
+               if err == nil {
+                       t.Errorf("Test %d: expected error, got nil", i)
+               }
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/pkg/parse/host.go 
new/coredns-1.11.3/plugin/pkg/parse/host.go
--- old/coredns-1.11.1/plugin/pkg/parse/host.go 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/pkg/parse/host.go 2024-07-02 14:08:56.000000000 
+0200
@@ -99,7 +99,7 @@
 
        servers := []string{}
        for _, s := range c.Servers {
-               servers = append(servers, net.JoinHostPort(s, c.Port))
+               servers = append(servers, net.JoinHostPort(stripZone(s), 
c.Port))
        }
        return servers, nil
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/sign/file.go 
new/coredns-1.11.3/plugin/sign/file.go
--- old/coredns-1.11.1/plugin/sign/file.go      2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/sign/file.go      2024-07-02 14:08:56.000000000 
+0200
@@ -66,10 +66,6 @@
        seenSOA := false
 
        for rr, ok := zp.Next(); ok; rr, ok = zp.Next() {
-               if err := zp.Err(); err != nil {
-                       return nil, err
-               }
-
                switch rr.(type) {
                case *dns.DNSKEY, *dns.RRSIG, *dns.CDNSKEY, *dns.CDS:
                        continue
@@ -88,5 +84,9 @@
                return nil, fmt.Errorf("file %q has no SOA record", fileName)
        }
 
+       if err := zp.Err(); err != nil {
+               return nil, err
+       }
+
        return z, nil
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/sign/signer.go 
new/coredns-1.11.3/plugin/sign/signer.go
--- old/coredns-1.11.1/plugin/sign/signer.go    2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/sign/signer.go    2024-07-02 14:08:56.000000000 
+0200
@@ -133,10 +133,6 @@
        i := 0
 
        for rr, ok := zp.Next(); ok; rr, ok = zp.Next() {
-               if err := zp.Err(); err != nil {
-                       return err
-               }
-
                switch x := rr.(type) {
                case *dns.RRSIG:
                        if x.TypeCovered != dns.TypeSOA {
@@ -166,7 +162,7 @@
                }
        }
 
-       return nil
+       return zp.Err()
 }
 
 func signAndLog(s *Signer, why error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/test/corefile_test.go 
new/coredns-1.11.3/test/corefile_test.go
--- old/coredns-1.11.1/test/corefile_test.go    2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/test/corefile_test.go    2024-07-02 14:08:56.000000000 
+0200
@@ -5,13 +5,16 @@
 )
 
 func TestCorefile1(t *testing.T) {
-       corefile := `ȶ
+       defer func() {
+               if r := recover(); r != nil {
+                       t.Fatalf("Expected no panic, but got %v", r)
+               }
+       }()
+
+       // this used to crash
+       corefile := `\\\\ȶ.
 acl
 `
-       // this crashed, now it should return an error.
-       i, _, _, err := CoreDNSServerAndPorts(corefile)
-       if err == nil {
-               defer i.Stop()
-               t.Fatalf("Expected an error got none")
-       }
+       i, _, _, _ := CoreDNSServerAndPorts(corefile)
+       defer i.Stop()
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/test/presubmit_test.go 
new/coredns-1.11.3/test/presubmit_test.go
--- old/coredns-1.11.1/test/presubmit_test.go   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/test/presubmit_test.go   2024-07-02 14:08:56.000000000 
+0200
@@ -308,7 +308,7 @@
        return "std"
 }
 
-// TestMetricNaming tests the imports path used for metrics. It depends on 
faillint to be installed: go install github.com/fatih/faillint
+// TestPrometheusImports tests the imports path used for metrics. It depends 
on faillint to be installed: go install github.com/fatih/faillint
 func TestPrometheusImports(t *testing.T) {
        if _, err := exec.LookPath("faillint"); err != nil {
                fmt.Fprintf(os.Stderr, "Not executing TestPrometheusImports: 
faillint not found\n")

++++++ coredns-1.11.1.tar.gz -> coredns-1.11.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/dependabot.yml 
new/coredns-1.11.3/.github/dependabot.yml
--- old/coredns-1.11.1/.github/dependabot.yml   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/.github/dependabot.yml   2024-07-02 14:08:56.000000000 
+0200
@@ -5,6 +5,13 @@
     directory: "/"
     schedule:
       interval: "weekly"
+    groups:
+      k8s.io:
+        patterns:
+          - "k8s.io/*"
+      go.etcd.io:
+        patterns:
+          - "go.etcd.io/etcd/*"
 
   - package-ecosystem: "github-actions"
     directory: "/"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/cifuzz.yml 
new/coredns-1.11.3/.github/workflows/cifuzz.yml
--- old/coredns-1.11.1/.github/workflows/cifuzz.yml     2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/cifuzz.yml     2024-07-02 
14:08:56.000000000 +0200
@@ -20,7 +20,7 @@
           fuzz-seconds: 600
           dry-run: false
       - name: Upload Crash
-        uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
+        uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808
         if: failure() && steps.build.outcome == 'success'
         with:
           name: artifacts
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/codeql-analysis.yml 
new/coredns-1.11.3/.github/workflows/codeql-analysis.yml
--- old/coredns-1.11.1/.github/workflows/codeql-analysis.yml    2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/codeql-analysis.yml    2024-07-02 
14:08:56.000000000 +0200
@@ -30,12 +30,12 @@
         uses: actions/checkout@v4
 
       - name: Initialize CodeQL
-        uses: github/codeql-action/init@v3.24.10
+        uses: github/codeql-action/init@v3.25.11
         with:
           languages: ${{ matrix.language }}
 
       - name: Autobuild
-        uses: github/codeql-action/autobuild@v3.24.10
+        uses: github/codeql-action/autobuild@v3.25.11
 
       - name: Perform CodeQL Analysis
-        uses: github/codeql-action/analyze@v3.24.10
+        uses: github/codeql-action/analyze@v3.25.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/depsreview.yml 
new/coredns-1.11.3/.github/workflows/depsreview.yml
--- old/coredns-1.11.1/.github/workflows/depsreview.yml 2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/depsreview.yml 2024-07-02 
14:08:56.000000000 +0200
@@ -11,4 +11,4 @@
       - name: 'Checkout Repository'
         uses: actions/checkout@v4
       - name: 'Dependency Review'
-        uses: 
actions/dependency-review-action@5bbc3ba658137598168acb2ab73b21c432dd411b
+        uses: 
actions/dependency-review-action@72eb03d02c7872a771aacd928f3123ac62ad6d3a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/docker.yml 
new/coredns-1.11.3/.github/workflows/docker.yml
--- old/coredns-1.11.1/.github/workflows/docker.yml     2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/docker.yml     2024-07-02 
14:08:56.000000000 +0200
@@ -26,7 +26,7 @@
       - name: Show Docker Images
         run: docker images
       - name: Docker login
-        uses: docker/login-action@e92390c5fb421da1463c202d546fed0ec5c39f20  # 
v3.1.0
+        uses: docker/login-action@0d4c9c5ea7693da7b068278f7b52bda2a190a446  # 
v3.2.0
         with:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
           password: ${{ secrets.DOCKERHUB_PASSWORD }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/go.coverage.yml 
new/coredns-1.11.3/.github/workflows/go.coverage.yml
--- old/coredns-1.11.1/.github/workflows/go.coverage.yml        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/go.coverage.yml        2024-07-02 
14:08:56.000000000 +0200
@@ -31,4 +31,4 @@
           done
 
       - name: Upload coverage to Codecov
-        uses: codecov/codecov-action@7afa10ed9b269c561c2336fd862446844e0cbf71
+        uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/golangci-lint.yml 
new/coredns-1.11.3/.github/workflows/golangci-lint.yml
--- old/coredns-1.11.1/.github/workflows/golangci-lint.yml      2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/golangci-lint.yml      2024-07-02 
14:08:56.000000000 +0200
@@ -13,6 +13,6 @@
         with:
           go-version: ${{ env.GO_VERSION }}
       - name: golangci-lint
-        uses: golangci/golangci-lint-action@v4.0.0
+        uses: golangci/golangci-lint-action@v6.0.1
         with:
           version: v1.55.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/release.yml 
new/coredns-1.11.3/.github/workflows/release.yml
--- old/coredns-1.11.1/.github/workflows/release.yml    2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/release.yml    2024-07-02 
14:08:56.000000000 +0200
@@ -45,7 +45,7 @@
           cat release.md
           sha256sum release/*.tgz
       - name: Draft release
-        uses: 
softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564
+        uses: 
softprops/action-gh-release@a74c6b72af54cfa997e81df42d94703d6313a2d0
         with:
           body_path: release.md
           name: v${{ steps.info.outputs.version }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/scorecards.yml 
new/coredns-1.11.3/.github/workflows/scorecards.yml
--- old/coredns-1.11.1/.github/workflows/scorecards.yml 2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/scorecards.yml 2024-07-02 
14:08:56.000000000 +0200
@@ -28,7 +28,7 @@
           persist-credentials: false
 
       - name: "Run analysis"
-        uses: ossf/scorecard-action@0864cf19026789058feabb7e87baa5f140aac736
+        uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534
         with:
           results_file: results.sarif
           results_format: sarif
@@ -43,7 +43,7 @@
 
       # Upload the results as artifacts (optional).
       - name: "Upload artifact"
-        uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3
+        uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808
         with:
           name: SARIF file
           path: results.sarif
@@ -51,6 +51,6 @@
 
       # Upload the results to GitHub's code scanning dashboard.
       - name: "Upload to code-scanning"
-        uses: 
github/codeql-action/upload-sarif@1c270d01c75cd8a40d572ee225b0e4736a839e28
+        uses: 
github/codeql-action/upload-sarif@ee4ad8b9d64b235782063b8cfff3942401b8033d
         with:
           sarif_file: results.sarif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.github/workflows/trivy-scan.yaml 
new/coredns-1.11.3/.github/workflows/trivy-scan.yaml
--- old/coredns-1.11.1/.github/workflows/trivy-scan.yaml        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.github/workflows/trivy-scan.yaml        2024-07-02 
14:08:56.000000000 +0200
@@ -20,7 +20,7 @@
       - name: Checkout code
         uses: actions/checkout@v4
       - name: Run Trivy vulnerability scanner
-        uses: 
aquasecurity/trivy-action@d710430a6722f083d3b36b8339ff66b32f22ee55  # master
+        uses: 
aquasecurity/trivy-action@7c2007bcb556501da015201bcba5aa14069b74e2  # master
         with:
           image-ref: 'docker.io/coredns/coredns:${{ matrix.versions }}'
           severity: 'CRITICAL,HIGH'
@@ -28,6 +28,6 @@
           output: 'trivy-results.sarif'
 
       - name: Upload Trivy scan results to GitHub Security tab
-        uses: 
github/codeql-action/upload-sarif@1c270d01c75cd8a40d572ee225b0e4736a839e28  # 
v2.13.4
+        uses: 
github/codeql-action/upload-sarif@ee4ad8b9d64b235782063b8cfff3942401b8033d  # 
v2.13.4
         with:
           sarif_file: 'trivy-results.sarif'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/.go-version 
new/coredns-1.11.3/.go-version
--- old/coredns-1.11.1/.go-version      2024-04-09 09:53:15.000000000 +0200
+++ new/coredns-1.11.3/.go-version      2024-07-02 14:08:56.000000000 +0200
@@ -1 +1 @@
-1.21.8
+1.21.11
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/coremain/version.go 
new/coredns-1.11.3/coremain/version.go
--- old/coredns-1.11.1/coremain/version.go      2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/coremain/version.go      2024-07-02 14:08:56.000000000 
+0200
@@ -2,7 +2,7 @@
 
 // Various CoreDNS constants.
 const (
-       CoreVersion = "1.11.2"
+       CoreVersion = "1.11.3"
        coreName    = "CoreDNS"
        serverType  = "dns"
 )
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/directives_generate.go 
new/coredns-1.11.3/directives_generate.go
--- old/coredns-1.11.1/directives_generate.go   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/directives_generate.go   2024-07-02 14:08:56.000000000 
+0200
@@ -58,10 +58,22 @@
                outs += "\n"
        }
 
+       coreDnsImports := ""
+       thirdPartyImports := ""
+
        outs += "// Include all plugins.\n"
        for _, v := range mi {
-               outs += `_ "` + v + `"` + "\n"
+               if strings.HasPrefix(v, githubOrg) {
+                       coreDnsImports += `_ "` + v + `"` + "\n"
+               } else {
+                       thirdPartyImports += `_ "` + v + `"` + "\n"
+               }
+       }
+       outs += coreDnsImports
+       if thirdPartyImports != "" {
+               outs += "\n" + thirdPartyImports
        }
+
        outs += ")\n"
 
        if err := formatAndWrite(file, outs); err != nil {
@@ -107,7 +119,8 @@
 }
 
 const (
-       pluginPath   = "github.com/coredns/coredns/plugin/"
+       githubOrg    = "github.com/coredns"
+       pluginPath   = githubOrg + "/coredns/plugin/"
        pluginFile   = "plugin.cfg"
        pluginFSPath = "plugin/" // Where the plugins are located on the file 
system
        header       = "// generated by directives_generate.go; DO NOT EDIT\n\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/go.mod new/coredns-1.11.3/go.mod
--- old/coredns-1.11.1/go.mod   2024-04-09 09:53:15.000000000 +0200
+++ new/coredns-1.11.3/go.mod   2024-07-02 14:08:56.000000000 +0200
@@ -5,10 +5,10 @@
 require (
        github.com/Azure/azure-sdk-for-go v68.0.0+incompatible
        github.com/Azure/go-autorest/autorest v0.11.29
-       github.com/Azure/go-autorest/autorest/azure/auth v0.5.12
+       github.com/Azure/go-autorest/autorest/azure/auth v0.5.13
        github.com/antonmedv/expr v1.15.5
        github.com/apparentlymart/go-cidr v1.1.0
-       github.com/aws/aws-sdk-go v1.51.16
+       github.com/aws/aws-sdk-go v1.54.11
        github.com/coredns/caddy v1.1.1
        github.com/dnstap/golang-dnstap v0.4.0
        github.com/farsightsec/golang-framestream v0.3.0
@@ -16,23 +16,23 @@
        github.com/grpc-ecosystem/grpc-opentracing 
v0.0.0-20180507213350-8e809c8a8645
        github.com/infobloxopen/go-trees v0.0.0-20200715205103-96a057b8dfb9
        github.com/matttproud/golang_protobuf_extensions v1.0.4
-       github.com/miekg/dns v1.1.58
+       github.com/miekg/dns v1.1.59
        github.com/opentracing/opentracing-go v1.2.0
        github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0
-       github.com/openzipkin/zipkin-go v0.4.2
+       github.com/openzipkin/zipkin-go v0.4.3
        github.com/oschwald/geoip2-golang v1.9.0
-       github.com/prometheus/client_golang v1.19.0
-       github.com/prometheus/client_model v0.6.0
-       github.com/prometheus/common v0.50.0
-       github.com/quic-go/quic-go v0.42.0
-       go.etcd.io/etcd/api/v3 v3.5.12
-       go.etcd.io/etcd/client/v3 v3.5.12
-       golang.org/x/crypto v0.21.0
-       golang.org/x/sys v0.18.0
+       github.com/prometheus/client_golang v1.19.1
+       github.com/prometheus/client_model v0.6.1
+       github.com/prometheus/common v0.53.0
+       github.com/quic-go/quic-go v0.44.0
+       go.etcd.io/etcd/api/v3 v3.5.13
+       go.etcd.io/etcd/client/v3 v3.5.13
+       golang.org/x/crypto v0.23.0
+       golang.org/x/sys v0.20.0
        google.golang.org/api v0.172.0
-       google.golang.org/grpc v1.62.1
+       google.golang.org/grpc v1.63.2
        google.golang.org/protobuf v1.33.0
-       gopkg.in/DataDog/dd-trace-go.v1 v1.61.0
+       gopkg.in/DataDog/dd-trace-go.v1 v1.64.0
        k8s.io/api v0.29.3
        k8s.io/apimachinery v0.29.3
        k8s.io/client-go v0.29.3
@@ -41,20 +41,20 @@
 )
 
 require (
-       cloud.google.com/go/compute v1.23.4 // indirect
+       cloud.google.com/go/compute v1.24.0 // indirect
        cloud.google.com/go/compute/metadata v0.2.3 // indirect
        github.com/Azure/go-autorest v14.2.0+incompatible // indirect
        github.com/Azure/go-autorest/autorest/adal v0.9.22 // indirect
-       github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 // indirect
+       github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 // indirect
        github.com/Azure/go-autorest/autorest/date v0.3.0 // indirect
        github.com/Azure/go-autorest/autorest/to v0.2.0 // indirect
        github.com/Azure/go-autorest/logger v0.2.1 // indirect
        github.com/Azure/go-autorest/tracing v0.6.0 // indirect
-       github.com/DataDog/appsec-internal-go v1.4.1 // indirect
+       github.com/DataDog/appsec-internal-go v1.5.0 // indirect
        github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 // indirect
        github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 // 
indirect
        github.com/DataDog/datadog-go/v5 v5.3.0 // indirect
-       github.com/DataDog/go-libddwaf/v2 v2.3.1 // indirect
+       github.com/DataDog/go-libddwaf/v2 v2.4.2 // indirect
        github.com/DataDog/go-tuf v1.0.2-0.5.2 // indirect
        github.com/DataDog/sketches-go v1.4.2 // indirect
        github.com/Microsoft/go-winio v0.6.1 // indirect
@@ -108,7 +108,7 @@
        github.com/secure-systems-lab/go-securesystemslib v0.7.0 // indirect
        github.com/spf13/pflag v1.0.5 // indirect
        github.com/tinylib/msgp v1.1.8 // indirect
-       go.etcd.io/etcd/client/pkg/v3 v3.5.12 // indirect
+       go.etcd.io/etcd/client/pkg/v3 v3.5.13 // indirect
        go.opencensus.io v0.24.0 // indirect
        go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 
// indirect
        go.opentelemetry.io/otel v1.24.0 // indirect
@@ -118,18 +118,19 @@
        go.uber.org/mock v0.4.0 // indirect
        go.uber.org/multierr v1.6.0 // indirect
        go.uber.org/zap v1.17.0 // indirect
-       golang.org/x/exp v0.0.0-20230321023759-10a507213a29 // indirect
-       golang.org/x/mod v0.14.0 // indirect
-       golang.org/x/net v0.22.0 // indirect
+       golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
+       golang.org/x/mod v0.17.0 // indirect
+       golang.org/x/net v0.25.0 // indirect
        golang.org/x/oauth2 v0.18.0 // indirect
-       golang.org/x/term v0.18.0 // indirect
-       golang.org/x/text v0.14.0 // indirect
+       golang.org/x/sync v0.7.0 // indirect
+       golang.org/x/term v0.20.0 // indirect
+       golang.org/x/text v0.15.0 // indirect
        golang.org/x/time v0.5.0 // indirect
-       golang.org/x/tools v0.17.0 // indirect
+       golang.org/x/tools v0.21.0 // indirect
        golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
        google.golang.org/appengine v1.6.8 // indirect
        google.golang.org/genproto/googleapis/api 
v0.0.0-20240311132316-a219d84964c2 // indirect
-       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240318140521-94a12d6c2237 // indirect
+       google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240415180920-8c6c420018be // indirect
        gopkg.in/inf.v0 v0.9.1 // indirect
        gopkg.in/yaml.v2 v2.4.0 // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/go.sum new/coredns-1.11.3/go.sum
--- old/coredns-1.11.1/go.sum   2024-04-09 09:53:15.000000000 +0200
+++ new/coredns-1.11.3/go.sum   2024-07-02 14:08:56.000000000 +0200
@@ -1,22 +1,22 @@
 cloud.google.com/go v0.26.0/go.mod 
h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go/compute v1.23.4 
h1:EBT9Nw4q3zyE7G45Wvv3MzolIrCJEuHys5muLY0wvAw=
-cloud.google.com/go/compute v1.23.4/go.mod 
h1:/EJMj55asU6kAFnuZET8zqgwgJ9FvXWXOkkfQZa4ioI=
+cloud.google.com/go/compute v1.24.0 
h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg=
+cloud.google.com/go/compute v1.24.0/go.mod 
h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40=
 cloud.google.com/go/compute/metadata v0.2.3 
h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY=
 cloud.google.com/go/compute/metadata v0.2.3/go.mod 
h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
 github.com/Azure/azure-sdk-for-go v68.0.0+incompatible 
h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU=
 github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod 
h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
 github.com/Azure/go-autorest v14.2.0+incompatible 
h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
 github.com/Azure/go-autorest v14.2.0+incompatible/go.mod 
h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
-github.com/Azure/go-autorest/autorest v0.11.24/go.mod 
h1:G6kyRlFnTuSbEYkQGawPfsCswgme4iYf6rfSKUDzbCc=
+github.com/Azure/go-autorest/autorest v0.11.28/go.mod 
h1:MrkzG3Y3AH668QyF9KRk5neJnGgmhQ6krbhR8Q5eMvA=
 github.com/Azure/go-autorest/autorest v0.11.29 
h1:I4+HL/JDvErx2LjyzaVxllw2lRDB5/BT2Bm4g20iqYw=
 github.com/Azure/go-autorest/autorest v0.11.29/go.mod 
h1:ZtEzC4Jy2JDrZLxvWs8LrBWEBycl1hbT1eknI8MtfAs=
 github.com/Azure/go-autorest/autorest/adal v0.9.18/go.mod 
h1:XVVeme+LZwABT8K5Lc3hA4nAe8LDBVle26gTrguhhPQ=
 github.com/Azure/go-autorest/autorest/adal v0.9.22 
h1:/GblQdIudfEM3AWWZ0mrYJQSd7JS4S/Mbzh6F0ov0Xc=
 github.com/Azure/go-autorest/autorest/adal v0.9.22/go.mod 
h1:XuAbAEUv2Tta//+voMI038TrJBqjKam0me7qR+L8Cmk=
-github.com/Azure/go-autorest/autorest/azure/auth v0.5.12 
h1:wkAZRgT/pn8HhFyzfe9UnqOjJYqlembgCTi72Bm/xKk=
-github.com/Azure/go-autorest/autorest/azure/auth v0.5.12/go.mod 
h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg=
-github.com/Azure/go-autorest/autorest/azure/cli v0.4.5 
h1:0W/yGmFdTIT77fvdlGZ0LMISoLHFJ7Tx4U0yeB+uFs4=
-github.com/Azure/go-autorest/autorest/azure/cli v0.4.5/go.mod 
h1:ADQAXrkgm7acgWVUNamOgh8YNrv4p27l3Wc55oVfpzg=
+github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 
h1:Ov8avRZi2vmrE2JcXw+tu5K/yB41r7xK9GZDiBF7NdM=
+github.com/Azure/go-autorest/autorest/azure/auth v0.5.13/go.mod 
h1:5BAVfWLWXihP47vYrPuBKKf4cS0bXI+KM9Qx6ETDJYo=
+github.com/Azure/go-autorest/autorest/azure/cli v0.4.6 
h1:w77/uPk80ZET2F+AfQExZyEWtn+0Rk/uw17m9fv5Ajc=
+github.com/Azure/go-autorest/autorest/azure/cli v0.4.6/go.mod 
h1:piCfgPho7BiIDdEQ1+g4VmKyD5y+p/XtSNqE6Hc4QD0=
 github.com/Azure/go-autorest/autorest/date v0.3.0 
h1:7gUk1U5M/CQbp9WoqinNzJar+8KY+LPI6wiWrP/myHw=
 github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod 
h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74=
 github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod 
h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k=
@@ -29,16 +29,16 @@
 github.com/Azure/go-autorest/tracing v0.6.0 
h1:TYi4+3m5t6K48TGI9AUdb+IzbnSxvnvUMfuitfgcfuo=
 github.com/Azure/go-autorest/tracing v0.6.0/go.mod 
h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU=
 github.com/BurntSushi/toml v0.3.1/go.mod 
h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/DataDog/appsec-internal-go v1.4.1 
h1:xpAS/hBo429pVh7rngquAK2DezUaJjfsX7Wd8cw0aIk=
-github.com/DataDog/appsec-internal-go v1.4.1/go.mod 
h1:rmZ+tpq5ZPKmeOUMYjWFg+q1mRd13mxZwSLBG+xa1ik=
+github.com/DataDog/appsec-internal-go v1.5.0 
h1:8kS5zSx5T49uZ8dZTdT19QVAvC/B8ByyZdhQKYQWHno=
+github.com/DataDog/appsec-internal-go v1.5.0/go.mod 
h1:pEp8gjfNLtEOmz+iZqC8bXhu0h4k7NUsW/qiQb34k1U=
 github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0 
h1:bUMSNsw1iofWiju9yc1f+kBd33E3hMJtq9GuU602Iy8=
 github.com/DataDog/datadog-agent/pkg/obfuscate v0.48.0/go.mod 
h1:HzySONXnAgSmIQfL6gOv9hWprKJkx8CicuXuUbmgWfo=
 github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1 
h1:5nE6N3JSs2IG3xzMthNFhXfOaXlrsdgqmJ73lndFf8c=
 github.com/DataDog/datadog-agent/pkg/remoteconfig/state v0.48.1/go.mod 
h1:Vc+snp0Bey4MrrJyiV2tVxxJb6BmLomPvN1RgAvjGaQ=
 github.com/DataDog/datadog-go/v5 v5.3.0 
h1:2q2qjFOb3RwAZNU+ez27ZVDwErJv5/VpbBPprz7Z+s8=
 github.com/DataDog/datadog-go/v5 v5.3.0/go.mod 
h1:XRDJk1pTc00gm+ZDiBKsjh7oOOtJfYfglVCmFb8C2+Q=
-github.com/DataDog/go-libddwaf/v2 v2.3.1 
h1:bujaT5+KnLDFQqVA5ilvVvW+evUSHow9FrTHRgUwN4A=
-github.com/DataDog/go-libddwaf/v2 v2.3.1/go.mod 
h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE=
+github.com/DataDog/go-libddwaf/v2 v2.4.2 
h1:ilquGKUmN9/Ty0sIxiEyznVRxP3hKfmH15Y1SMq5gjA=
+github.com/DataDog/go-libddwaf/v2 v2.4.2/go.mod 
h1:gsCdoijYQfj8ce/T2bEDNPZFIYnmHluAgVDpuQOWMZE=
 github.com/DataDog/go-tuf v1.0.2-0.5.2 
h1:EeZr937eKAWPxJ26IykAdWA4A0jQXJgkhUjqEI/w7+I=
 github.com/DataDog/go-tuf v1.0.2-0.5.2/go.mod 
h1:zBcq6f654iVqmkk8n2Cx81E1JnNTMOAx1UEO/wZR+P0=
 github.com/DataDog/gostackparse v0.7.0 
h1:i7dLkXHvYzHV308hnkvVGDL3BR4FWl7IsXNPz/IGQh4=
@@ -52,8 +52,8 @@
 github.com/antonmedv/expr v1.15.5/go.mod 
h1:0E/6TxnOlRNp81GMzX9QfDPAmHo2Phg00y4JUv1ihsE=
 github.com/apparentlymart/go-cidr v1.1.0 
h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU=
 github.com/apparentlymart/go-cidr v1.1.0/go.mod 
h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
-github.com/aws/aws-sdk-go v1.51.16 
h1:vnWKK8KjbftEkuPX8bRj3WHsLy1uhotn0eXptpvrxJI=
-github.com/aws/aws-sdk-go v1.51.16/go.mod 
h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
+github.com/aws/aws-sdk-go v1.54.11 
h1:Zxuv/R+IVS0B66yz4uezhxH9FN9/G2nbxejYqAMFjxk=
+github.com/aws/aws-sdk-go v1.54.11/go.mod 
h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod 
h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod 
h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
@@ -197,8 +197,8 @@
 github.com/matttproud/golang_protobuf_extensions v1.0.4 
h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
 github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod 
h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
 github.com/miekg/dns v1.1.31/go.mod 
h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM=
-github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4=
-github.com/miekg/dns v1.1.58/go.mod 
h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY=
+github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs=
+github.com/miekg/dns v1.1.59/go.mod 
h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk=
 github.com/mitchellh/go-homedir v1.1.0 
h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
 github.com/mitchellh/go-homedir v1.1.0/go.mod 
h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod 
h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -218,8 +218,8 @@
 github.com/opentracing/opentracing-go v1.2.0/go.mod 
h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
 github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0 
h1:uhcF5Jd7rP9DVEL10Siffyepr6SvlKbUsjH5JpNCRi8=
 github.com/openzipkin-contrib/zipkin-go-opentracing v0.5.0/go.mod 
h1:+oCZ5GXXr7KPI/DNOQORPTq5AWHfALJj9c72b0+YsEY=
-github.com/openzipkin/zipkin-go v0.4.2 
h1:zjqfqHjUpPmB3c1GlCvvgsM1G4LkvqQbBDueDOCg/jA=
-github.com/openzipkin/zipkin-go v0.4.2/go.mod 
h1:ZeVkFjuuBiSy13y8vpSDCjMi9GoI3hPpCJSBx/EYFhY=
+github.com/openzipkin/zipkin-go v0.4.3 
h1:9EGwpqkgnwdEIJ+Od7QVSEIH+ocmm5nPat0G7sjsSdg=
+github.com/openzipkin/zipkin-go v0.4.3/go.mod 
h1:M9wCJZFWCo2RiY+o1eBCEMe0Dp2S5LDHcMZmk3RmK7c=
 github.com/oschwald/geoip2-golang v1.9.0 
h1:uvD3O6fXAXs+usU+UGExshpdP13GAqp4GBrzN7IgKZc=
 github.com/oschwald/geoip2-golang v1.9.0/go.mod 
h1:BHK6TvDyATVQhKNbQBdrj9eAvuwOMi2zSFXizL3K81Y=
 github.com/oschwald/maxminddb-golang v1.11.0 
h1:aSXMqYR/EPNjGE8epgqwDay+P30hCBZIveY0WZbAWh0=
@@ -234,17 +234,17 @@
 github.com/pmezard/go-difflib v1.0.0/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 
h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod 
h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_golang v1.19.0 
h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU=
-github.com/prometheus/client_golang v1.19.0/go.mod 
h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k=
+github.com/prometheus/client_golang v1.19.1 
h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
+github.com/prometheus/client_golang v1.19.1/go.mod 
h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
 github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod 
h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/prometheus/client_model v0.6.0 
h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos=
-github.com/prometheus/client_model v0.6.0/go.mod 
h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8=
-github.com/prometheus/common v0.50.0 
h1:YSZE6aa9+luNa2da6/Tik0q0A5AbR+U003TItK57CPQ=
-github.com/prometheus/common v0.50.0/go.mod 
h1:wHFBCEVWVmHMUpg7pYcOm2QUR/ocQdYSJVQJKnHc3xQ=
+github.com/prometheus/client_model v0.6.1 
h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
+github.com/prometheus/client_model v0.6.1/go.mod 
h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
+github.com/prometheus/common v0.53.0 
h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE=
+github.com/prometheus/common v0.53.0/go.mod 
h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
 github.com/prometheus/procfs v0.12.0 
h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo=
 github.com/prometheus/procfs v0.12.0/go.mod 
h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo=
-github.com/quic-go/quic-go v0.42.0 
h1:uSfdap0eveIl8KXnipv9K7nlwZ5IqLlYOpJ58u5utpM=
-github.com/quic-go/quic-go v0.42.0/go.mod 
h1:132kz4kL3F9vxhW3CtQJLDVwcFe5wdWeJXXijhsO57M=
+github.com/quic-go/quic-go v0.44.0 
h1:So5wOr7jyO4vzL2sd8/pD9Kesciv91zSk8BoFngItQ0=
+github.com/quic-go/quic-go v0.44.0/go.mod 
h1:z4cx/9Ny9UtGITIPzmPTXh1ULfOyWh4qGQlpnPcWmek=
 github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052 
h1:Qp27Idfgi6ACvFQat5+VJvlYToylpM/hcyLBI3WaKPA=
 github.com/richardartoul/molecule v1.0.1-0.20221107223329-32cfee06a052/go.mod 
h1:uvX/8buq8uVeiZiFht+0lqSLBHF+uGV8BrTv8W/SIwk=
 github.com/rogpeppe/go-internal v1.10.0 
h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
@@ -276,12 +276,12 @@
 github.com/yuin/goldmark v1.2.1/go.mod 
h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
 github.com/yuin/goldmark v1.3.5/go.mod 
h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
 github.com/yuin/goldmark v1.4.13/go.mod 
h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
-go.etcd.io/etcd/api/v3 v3.5.12 h1:W4sw5ZoU2Juc9gBWuLk5U6fHfNVyY1WC5g9uiXZio/c=
-go.etcd.io/etcd/api/v3 v3.5.12/go.mod 
h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4=
-go.etcd.io/etcd/client/pkg/v3 v3.5.12 
h1:EYDL6pWwyOsylrQyLp2w+HkQ46ATiOvoEdMarindU2A=
-go.etcd.io/etcd/client/pkg/v3 v3.5.12/go.mod 
h1:seTzl2d9APP8R5Y2hFL3NVlD6qC/dOT+3kvrqPyTas4=
-go.etcd.io/etcd/client/v3 v3.5.12 
h1:v5lCPXn1pf1Uu3M4laUE2hp/geOTc5uPcYYsNe1lDxg=
-go.etcd.io/etcd/client/v3 v3.5.12/go.mod 
h1:tSbBCakoWmmddL+BKVAJHa9km+O/E+bumDe9mSbPiqw=
+go.etcd.io/etcd/api/v3 v3.5.13 h1:8WXU2/NBge6AUF1K1gOexB6e07NgsN1hXK0rSTtgSp4=
+go.etcd.io/etcd/api/v3 v3.5.13/go.mod 
h1:gBqlqkcMMZMVTMm4NDZloEVJzxQOQIls8splbqBDa0c=
+go.etcd.io/etcd/client/pkg/v3 v3.5.13 
h1:RVZSAnWWWiI5IrYAXjQorajncORbS0zI48LQlE2kQWg=
+go.etcd.io/etcd/client/pkg/v3 v3.5.13/go.mod 
h1:XxHT4u1qU12E2+po+UVPrEeL94Um6zL58ppuJWXSAB8=
+go.etcd.io/etcd/client/v3 v3.5.13 
h1:o0fHTNJLeO0MyVbc7I3fsCf6nrOqn5d+diSarKnB2js=
+go.etcd.io/etcd/client/v3 v3.5.13/go.mod 
h1:cqiAeY8b5DEEcpxvgWKsbLIWNM/8Wy2xJSDMtioMcoI=
 go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
 go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 
h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk=
@@ -296,6 +296,8 @@
 go.uber.org/atomic v1.9.0/go.mod 
h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
 go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
 go.uber.org/atomic v1.11.0/go.mod 
h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
+go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
+go.uber.org/goleak v1.3.0/go.mod 
h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
 go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
 go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
 go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
@@ -306,14 +308,14 @@
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod 
h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod 
h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod 
h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod 
h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
 golang.org/x/crypto v0.6.0/go.mod 
h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
-golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA=
-golang.org/x/crypto v0.21.0/go.mod 
h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs=
+golang.org/x/crypto v0.17.0/go.mod 
h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
+golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
+golang.org/x/crypto v0.23.0/go.mod 
h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
 golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod 
h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29 
h1:ooxPy7fPvB4kwsA2h+iBNHkAbp/4JxTSwCmvdjEYmug=
-golang.org/x/exp v0.0.0-20230321023759-10a507213a29/go.mod 
h1:CxIveKay+FTh1D0yPZemJVgC/95VzuuOLq5Qi4xnoYc=
+golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 
h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM=
+golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod 
h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc=
 golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod 
h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
 golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod 
h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
 golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod 
h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
@@ -323,8 +325,9 @@
 golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod 
h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
 golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
-golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
-golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
+golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
+golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
 golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod 
h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -341,8 +344,9 @@
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod 
h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
 golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
 golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
-golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc=
-golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
+golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
+golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
+golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
 golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod 
h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
 golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI=
 golang.org/x/oauth2 v0.18.0/go.mod 
h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8=
@@ -355,8 +359,8 @@
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod 
h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
-golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M=
+golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
 golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod 
h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod 
h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -374,14 +378,18 @@
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod 
h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4=
-golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
+golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod 
h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod 
h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
 golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA=
 golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
-golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8=
-golang.org/x/term v0.18.0/go.mod 
h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58=
+golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
+golang.org/x/term v0.15.0/go.mod 
h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
+golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
+golang.org/x/term v0.20.0/go.mod 
h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
 golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -389,8 +397,10 @@
 golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
 golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
 golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
-golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
 golang.org/x/text v0.14.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
+golang.org/x/text v0.15.0/go.mod 
h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
 golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
 golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod 
h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
@@ -405,8 +415,9 @@
 golang.org/x/tools v0.1.1/go.mod 
h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.12/go.mod 
h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
 golang.org/x/tools v0.4.0/go.mod 
h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ=
-golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc=
-golang.org/x/tools v0.17.0/go.mod 
h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
+golang.org/x/tools v0.6.0/go.mod 
h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
+golang.org/x/tools v0.21.0/go.mod 
h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod 
h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -424,15 +435,15 @@
 google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod 
h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
 google.golang.org/genproto/googleapis/api v0.0.0-20240311132316-a219d84964c2 
h1:rIo7ocm2roD9DcFIX67Ym8icoGCKSARAiPljFhh5suQ=
 google.golang.org/genproto/googleapis/api 
v0.0.0-20240311132316-a219d84964c2/go.mod 
h1:O1cOfN1Cy6QEYr7VxtjOyP5AdAuR0aJ/MYZaaof623Y=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20240318140521-94a12d6c2237 
h1:NnYq6UN9ReLM9/Y01KWNOWyI5xQ9kbIms5GGJVwS/Yc=
-google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240318140521-94a12d6c2237/go.mod 
h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be 
h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A=
+google.golang.org/genproto/googleapis/rpc 
v0.0.0-20240415180920-8c6c420018be/go.mod 
h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY=
 google.golang.org/grpc v1.19.0/go.mod 
h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
 google.golang.org/grpc v1.23.0/go.mod 
h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
 google.golang.org/grpc v1.25.1/go.mod 
h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
 google.golang.org/grpc v1.27.0/go.mod 
h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
 google.golang.org/grpc v1.33.2/go.mod 
h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.62.1 h1:B4n+nfKzOICUXMgyrNd19h/I9oH0L1pizfk1d4zSgTk=
-google.golang.org/grpc v1.62.1/go.mod 
h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE=
+google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM=
+google.golang.org/grpc v1.63.2/go.mod 
h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA=
 google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod 
h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
 google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod 
h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
 google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod 
h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -447,8 +458,8 @@
 google.golang.org/protobuf v1.28.0/go.mod 
h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
 google.golang.org/protobuf v1.33.0 
h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI=
 google.golang.org/protobuf v1.33.0/go.mod 
h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
-gopkg.in/DataDog/dd-trace-go.v1 v1.61.0 
h1:XKO91GwTjpIRhd56Xif/BZ2YgHkQufVTOvtkbRYSPi8=
-gopkg.in/DataDog/dd-trace-go.v1 v1.61.0/go.mod 
h1:NHKX1t9eKmajySb6H+zLdgZizCFzbt5iKvrTyxEyy8w=
+gopkg.in/DataDog/dd-trace-go.v1 v1.64.0 
h1:zXQo6iv+dKRrDBxMXjRXLSKN2lY9uM34XFI4nPyp0eA=
+gopkg.in/DataDog/dd-trace-go.v1 v1.64.0/go.mod 
h1:qzwVu8Qr8CqzQNw2oKEXRdD+fMnjYatjYMGE0tdCVG4=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod 
h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c 
h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod 
h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/notes/coredns-1.11.3.md 
new/coredns-1.11.3/notes/coredns-1.11.3.md
--- old/coredns-1.11.1/notes/coredns-1.11.3.md  1970-01-01 01:00:00.000000000 
+0100
+++ new/coredns-1.11.3/notes/coredns-1.11.3.md  2024-07-02 14:08:56.000000000 
+0200
@@ -0,0 +1,59 @@
++++
+title = "CoreDNS-1.11.3 Release"
+description = "CoreDNS-1.11.3 Release Notes."
+tags = ["Release", "1.11.3", "Notes"]
+release = "1.11.3"
+date = "2024-04-24T16:57:00-04:00
+author = "coredns"
++++
+
+This release contains some new features, bug fixes, and package updates. 
Because of the deployment issues with the previous release, all changed 
features from 1.11.2 have been included in this release.
+New features include:
+* When the _forward_ plugin receives a malformed upstream response that 
overflows,
+  it will now send an empty response to the client with the truncated (TC) bit 
set to prompt the client
+  to retry over TCP.
+* The _rewrite_ plugin can now rewrite response codes.
+* The _dnstap_ plugin now supports adding metadata to the dnstap `extra` field.
+
+## Brought to You By
+
+Amila Senadheera,
+Ben Kochie,
+Benjamin,
+Chris O'Haver,
+Grant Spence,
+John Belamaric,
+Keita Kitamura,
+Marius Kimmina,
+Michael Grosser,
+Ondřej Benkovský,
+P. Radha Krishna,
+Rahil Bhimjiani,
+Sri Harsha,
+Tom Thorogood,
+Willow (GHOST),
+Yong Tang,
+Yuheng,
+Zhizhen He,
+guangwu,
+journey-c,
+pschou
+Ted Ford
+
+## Noteworthy Changes
+
+* plugin/tls: respect the path specified by root plugin 
(https://github.com/coredns/coredns/pull/6138)
+* plugin/auto: warn when auto is unable to read elements of the directory tree 
(https://github.com/coredns/coredns/pull/6333)
+* plugin/etcd: the etcd client adds the DialKeepAliveTime parameter 
(https://github.com/coredns/coredns/pull/6351)
+* plugin/cache: key cache on Checking Disabled (CD) bit 
(https://github.com/coredns/coredns/pull/6354)
+* plugin/forward: Use the correct root domain name in the forward plugin's 
health checks (https://github.com/coredns/coredns/pull/6395)
+* plugin/forward: Handle UDP responses that overflow with TC bit 
(https://github.com/coredns/coredns/pull/6277)
+* plugin/rewrite: fix multi request concurrency issue in cname rewrite 
(https://github.com/coredns/coredns/pull/6407)
+* plugin/rewrite: add rcode as a rewrite option 
(https://github.com/coredns/coredns/pull/6204)
+* plugin/dnstap: add support for "extra" field in payload 
(https://github.com/coredns/coredns/pull/6226)
+* plugin/cache: fix keepttl parsing 
(https://github.com/coredns/coredns/pull/6250)
+* Return RcodeServerFailure when DNS64 has no next plugin 
(https://github.com/coredns/coredns/pull/6590)
+* Change the log flags to be a variable that can be set 
(https://github.com/coredns/coredns/pull/6546)
+* Bump go version to 1.21 (https://github.com/coredns/coredns/pull/6533)
+* replace the mutex locks in logging with atomic bool for the "on" flag 
(https://github.com/coredns/coredns/pull/6525)
+* Enable Prometheus native histograms 
(https://github.com/coredns/coredns/pull/6524)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/autopath/README.md 
new/coredns-1.11.3/plugin/autopath/README.md
--- old/coredns-1.11.1/plugin/autopath/README.md        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/plugin/autopath/README.md        2024-07-02 
14:08:56.000000000 +0200
@@ -57,7 +57,7 @@
 the namespace of the a Pod making a DNS request. To do this, it relies on the 
*kubernetes* plugin's
 Pod cache to resolve the client's IP address to a Pod. The Pod cache is 
maintained by an API watch
 on Pods. When Pod IP assignments change, the Kubernetes API notifies CoreDNS 
via the API watch.
-However, that notification is not instantaneous. In the case that a Pod is 
deleted, and it's IP is
+However, that notification is not instantaneous. In the case that a Pod is 
deleted, and its IP is
 immediately provisioned to a Pod in another namespace, and that new Pod make a 
DNS lookup *before*
 the API watch can notify CoreDNS of the change, *autopath* will resolve the IP 
to the previous Pod's
 namespace.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/dnstap/handler.go 
new/coredns-1.11.3/plugin/dnstap/handler.go
--- old/coredns-1.11.1/plugin/dnstap/handler.go 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/dnstap/handler.go 2024-07-02 14:08:56.000000000 
+0200
@@ -27,7 +27,7 @@
 }
 
 // TapMessage sends the message m to the dnstap interface, without populating 
"Extra" field.
-func (h Dnstap) TapMessage(m *tap.Message) {
+func (h *Dnstap) TapMessage(m *tap.Message) {
        if h.ExtraFormat == "" {
                h.tapWithExtra(m, nil)
        } else {
@@ -36,7 +36,7 @@
 }
 
 // TapMessageWithMetadata sends the message m to the dnstap interface, with 
"Extra" field being populated.
-func (h Dnstap) TapMessageWithMetadata(ctx context.Context, m *tap.Message, 
state request.Request) {
+func (h *Dnstap) TapMessageWithMetadata(ctx context.Context, m *tap.Message, 
state request.Request) {
        if h.ExtraFormat == "" {
                h.tapWithExtra(m, nil)
                return
@@ -45,12 +45,12 @@
        h.tapWithExtra(m, []byte(extraStr))
 }
 
-func (h Dnstap) tapWithExtra(m *tap.Message, extra []byte) {
+func (h *Dnstap) tapWithExtra(m *tap.Message, extra []byte) {
        t := tap.Dnstap_MESSAGE
        h.io.Dnstap(&tap.Dnstap{Type: &t, Message: m, Identity: h.Identity, 
Version: h.Version, Extra: extra})
 }
 
-func (h Dnstap) tapQuery(ctx context.Context, w dns.ResponseWriter, query 
*dns.Msg, queryTime time.Time) {
+func (h *Dnstap) tapQuery(ctx context.Context, w dns.ResponseWriter, query 
*dns.Msg, queryTime time.Time) {
        q := new(tap.Message)
        msg.SetQueryTime(q, queryTime)
        msg.SetQueryAddress(q, w.RemoteAddr())
@@ -65,7 +65,7 @@
 }
 
 // ServeDNS logs the client query and response to dnstap and passes the dnstap 
Context.
-func (h Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r 
*dns.Msg) (int, error) {
+func (h *Dnstap) ServeDNS(ctx context.Context, w dns.ResponseWriter, r 
*dns.Msg) (int, error) {
        rw := &ResponseWriter{
                ResponseWriter: w,
                Dnstap:         h,
@@ -82,4 +82,4 @@
 }
 
 // Name implements the plugin.Plugin interface.
-func (h Dnstap) Name() string { return "dnstap" }
+func (h *Dnstap) Name() string { return "dnstap" }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/dnstap/writer.go 
new/coredns-1.11.3/plugin/dnstap/writer.go
--- old/coredns-1.11.1/plugin/dnstap/writer.go  2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/dnstap/writer.go  2024-07-02 14:08:56.000000000 
+0200
@@ -17,7 +17,7 @@
        query     *dns.Msg
        ctx       context.Context
        dns.ResponseWriter
-       Dnstap
+       *Dnstap
 }
 
 // WriteMsg writes back the response to the client and THEN works on logging 
the request and response to dnstap.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/etcd/handler.go 
new/coredns-1.11.3/plugin/etcd/handler.go
--- old/coredns-1.11.1/plugin/etcd/handler.go   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/etcd/handler.go   2024-07-02 14:08:56.000000000 
+0200
@@ -71,8 +71,8 @@
        m.SetReply(r)
        m.Truncated = truncated
        m.Authoritative = true
-       m.Answer = append(m.Answer, records...)
-       m.Extra = append(m.Extra, extra...)
+       m.Answer = records
+       m.Extra = extra
 
        w.WriteMsg(m)
        return dns.RcodeSuccess, nil
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/file/file.go 
new/coredns-1.11.3/plugin/file/file.go
--- old/coredns-1.11.1/plugin/file/file.go      2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/file/file.go      2024-07-02 14:08:56.000000000 
+0200
@@ -136,10 +136,6 @@
        z := NewZone(origin, fileName)
        seenSOA := false
        for rr, ok := zp.Next(); ok; rr, ok = zp.Next() {
-               if err := zp.Err(); err != nil {
-                       return nil, err
-               }
-
                if !seenSOA {
                        if s, ok := rr.(*dns.SOA); ok {
                                seenSOA = true
@@ -159,6 +155,13 @@
        if !seenSOA {
                return nil, fmt.Errorf("file %q has no SOA record for origin 
%s", fileName, origin)
        }
+       if zp.Err() != nil {
+               return nil, fmt.Errorf("failed to parse file %q for origin %s 
with error %v", fileName, origin, zp.Err())
+       }
+
+       if err := zp.Err(); err != nil {
+               return nil, err
+       }
 
        return z, nil
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/file/file_test.go 
new/coredns-1.11.3/plugin/file/file_test.go
--- old/coredns-1.11.1/plugin/file/file_test.go 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/file/file_test.go 2024-07-02 14:08:56.000000000 
+0200
@@ -29,3 +29,31 @@
 mail         IN  A      192.168.0.15
 imap         IN  CNAME  mail
 `
+
+func TestParseSyntaxError(t *testing.T) {
+       _, err := Parse(strings.NewReader(dbSyntaxError), "example.org.", 
"stdin", 0)
+       if err == nil {
+               t.Fatalf("Zone %q should have failed to load", "example.org.")
+       }
+       if !strings.Contains(err.Error(), "\"invalid\"") {
+               t.Fatalf("Zone %q should have failed with syntax error: %s", 
"example.org.", err)
+       }
+}
+
+const dbSyntaxError = `
+$TTL         1M
+$ORIGIN      example.org.
+
+@            IN  SOA    ns1.example.com. admin.example.com.  (
+                               2005011437 ; Serial
+                               1200       ; Refresh
+                               144        ; Retry
+                               1814400    ; Expire
+                               2h )       ; Minimum
+@            IN  NS     ns1.example.com.
+
+# invalid comment
+www          IN  A      192.168.0.14
+mail         IN  A      192.168.0.15
+imap         IN  CNAME  mail
+`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/README.md 
new/coredns-1.11.3/plugin/forward/README.md
--- old/coredns-1.11.1/plugin/forward/README.md 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/forward/README.md 2024-07-02 14:08:56.000000000 
+0200
@@ -50,6 +50,7 @@
     policy random|round_robin|sequential
     health_check DURATION [no_rec] [domain FQDN]
     max_concurrent MAX
+    next RCODE_1 [RCODE_2] [RCODE_3...]
 }
 ~~~
 
@@ -95,6 +96,7 @@
   response does not count as a health failure. When choosing a value for 
**MAX**, pick a number
   at least greater than the expected *upstream query rate* * *latency* of the 
upstream servers.
   As an upper bound for **MAX**, consider that each concurrent query will use 
about 2kb of memory.
+* `next` If the `RCODE` (i.e. `NXDOMAIN`) is returned by the remote then 
execute the next plugin. If no next plugin is defined, or the next plugin is 
not a `forward` plugin, this setting is ignored
 
 Also note the TLS config is "global" for the whole forwarding proxy if you 
need a different
 `tls_servername` for different upstreams you're out of luck.
@@ -268,6 +270,21 @@
 }
 ~~~
 
+The following would try 1.2.3.4 first. If the response is `NXDOMAIN`, try 
5.6.7.8. If the response from 5.6.7.8 is `NXDOMAIN`, try 9.0.1.2.
+
+~~~ corefile
+. {
+  forward . 1.2.3.4 {
+    next NXDOMAIN
+  }
+  forward . 5.6.7.8 {
+    next NXDOMAIN
+  }
+  forward . 9.0.1.2 {
+  }
+}
+~~~
+
 ## See Also
 
 [RFC 7858](https://tools.ietf.org/html/rfc7858) for DNS over TLS.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/forward.go 
new/coredns-1.11.3/plugin/forward/forward.go
--- old/coredns-1.11.1/plugin/forward/forward.go        2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/plugin/forward/forward.go        2024-07-02 
14:08:56.000000000 +0200
@@ -43,6 +43,8 @@
        from    string
        ignored []string
 
+       nextAlternateRcodes []int
+
        tlsConfig     *tls.Config
        tlsServerName string
        maxfails      uint32
@@ -194,6 +196,15 @@
                        return 0, nil
                }
 
+               // Check if we have an alternate Rcode defined, check if we 
match on the code
+               for _, alternateRcode := range f.nextAlternateRcodes {
+                       if alternateRcode == ret.Rcode && f.Next != nil { // In 
case we do not have a Next handler, just continue normally
+                               if _, ok := f.Next.(*Forward); ok { // Only 
continue if the next forwarder is also a Forworder
+                                       return plugin.NextOrFailure(f.Name(), 
f.Next, ctx, w, r)
+                               }
+                       }
+               }
+
                w.WriteMsg(ret)
                return 0, nil
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/setup.go 
new/coredns-1.11.3/plugin/forward/setup.go
--- old/coredns-1.11.1/plugin/forward/setup.go  2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/forward/setup.go  2024-07-02 14:08:56.000000000 
+0200
@@ -6,6 +6,7 @@
        "fmt"
        "path/filepath"
        "strconv"
+       "strings"
        "time"
 
        "github.com/coredns/caddy"
@@ -289,7 +290,22 @@
                }
                f.ErrLimitExceeded = errors.New("concurrent queries exceeded 
maximum " + c.Val())
                f.maxConcurrent = int64(n)
+       case "next":
+               args := c.RemainingArgs()
+               if len(args) == 0 {
+                       return c.ArgErr()
+               }
+
+               for _, rcode := range args {
+                       var rc int
+                       var ok bool
 
+                       if rc, ok = dns.StringToRcode[strings.ToUpper(rcode)]; 
!ok {
+                               return fmt.Errorf("%s is not a valid rcode", 
rcode)
+                       }
+
+                       f.nextAlternateRcodes = append(f.nextAlternateRcodes, 
rc)
+               }
        default:
                return c.Errf("unknown property '%s'", c.Val())
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/forward/setup_test.go 
new/coredns-1.11.3/plugin/forward/setup_test.go
--- old/coredns-1.11.1/plugin/forward/setup_test.go     2024-04-09 
09:53:15.000000000 +0200
+++ new/coredns-1.11.3/plugin/forward/setup_test.go     2024-07-02 
14:08:56.000000000 +0200
@@ -143,6 +143,13 @@
        }
        defer os.Remove(resolv)
 
+       const resolvIPV6 = "resolv-ipv6.conf"
+       if err := os.WriteFile(resolvIPV6,
+               []byte(`nameserver 
0388:d254:7aec:6892:9f7f:e93b:5806:1b0f%en0`), 0666); err != nil {
+               t.Fatalf("Failed to write %v file: %s", resolvIPV6, err)
+       }
+       defer os.Remove(resolvIPV6)
+
        tests := []struct {
                input         string
                shouldErr     bool
@@ -153,6 +160,8 @@
                {`forward . ` + resolv, false, "", []string{"10.10.255.252:53", 
"10.10.255.253:53"}},
                // fail
                {`forward . /dev/null`, true, "no nameservers", nil},
+               // IPV6 with local zone
+               {`forward . ` + resolvIPV6, false, "", 
[]string{"[0388:d254:7aec:6892:9f7f:e93b:5806:1b0f]:53"}},
        }
 
        for i, test := range tests {
@@ -333,3 +342,43 @@
                t.Error("expected third plugin to be last, but Next is not nil")
        }
 }
+func TestNextAlternate(t *testing.T) {
+       testsValid := []struct {
+               input    string
+               expected []int
+       }{
+               {"forward . 127.0.0.1 {\nnext NXDOMAIN\n}\n", 
[]int{dns.RcodeNameError}},
+               {"forward . 127.0.0.1 {\nnext SERVFAIL\n}\n", 
[]int{dns.RcodeServerFailure}},
+               {"forward . 127.0.0.1 {\nnext NXDOMAIN SERVFAIL\n}\n", 
[]int{dns.RcodeNameError, dns.RcodeServerFailure}},
+               {"forward . 127.0.0.1 {\nnext NXDOMAIN SERVFAIL REFUSED\n}\n", 
[]int{dns.RcodeNameError, dns.RcodeServerFailure, dns.RcodeRefused}},
+       }
+       for i, test := range testsValid {
+               c := caddy.NewTestController("dns", test.input)
+               f, err := parseForward(c)
+               forward := f[0]
+               if err != nil {
+                       t.Errorf("Test %d: %v", i, err)
+               }
+               if len(forward.nextAlternateRcodes) != len(test.expected) {
+                       t.Errorf("Test %d: expected %d next rcodes, got %d", i, 
len(test.expected), len(forward.nextAlternateRcodes))
+               }
+               for j, rcode := range forward.nextAlternateRcodes {
+                       if rcode != test.expected[j] {
+                               t.Errorf("Test %d: expected next rcode %d, got 
%d", i, test.expected[j], rcode)
+                       }
+               }
+       }
+
+       testsInvalid := []string{
+               "forward . 127.0.0.1 {\nnext\n}\n",
+               "forward . 127.0.0.1 {\nnext INVALID\n}\n",
+               "forward . 127.0.0.1 {\nnext NXDOMAIN INVALID\n}\n",
+       }
+       for i, test := range testsInvalid {
+               c := caddy.NewTestController("dns", test)
+               _, err := parseForward(c)
+               if err == nil {
+                       t.Errorf("Test %d: expected error, got nil", i)
+               }
+       }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/pkg/parse/host.go 
new/coredns-1.11.3/plugin/pkg/parse/host.go
--- old/coredns-1.11.1/plugin/pkg/parse/host.go 2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/pkg/parse/host.go 2024-07-02 14:08:56.000000000 
+0200
@@ -99,7 +99,7 @@
 
        servers := []string{}
        for _, s := range c.Servers {
-               servers = append(servers, net.JoinHostPort(s, c.Port))
+               servers = append(servers, net.JoinHostPort(stripZone(s), 
c.Port))
        }
        return servers, nil
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/sign/file.go 
new/coredns-1.11.3/plugin/sign/file.go
--- old/coredns-1.11.1/plugin/sign/file.go      2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/sign/file.go      2024-07-02 14:08:56.000000000 
+0200
@@ -66,10 +66,6 @@
        seenSOA := false
 
        for rr, ok := zp.Next(); ok; rr, ok = zp.Next() {
-               if err := zp.Err(); err != nil {
-                       return nil, err
-               }
-
                switch rr.(type) {
                case *dns.DNSKEY, *dns.RRSIG, *dns.CDNSKEY, *dns.CDS:
                        continue
@@ -88,5 +84,9 @@
                return nil, fmt.Errorf("file %q has no SOA record", fileName)
        }
 
+       if err := zp.Err(); err != nil {
+               return nil, err
+       }
+
        return z, nil
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/plugin/sign/signer.go 
new/coredns-1.11.3/plugin/sign/signer.go
--- old/coredns-1.11.1/plugin/sign/signer.go    2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/plugin/sign/signer.go    2024-07-02 14:08:56.000000000 
+0200
@@ -133,10 +133,6 @@
        i := 0
 
        for rr, ok := zp.Next(); ok; rr, ok = zp.Next() {
-               if err := zp.Err(); err != nil {
-                       return err
-               }
-
                switch x := rr.(type) {
                case *dns.RRSIG:
                        if x.TypeCovered != dns.TypeSOA {
@@ -166,7 +162,7 @@
                }
        }
 
-       return nil
+       return zp.Err()
 }
 
 func signAndLog(s *Signer, why error) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/test/corefile_test.go 
new/coredns-1.11.3/test/corefile_test.go
--- old/coredns-1.11.1/test/corefile_test.go    2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/test/corefile_test.go    2024-07-02 14:08:56.000000000 
+0200
@@ -5,13 +5,16 @@
 )
 
 func TestCorefile1(t *testing.T) {
-       corefile := `ȶ
+       defer func() {
+               if r := recover(); r != nil {
+                       t.Fatalf("Expected no panic, but got %v", r)
+               }
+       }()
+
+       // this used to crash
+       corefile := `\\\\ȶ.
 acl
 `
-       // this crashed, now it should return an error.
-       i, _, _, err := CoreDNSServerAndPorts(corefile)
-       if err == nil {
-               defer i.Stop()
-               t.Fatalf("Expected an error got none")
-       }
+       i, _, _, _ := CoreDNSServerAndPorts(corefile)
+       defer i.Stop()
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/coredns-1.11.1/test/presubmit_test.go 
new/coredns-1.11.3/test/presubmit_test.go
--- old/coredns-1.11.1/test/presubmit_test.go   2024-04-09 09:53:15.000000000 
+0200
+++ new/coredns-1.11.3/test/presubmit_test.go   2024-07-02 14:08:56.000000000 
+0200
@@ -308,7 +308,7 @@
        return "std"
 }
 
-// TestMetricNaming tests the imports path used for metrics. It depends on 
faillint to be installed: go install github.com/fatih/faillint
+// TestPrometheusImports tests the imports path used for metrics. It depends 
on faillint to be installed: go install github.com/fatih/faillint
 func TestPrometheusImports(t *testing.T) {
        if _, err := exec.LookPath("faillint"); err != nil {
                fmt.Fprintf(os.Stderr, "Not executing TestPrometheusImports: 
faillint not found\n")

++++++ coredns.obsinfo ++++++
--- /var/tmp/diff_new_pack.Zrb4L8/_old  2024-09-19 21:19:08.714954231 +0200
+++ /var/tmp/diff_new_pack.Zrb4L8/_new  2024-09-19 21:19:08.718954397 +0200
@@ -1,5 +1,5 @@
 name: coredns
-version: 1.11.1
-mtime: 1712649195
-commit: 5a52707c1962c915caea8a7c8e600cbe76836c98
+version: 1.11.3
+mtime: 1719922136
+commit: a6338e924e29d318e7a1e971b5bde23f36d083af
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/coredns/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.coredns.new.29891/vendor.tar.gz differ: char 5, 
line 1

Reply via email to