diff --git a/.github/workflows/releases.yml b/.github/workflows/releases.yml index 04dbca09..23be1d08 100644 --- a/.github/workflows/releases.yml +++ b/.github/workflows/releases.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Get the version id: get_version - run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} + run: echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT - name: Set up Go uses: actions/setup-go@v3 diff --git a/dnscrypt-proxy/xtransport.go b/dnscrypt-proxy/xtransport.go index 21bc707e..8cfdaa85 100644 --- a/dnscrypt-proxy/xtransport.go +++ b/dnscrypt-proxy/xtransport.go @@ -503,17 +503,17 @@ func (xTransport *XTransport) Fetch( if xTransport.h3Transport != nil && !hasAltSupport { if alt, found := resp.Header["Alt-Svc"]; found { dlog.Debugf("Alt-Svc [%s]: [%s]", url.Host, alt) - altPort := uint16(port) + altPort := uint16(port & 0xffff) for i, xalt := range alt { for j, v := range strings.Split(xalt, ";") { - if i > 8 || j > 16 { + if i >= 8 || j >= 16 { break } v = strings.TrimSpace(v) if strings.HasPrefix(v, "h3=\":") { v = strings.TrimPrefix(v, "h3=\":") v = strings.TrimSuffix(v, "\"") - if xAltPort, err := strconv.ParseUint(v, 10, 16); err == nil && xAltPort <= 65536 { + if xAltPort, err := strconv.ParseUint(v, 10, 16); err == nil && xAltPort <= 65535 { altPort = uint16(xAltPort) dlog.Debugf("Using HTTP/3 for [%s]", url.Host) break