Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package doggo for openSUSE:Factory checked in at 2026-05-20 15:26:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/doggo (Old) and /work/SRC/openSUSE:Factory/.doggo.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "doggo" Wed May 20 15:26:27 2026 rev:9 rq:1354195 version:1.1.6 Changes: -------- --- /work/SRC/openSUSE:Factory/doggo/doggo.changes 2026-02-26 18:51:50.905515547 +0100 +++ /work/SRC/openSUSE:Factory/.doggo.new.1966/doggo.changes 2026-05-20 15:27:15.560908531 +0200 @@ -1,0 +2,14 @@ +Wed May 20 08:20:43 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 1.1.6: + * Bug fixes + - 7ea250d: fix(edns): default UDP buffer size to 1232 per DNS + Flagday 2020 (@mr-karan) + * Others + - 802e38b: Fix "DNS over QUIC" sidebar anchor text (@isker) + - 79dee5c: Merge pull request #236 from isker/patch-1 + (@mr-karan) + - 2bcf2f7: chore(deps): upgrade Go to 1.26 and bump + dependencies (@mr-karan) + +------------------------------------------------------------------- Old: ---- doggo-1.1.5.obscpio New: ---- doggo-1.1.6.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ doggo.spec ++++++ --- /var/tmp/diff_new_pack.BBhReP/_old 2026-05-20 15:27:16.104930941 +0200 +++ /var/tmp/diff_new_pack.BBhReP/_new 2026-05-20 15:27:16.104930941 +0200 @@ -17,7 +17,7 @@ Name: doggo -Version: 1.1.5 +Version: 1.1.6 Release: 0 Summary: CLI tool and API server DNS client implemented in Go License: GPL-3.0-only @@ -25,7 +25,7 @@ URL: https://github.com/mr-karan/doggo Source0: %{name}-%{version}.tar Source1: vendor.tar.xz -BuildRequires: go1.25 >= 1.25.5 +BuildRequires: go1.26 >= 1.26.2 Recommends: %{name}-bash-completion Suggests: %{name}-fish-completion Suggests: %{name}-zsh-completion ++++++ _service ++++++ --- /var/tmp/diff_new_pack.BBhReP/_old 2026-05-20 15:27:16.156933083 +0200 +++ /var/tmp/diff_new_pack.BBhReP/_new 2026-05-20 15:27:16.156933083 +0200 @@ -2,7 +2,7 @@ <service name="obs_scm" mode="manual"> <param name="scm">git</param> <param name="url">https://github.com/mr-karan/doggo.git</param> - <param name="revision">v1.1.5</param> + <param name="revision">v1.1.6</param> <param name="match-tag">*</param> <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param> <param name="versionformat">@PARENT_TAG@</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.BBhReP/_old 2026-05-20 15:27:16.176933907 +0200 +++ /var/tmp/diff_new_pack.BBhReP/_new 2026-05-20 15:27:16.180934072 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/mr-karan/doggo.git</param> - <param name="changesrevision">c1e6f89eca428a69529223fffb088bdc31264310</param></service></servicedata> + <param name="changesrevision">2bcf2f719d2017db2d525cd8b31c65f4b8b54e69</param></service></servicedata> (No newline at EOF) ++++++ doggo-1.1.5.obscpio -> doggo-1.1.6.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/.github/workflows/govulncheck.yml new/doggo-1.1.6/.github/workflows/govulncheck.yml --- old/doggo-1.1.5/.github/workflows/govulncheck.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/doggo-1.1.6/.github/workflows/govulncheck.yml 2026-05-20 09:36:30.000000000 +0200 @@ -0,0 +1,24 @@ +name: govulncheck + +on: + push: + pull_request: + schedule: + - cron: "22 10 * * *" + workflow_dispatch: + +permissions: + contents: read + +jobs: + govulncheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: actions/setup-go@v6 + with: + go-version-file: go.mod + - run: | + go run golang.org/x/vuln/cmd/govulncheck@latest ./... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/.github/workflows/release.yml new/doggo-1.1.6/.github/workflows/release.yml --- old/doggo-1.1.5/.github/workflows/release.yml 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/.github/workflows/release.yml 2026-05-20 09:36:30.000000000 +0200 @@ -19,7 +19,7 @@ - name: Set up Go uses: actions/setup-go@v6 with: - go-version: "1.25" + go-version: "1.26" - name: Log in to the Container registry uses: docker/login-action@v3 with: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/.github/workflows/test.yml new/doggo-1.1.6/.github/workflows/test.yml --- old/doggo-1.1.5/.github/workflows/test.yml 1970-01-01 01:00:00.000000000 +0100 +++ new/doggo-1.1.6/.github/workflows/test.yml 2026-05-20 09:36:30.000000000 +0200 @@ -0,0 +1,37 @@ +name: Go tests + +on: + push: + pull_request: + schedule: + - cron: "22 10 * * *" + workflow_dispatch: + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + go: + - { go-version: stable } + - { go-version-file: go.mod } + deps: + - locked + - latest + steps: + - uses: actions/checkout@v6 + with: + persist-credentials: false + - uses: actions/setup-go@v6 + with: + go-version: ${{ matrix.go.go-version }} + go-version-file: ${{ matrix.go.go-version-file }} + - run: | + if [ "${{ matrix.deps }}" = "latest" ]; then + go get -u -t ./... + fi + go test -v ./... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/cmd/doggo/cli.go new/doggo-1.1.6/cmd/doggo/cli.go --- old/doggo-1.1.5/cmd/doggo/cli.go 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/cmd/doggo/cli.go 2026-05-20 09:36:30.000000000 +0200 @@ -121,6 +121,14 @@ cfg.showTime = k.Bool("time") cfg.useColor = k.Bool("color") + bufsize := k.Int("bufsize") + if bufsize < 0 || bufsize > 65535 { + return nil, fmt.Errorf("--bufsize must be between 0 and 65535, got %d", bufsize) + } + if bufsize > 0 && bufsize < 512 { + return nil, fmt.Errorf("--bufsize must be 0 or at least 512 (RFC 6891), got %d", bufsize) + } + cfg.queryFlags = resolvers.QueryFlags{ AA: k.Bool("aa"), AD: k.Bool("ad"), @@ -135,6 +143,7 @@ Padding: k.Bool("padding"), EDE: k.Bool("ede"), ECS: k.String("ecs"), + Bufsize: uint16(bufsize), } return cfg, nil @@ -184,6 +193,7 @@ f.Bool("padding", false, "Request EDNS padding for privacy") f.Bool("ede", false, "Request Extended DNS Errors") f.String("ecs", "", "EDNS Client Subnet (e.g., '192.0.2.0/24' or '2001:db8::/32')") + f.Int("bufsize", 0, "EDNS UDP buffer size in bytes (512-65535); setting this enables EDNS even without other EDNS options. Default is 1232 when EDNS is enabled.") f.Bool("version", false, "Show version of doggo") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/cmd/doggo/completions.go new/doggo-1.1.6/cmd/doggo/completions.go --- old/doggo-1.1.5/cmd/doggo/completions.go 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/cmd/doggo/completions.go 2026-05-20 09:36:30.000000000 +0200 @@ -13,7 +13,7 @@ cur="${COMP_WORDS[COMP_CWORD]}" prev="${COMP_WORDS[COMP_CWORD-1]}" - opts="-v --version -h --help -q --query -t --type -n --nameserver -c --class -r --reverse --any --strategy --ndots --search --timeout -4 --ipv4 -6 --ipv6 --tls-hostname --skip-hostname-verification --aa --ad --cd --rd --z --do --nsid --cookie --padding --ede --ecs -J --json --short --color --debug --time --gp-from --gp-limit" + opts="-v --version -h --help -q --query -t --type -n --nameserver -c --class -r --reverse --any --strategy --ndots --search --timeout -4 --ipv4 -6 --ipv6 --tls-hostname --skip-hostname-verification --aa --ad --cd --rd --z --do --nsid --cookie --padding --ede --ecs --bufsize -J --json --short --color --debug --time --gp-from --gp-limit" case "${prev}" in -t|--type) @@ -84,6 +84,7 @@ '--padding[Request EDNS padding for privacy]' \ '--ede[Request Extended DNS Errors]' \ '--ecs[EDNS Client Subnet]:subnet' \ + '--bufsize[EDNS UDP buffer size in bytes]:buffer size' \ '(-J --json)'{-J,--json}'[Format the output as JSON]' \ '--short[Shows only the response section in the output]' \ '--color[Colored output]:setting:(true false)' \ @@ -149,6 +150,7 @@ complete -c doggo -n '__fish_doggo_no_subcommand' -l 'padding' -d "Request EDNS padding for privacy" complete -c doggo -n '__fish_doggo_no_subcommand' -l 'ede' -d "Request Extended DNS Errors" complete -c doggo -n '__fish_doggo_no_subcommand' -l 'ecs' -d "EDNS Client Subnet" -x +complete -c doggo -n '__fish_doggo_no_subcommand' -l 'bufsize' -d "EDNS UDP buffer size in bytes" -x # Output options complete -c doggo -n '__fish_doggo_no_subcommand' -s 'J' -l 'json' -d "Format the output as JSON" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/cmd/doggo/help.go new/doggo-1.1.6/cmd/doggo/help.go --- old/doggo-1.1.5/cmd/doggo/help.go 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/cmd/doggo/help.go 2026-05-20 09:36:30.000000000 +0200 @@ -144,6 +144,7 @@ {"--padding", "Request EDNS padding for privacy. Helps mitigate traffic analysis attacks."}, {"--ede", "Request Extended DNS Errors for detailed error information."}, {"--ecs=SUBNET", "EDNS Client Subnet (e.g., '192.0.2.0/24' or '2001:db8::/32'). Send client subnet for geo-aware responses."}, + {"--bufsize=BYTES", "EDNS UDP buffer size in bytes (512-65535). Setting this enables EDNS even without other EDNS options. Default is 1232 when EDNS is enabled."}, }, "OutputOptions": []Option{ {"-J, --json", "Format the output as JSON."}, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/docs/astro.config.mjs new/doggo-1.1.6/docs/astro.config.mjs --- old/doggo-1.1.5/docs/astro.config.mjs 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/docs/astro.config.mjs 2026-05-20 09:36:30.000000000 +0200 @@ -36,7 +36,7 @@ { label: "DNS over HTTPS (DoH)", link: "/resolvers/doh" }, { label: "DNS over TLS (DoT)", link: "/resolvers/dot" }, { label: "DNSCrypt", link: "/resolvers/dnscrypt" }, - { label: "DNS over HTTPS (DoQ)", link: "/resolvers/quic" }, + { label: "DNS over QUIC (DoQ)", link: "/resolvers/quic" }, ], }, { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/docs/src/content/docs/guide/reference.md new/doggo-1.1.6/docs/src/content/docs/guide/reference.md --- old/doggo-1.1.5/docs/src/content/docs/guide/reference.md 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/docs/src/content/docs/guide/reference.md 2026-05-20 09:36:30.000000000 +0200 @@ -56,6 +56,7 @@ | `--padding` | Request EDNS padding for privacy (helps mitigate traffic analysis attacks by standardizing packet sizes) | | `--ede` | Request Extended DNS Errors for detailed error information when queries fail | | `--ecs=SUBNET`| EDNS Client Subnet - sends client subnet information for geo-aware responses (e.g., `192.0.2.0/24` or `2001:db8::/32`) | +| `--bufsize=BYTES` | EDNS UDP buffer size in bytes (512-65535). Setting this enables EDNS even without other EDNS options. Default is 1232 when EDNS is enabled — the [DNS Flagday 2020](https://dnsflagday.net/2020/) recommendation to avoid IP fragmentation. | ### EDNS Examples diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/go.mod new/doggo-1.1.6/go.mod --- old/doggo-1.1.5/go.mod 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/go.mod 2026-05-20 09:36:30.000000000 +0200 @@ -1,50 +1,50 @@ module github.com/mr-karan/doggo -go 1.25.5 +go 1.26.2 require ( github.com/ameshkov/dnscrypt/v2 v2.4.0 github.com/ameshkov/dnsstamps v1.0.3 - github.com/fatih/color v1.18.0 + github.com/fatih/color v1.19.0 github.com/go-chi/chi/v5 v5.2.5 github.com/jsdelivr/globalping-cli v1.5.1 github.com/knadh/koanf/parsers/toml v0.1.0 github.com/knadh/koanf/providers/env v1.1.0 github.com/knadh/koanf/providers/file v1.2.1 github.com/knadh/koanf/providers/posflag v1.0.1 - github.com/knadh/koanf/v2 v2.3.2 + github.com/knadh/koanf/v2 v2.3.4 github.com/miekg/dns v1.1.72 - github.com/olekukonko/tablewriter v1.1.3 - github.com/quic-go/quic-go v0.59.0 + github.com/olekukonko/tablewriter v1.1.4 + github.com/quic-go/quic-go v0.59.1 github.com/spf13/pflag v1.0.10 - golang.org/x/net v0.50.0 - golang.org/x/sys v0.41.0 + golang.org/x/net v0.54.0 + golang.org/x/sys v0.44.0 ) require ( - github.com/AdguardTeam/golibs v0.35.8 // indirect - github.com/andybalholm/brotli v1.2.0 // indirect + github.com/AdguardTeam/golibs v0.35.13 // indirect + github.com/andybalholm/brotli v1.2.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/clipperhouse/displaywidth v0.11.0 // indirect github.com/clipperhouse/uax29/v2 v2.7.0 // indirect - github.com/fsnotify/fsnotify v1.9.0 // indirect + github.com/fsnotify/fsnotify v1.10.1 // indirect github.com/go-viper/mapstructure/v2 v2.5.0 // indirect - github.com/goccy/go-json v0.10.5 // indirect + github.com/goccy/go-json v0.10.6 // indirect github.com/knadh/koanf/maps v0.1.2 // indirect github.com/mattn/go-colorable v0.1.14 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect - github.com/mattn/go-runewidth v0.0.20 // indirect + github.com/mattn/go-isatty v0.0.22 // indirect + github.com/mattn/go-runewidth v0.0.23 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 // indirect - github.com/olekukonko/errors v1.2.0 // indirect - github.com/olekukonko/ll v0.1.7 // indirect + github.com/olekukonko/errors v1.3.0 // indirect + github.com/olekukonko/ll v0.1.8 // indirect github.com/pelletier/go-toml v1.9.5 // indirect go.uber.org/mock v0.6.0 // indirect - golang.org/x/crypto v0.48.0 // indirect - golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa // indirect - golang.org/x/mod v0.33.0 // indirect - golang.org/x/sync v0.19.0 // indirect - golang.org/x/text v0.34.0 // indirect - golang.org/x/tools v0.42.0 // indirect + golang.org/x/crypto v0.51.0 // indirect + golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a // indirect + golang.org/x/mod v0.36.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/text v0.37.0 // indirect + golang.org/x/tools v0.45.0 // indirect ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/go.sum new/doggo-1.1.6/go.sum --- old/doggo-1.1.5/go.sum 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/go.sum 2026-05-20 09:36:30.000000000 +0200 @@ -1,11 +1,11 @@ -github.com/AdguardTeam/golibs v0.35.8 h1:KsyF3SWwj05Ey4GiAWU6FGD9oJTDNMp1ixVdS+Nw50M= -github.com/AdguardTeam/golibs v0.35.8/go.mod h1:kuLQ0yNRTl0Em2FmmXtSri7ZdVT7p62oojyc51RvP38= +github.com/AdguardTeam/golibs v0.35.13 h1:sflm5/sWhiGwUXNAZObiqVMkdg8HeYVFK2A0oJ27hbU= +github.com/AdguardTeam/golibs v0.35.13/go.mod h1:8EEGG4auTDd8HV3tBETXLkuxDH9lk9vvFbJn+wbmypg= github.com/ameshkov/dnscrypt/v2 v2.4.0 h1:if6ZG2cuQmcP2TwSY+D0+8+xbPfoatufGlOQTMNkI9o= github.com/ameshkov/dnscrypt/v2 v2.4.0/go.mod h1:WpEFV2uhebXb8Jhes/5/fSdpmhGV8TL22RDaeWwV6hI= github.com/ameshkov/dnsstamps v1.0.3 h1:Srzik+J9mivH1alRACTbys2xOxs0lRH9qnTA7Y1OYVo= github.com/ameshkov/dnsstamps v1.0.3/go.mod h1:Ii3eUu73dx4Vw5O4wjzmT5+lkCwovjzaEZZ4gKyIH5A= -github.com/andybalholm/brotli v1.2.0 h1:ukwgCxwYrmACq68yiUqwIWnGY0cTPox/M94sVwToPjQ= -github.com/andybalholm/brotli v1.2.0/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= +github.com/andybalholm/brotli v1.2.1 h1:R+f5xP285VArJDRgowrfb9DqL18yVK0gKAW/F+eTWro= +github.com/andybalholm/brotli v1.2.1/go.mod h1:rzTDkvFWvIrjDXZHkuS16NPggd91W3kUSvPlQ1pLaKY= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/clipperhouse/displaywidth v0.11.0 h1:lBc6kY44VFw+TDx4I8opi/EtL9m20WSEFgwIwO+UVM8= @@ -14,16 +14,16 @@ github.com/clipperhouse/uax29/v2 v2.7.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= -github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= -github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fatih/color v1.19.0 h1:Zp3PiM21/9Ld6FzSKyL5c/BULoe/ONr9KlbYVOfG8+w= +github.com/fatih/color v1.19.0/go.mod h1:zNk67I0ZUT1bEGsSGyCZYZNrHuTkJJB+r6Q9VuMi0LE= +github.com/fsnotify/fsnotify v1.10.1 h1:b0/UzAf9yR5rhf3RPm9gf3ehBPpf0oZKIjtpKrx59Ho= +github.com/fsnotify/fsnotify v1.10.1/go.mod h1:TLheqan6HD6GBK6PrDWyDPBaEV8LspOxvPSjC+bVfgo= github.com/go-chi/chi/v5 v5.2.5 h1:Eg4myHZBjyvJmAFjFvWgrqDTXFyOzjj7YIm3L3mu6Ug= github.com/go-chi/chi/v5 v5.2.5/go.mod h1:X7Gx4mteadT3eDOMTsXzmI4/rwUpOwBHLpAfupzFJP0= github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= -github.com/goccy/go-json v0.10.5 h1:Fq85nIqj+gXn/S5ahsiTlK3TmC85qgirsdTP/+DeaC4= -github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-json v0.10.6 h1:p8HrPJzOakx/mn/bQtjgNjdTcN+/S6FcG2CTtQOrHVU= +github.com/goccy/go-json v0.10.6/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/jsdelivr/globalping-cli v1.5.1 h1:7RZNmIljSBXe0xBeOoGQHXZNwHo6zDuQ0BI9hF12gLY= @@ -38,14 +38,14 @@ github.com/knadh/koanf/providers/file v1.2.1/go.mod h1:bp1PM5f83Q+TOUu10J/0ApLBd9uIzg+n9UgthfY+nRA= github.com/knadh/koanf/providers/posflag v1.0.1 h1:EnMxHSrPkYCFnKgBUl5KBgrjed8gVFrcXDzaW4l/C6Y= github.com/knadh/koanf/providers/posflag v1.0.1/go.mod h1:3Wn3+YG3f4ljzRyCUgIwH7G0sZ1pMjCOsNBovrbKmAk= -github.com/knadh/koanf/v2 v2.3.2 h1:Ee6tuzQYFwcZXQpc2MiVeC6qHMandf5SMUJJNoFp/c4= -github.com/knadh/koanf/v2 v2.3.2/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= +github.com/knadh/koanf/v2 v2.3.4 h1:fnynNSDlujWE+v83hAp8wKr/cdoxHLO0629SN+U8Urc= +github.com/knadh/koanf/v2 v2.3.4/go.mod h1:gRb40VRAbd4iJMYYD5IxZ6hfuopFcXBpc9bbQpZwo28= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/mattn/go-runewidth v0.0.20 h1:WcT52H91ZUAwy8+HUkdM3THM6gXqXuLJi9O3rjcQQaQ= -github.com/mattn/go-runewidth v0.0.20/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= +github.com/mattn/go-isatty v0.0.22 h1:j8l17JJ9i6VGPUFUYoTUKPSgKe/83EYU2zBC7YNKMw4= +github.com/mattn/go-isatty v0.0.22/go.mod h1:ZXfXG4SQHsB/w3ZeOYbR0PrPwLy+n6xiMrJlRFqopa4= +github.com/mattn/go-runewidth v0.0.23 h1:7ykA0T0jkPpzSvMS5i9uoNn2Xy3R383f9HDx3RybWcw= +github.com/mattn/go-runewidth v0.0.23/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/miekg/dns v1.1.72 h1:vhmr+TF2A3tuoGNkLDFK9zi36F2LS+hKTRW0Uf8kbzI= github.com/miekg/dns v1.1.72/go.mod h1:+EuEPhdHOsfk6Wk5TT2CzssZdqkmFhf8r+aVyDEToIs= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= @@ -54,18 +54,18 @@ github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6 h1:zrbMGy9YXpIeTnGj4EljqMiZsIcE09mmF8XsD5AYOJc= github.com/olekukonko/cat v0.0.0-20250911104152-50322a0618f6/go.mod h1:rEKTHC9roVVicUIfZK7DYrdIoM0EOr8mK1Hj5s3JjH0= -github.com/olekukonko/errors v1.2.0 h1:10Zcn4GeV59t/EGqJc8fUjtFT/FuUh5bTMzZ1XwmCRo= -github.com/olekukonko/errors v1.2.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y= -github.com/olekukonko/ll v0.1.7 h1:WyK1YZwOTUKHEXZz3VydBDT5t3zDqa9yI8iJg5PHon4= -github.com/olekukonko/ll v0.1.7/go.mod h1:RPRC6UcscfFZgjo1nulkfMH5IM0QAYim0LfnMvUuozw= -github.com/olekukonko/tablewriter v1.1.3 h1:VSHhghXxrP0JHl+0NnKid7WoEmd9/urKRJLysb70nnA= -github.com/olekukonko/tablewriter v1.1.3/go.mod h1:9VU0knjhmMkXjnMKrZ3+L2JhhtsQ/L38BbL3CRNE8tM= +github.com/olekukonko/errors v1.3.0 h1:teJvgLGUEqMzBUms+Dj3/3szNqCG/Jdw9iDbum8fR6U= +github.com/olekukonko/errors v1.3.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y= +github.com/olekukonko/ll v0.1.8 h1:ysHCJRGHYKzmBSdz9w5AySztx7lG8SQY+naTGYUbsz8= +github.com/olekukonko/ll v0.1.8/go.mod h1:RPRC6UcscfFZgjo1nulkfMH5IM0QAYim0LfnMvUuozw= +github.com/olekukonko/tablewriter v1.1.4 h1:ORUMI3dXbMnRlRggJX3+q7OzQFDdvgbN9nVWj1drm6I= +github.com/olekukonko/tablewriter v1.1.4/go.mod h1:+kedxuyTtgoZLwif3P1Em4hARJs+mVnzKxmsCL/C5RY= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/quic-go/quic-go v0.59.0 h1:OLJkp1Mlm/aS7dpKgTc6cnpynnD2Xg7C1pwL6vy/SAw= -github.com/quic-go/quic-go v0.59.0/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= +github.com/quic-go/quic-go v0.59.1 h1:0Gmua0HW1Tv7ANR7hUYwRyD0MG5OJfgvYSZasGZzBic= +github.com/quic-go/quic-go v0.59.1/go.mod h1:upnsH4Ju1YkqpLXC305eW3yDZ4NfnNbmQRCMWS58IKU= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= @@ -74,22 +74,21 @@ github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E= go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= -golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= -golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa h1:Zt3DZoOFFYkKhDT3v7Lm9FDMEV06GpzjG2jrqW+QTE0= -golang.org/x/exp v0.0.0-20260218203240-3dfff04db8fa/go.mod h1:K79w1Vqn7PoiZn+TkNpx3BUWUQksGO3JcVX6qIjytmA= -golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= -golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= -golang.org/x/net v0.50.0 h1:ucWh9eiCGyDR3vtzso0WMQinm2Dnt8cFMuQa9K33J60= -golang.org/x/net v0.50.0/go.mod h1:UgoSli3F/pBgdJBHCTc+tp3gmrU4XswgGRgtnwWTfyM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= -golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= -golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= -golang.org/x/tools v0.42.0 h1:uNgphsn75Tdz5Ji2q36v/nsFSfR/9BRFvqhGBaJGd5k= -golang.org/x/tools v0.42.0/go.mod h1:Ma6lCIwGZvHK6XtgbswSoWroEkhugApmsXyrUmBhfr0= +golang.org/x/crypto v0.51.0 h1:IBPXwPfKxY7cWQZ38ZCIRPI50YLeevDLlLnyC5wRGTI= +golang.org/x/crypto v0.51.0/go.mod h1:8AdwkbraGNABw2kOX6YFPs3WM22XqI4EXEd8g+x7Oc8= +golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a h1:+3jdDGGB8NGb1Zktc737jlt3/A5f6UlwSzmvqUuufxw= +golang.org/x/exp v0.0.0-20260508232706-74f9aab9d74a/go.mod h1:d2fgXJLVs4dYDHUk5lwMIfzRzSrWCfGZb0ZqeLa/Vcw= +golang.org/x/mod v0.36.0 h1:JJjpVx6myfUsUdAzZuOSTTmRE0PfZeNWzzvKrP7amb4= +golang.org/x/mod v0.36.0/go.mod h1:moc6ELqsWcOw5Ef3xVprK5ul/MvtVvkIXLziUOICjUQ= +golang.org/x/net v0.54.0 h1:2zJIZAxAHV/OHCDTCOHAYehQzLfSXuf/5SoL/Dv6w/w= +golang.org/x/net v0.54.0/go.mod h1:Sj4oj8jK6XmHpBZU/zWHw3BV3abl4Kvi+Ut7cQcY+cQ= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sys v0.44.0 h1:ildZl3J4uzeKP07r2F++Op7E9B29JRUy+a27EibtBTQ= +golang.org/x/sys v0.44.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/text v0.37.0 h1:Cqjiwd9eSg8e0QAkyCaQTNHFIIzWtidPahFWR83rTrc= +golang.org/x/text v0.37.0/go.mod h1:a5sjxXGs9hsn/AJVwuElvCAo9v8QYLzvavO5z2PiM38= +golang.org/x/tools v0.45.0 h1:18qN3FAooORvApf5XjCXgsuayZOEtXf6JK18I3+ONa8= +golang.org/x/tools v0.45.0/go.mod h1:LuUGqqaXcXMEFEruIVJVm5mgDD8vww/z/SR1gQ4uE/0= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/pkg/models/models.go new/doggo-1.1.6/pkg/models/models.go --- old/doggo-1.1.5/pkg/models/models.go 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/pkg/models/models.go 2026-05-20 09:36:30.000000000 +0200 @@ -60,6 +60,7 @@ Padding bool `koanf:"padding" json:"padding"` // Request EDNS padding for privacy EDE bool `koanf:"ede" json:"ede"` // Request Extended DNS Errors ECS string `koanf:"ecs" json:"ecs"` // EDNS Client Subnet + Bufsize uint16 `koanf:"bufsize" json:"bufsize"` // EDNS UDP buffer size (default: 1232 when EDNS enabled) // Globalping flags GPFrom string `koanf:"gp-from" json:"gp-from"` diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/pkg/resolvers/dnscrypt.go new/doggo-1.1.6/pkg/resolvers/dnscrypt.go --- old/doggo-1.1.5/pkg/resolvers/dnscrypt.go 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/pkg/resolvers/dnscrypt.go 2026-05-20 09:36:30.000000000 +0200 @@ -28,7 +28,7 @@ net = "tcp" } - client := &dnscrypt.Client{Net: net, Timeout: resolverOpts.Timeout, UDPSize: 4096} + client := &dnscrypt.Client{Net: net, Timeout: resolverOpts.Timeout, UDPSize: 1232} resolverInfo, err := client.Dial(server) if err != nil { return nil, err diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/pkg/resolvers/utils.go new/doggo-1.1.6/pkg/resolvers/utils.go --- old/doggo-1.1.5/pkg/resolvers/utils.go 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/pkg/resolvers/utils.go 2026-05-20 09:36:30.000000000 +0200 @@ -27,6 +27,7 @@ Padding bool // Request EDNS padding for privacy EDE bool // Request Extended DNS Errors ECS string // EDNS Client Subnet (e.g., "192.0.2.0/24" or "2001:db8::/32") + Bufsize uint16 // EDNS UDP buffer size (default: 1232 when EDNS enabled) } // prepareMessages takes a DNS Question and returns the @@ -50,8 +51,12 @@ msg.Zero = flags.Z // Set EDNS0 if any EDNS options are requested - if flags.DO || flags.NSID || flags.Cookie || flags.Padding || flags.EDE || flags.ECS != "" { - msg.SetEdns0(4096, flags.DO) + if flags.DO || flags.NSID || flags.Cookie || flags.Padding || flags.EDE || flags.ECS != "" || flags.Bufsize > 0 { + bufsize := flags.Bufsize + if bufsize == 0 { + bufsize = 1232 + } + msg.SetEdns0(bufsize, flags.DO) // Add EDNS0 options opt := msg.IsEdns0() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/pkg/resolvers/utils_test.go new/doggo-1.1.6/pkg/resolvers/utils_test.go --- old/doggo-1.1.5/pkg/resolvers/utils_test.go 1970-01-01 01:00:00.000000000 +0100 +++ new/doggo-1.1.6/pkg/resolvers/utils_test.go 2026-05-20 09:36:30.000000000 +0200 @@ -0,0 +1,70 @@ +package resolvers + +import ( + "testing" + + "github.com/miekg/dns" +) + +func TestPrepareMessagesEDNS(t *testing.T) { + q := dns.Question{Name: "example.com.", Qtype: dns.TypeA, Qclass: dns.ClassINET} + + tests := []struct { + name string + flags QueryFlags + wantEDNS bool + wantBufsize uint16 + }{ + { + name: "no EDNS options omits OPT record", + flags: QueryFlags{RD: true}, + wantEDNS: false, + }, + { + name: "DO flag advertises default 1232", + flags: QueryFlags{RD: true, DO: true}, + wantEDNS: true, + wantBufsize: 1232, + }, + { + name: "explicit bufsize is used", + flags: QueryFlags{RD: true, Bufsize: 2048}, + wantEDNS: true, + wantBufsize: 2048, + }, + { + name: "bufsize alone enables EDNS", + flags: QueryFlags{RD: true, Bufsize: 4096}, + wantEDNS: true, + wantBufsize: 4096, + }, + { + name: "explicit bufsize overrides default when combined with DO", + flags: QueryFlags{RD: true, DO: true, Bufsize: 1500}, + wantEDNS: true, + wantBufsize: 1500, + }, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + msgs := prepareMessages(q, tt.flags, 1, nil) + if len(msgs) != 1 { + t.Fatalf("expected 1 message, got %d", len(msgs)) + } + opt := msgs[0].IsEdns0() + if !tt.wantEDNS { + if opt != nil { + t.Errorf("expected no OPT record, got %+v", opt) + } + return + } + if opt == nil { + t.Fatal("expected OPT record, got nil") + } + if got := opt.UDPSize(); got != tt.wantBufsize { + t.Errorf("UDPSize = %d, want %d", got, tt.wantBufsize) + } + }) + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/doggo-1.1.5/web/handlers.go new/doggo-1.1.6/web/handlers.go --- old/doggo-1.1.5/web/handlers.go 2026-02-24 10:04:51.000000000 +0100 +++ new/doggo-1.1.6/web/handlers.go 2026-05-20 09:36:30.000000000 +0200 @@ -108,6 +108,7 @@ Padding: app.QueryFlags.Padding, EDE: app.QueryFlags.EDE, ECS: app.QueryFlags.ECS, + Bufsize: app.QueryFlags.Bufsize, } // Default to RD=true if not explicitly set ++++++ doggo.obsinfo ++++++ --- /var/tmp/diff_new_pack.BBhReP/_old 2026-05-20 15:27:16.508947583 +0200 +++ /var/tmp/diff_new_pack.BBhReP/_new 2026-05-20 15:27:16.516947914 +0200 @@ -1,5 +1,5 @@ name: doggo -version: 1.1.5 -mtime: 1771923891 -commit: c1e6f89eca428a69529223fffb088bdc31264310 +version: 1.1.6 +mtime: 1779262590 +commit: 2bcf2f719d2017db2d525cd8b31c65f4b8b54e69 ++++++ vendor.tar.xz ++++++ ++++ 48636 lines of diff (skipped)
