2022-03-17 05:37:08 -04:00
|
|
|
# syntax=docker/dockerfile:1
|
2017-05-02 15:10:03 -04:00
|
|
|
|
update to go1.21.4
Reverts "update to go1.21.4" due to regressions / breaking changes."
This reverts commit 4cf1c50ad174f9e1bb19785f6f4c2db508c539eb.
This re-applies commit 6472dabe4c9b5bdad472ff5c809dafe82f7c7064.
----
update to go1.21.4
go1.21.4 (released 2023-11-07) includes security fixes to the path/filepath package, as well as bug fixes to the linker, the runtime, the compiler, and the go/types, net/http, and runtime/cgo packages. See the Go 1.21.4 milestone on our issue tracker for details:
- https://github.com/golang/go/issues?q=milestone%3AGo1.21.4+label%3ACherryPickApproved
- full diff: https://github.com/golang/go/compare/go1.21.3...go1.21.4
from the security mailing:
[security] Go 1.21.4 and Go 1.20.11 are released
Hello gophers,
We have just released Go versions 1.21.4 and 1.20.11, minor point releases.
These minor releases include 2 security fixes following the security policy:
- path/filepath: recognize `\??\` as a Root Local Device path prefix.
On Windows, a path beginning with `\??\` is a Root Local Device path equivalent
to a path beginning with `\\?\`. Paths with a `\??\` prefix may be used to
access arbitrary locations on the system. For example, the path `\??\c:\x`
is equivalent to the more common path c:\x.
The filepath package did not recognize paths with a `\??\` prefix as special.
Clean could convert a rooted path such as `\a\..\??\b` into
the root local device path `\??\b`. It will now convert this
path into `.\??\b`.
`IsAbs` did not report paths beginning with `\??\` as absolute.
It now does so.
VolumeName now reports the `\??\` prefix as a volume name.
`Join(`\`, `??`, `b`)` could convert a seemingly innocent
sequence of path elements into the root local device path
`\??\b`. It will now convert this to `\.\??\b`.
This is CVE-2023-45283 and https://go.dev/issue/63713.
- path/filepath: recognize device names with trailing spaces and superscripts
The `IsLocal` function did not correctly detect reserved names in some cases:
- reserved names followed by spaces, such as "COM1 ".
- "COM" or "LPT" followed by a superscript 1, 2, or 3.
`IsLocal` now correctly reports these names as non-local.
This is CVE-2023-45284 and https://go.dev/issue/63713.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2023-12-05 17:45:18 -05:00
|
|
|
ARG GO_VERSION=1.21.4
|
2023-06-14 07:30:40 -04:00
|
|
|
ARG ALPINE_VERSION=3.18
|
2023-11-20 04:04:36 -05:00
|
|
|
ARG GOLANGCI_LINT_VERSION=v1.55.2
|
2017-05-02 15:10:03 -04:00
|
|
|
|
2021-08-05 02:44:16 -04:00
|
|
|
FROM golangci/golangci-lint:${GOLANGCI_LINT_VERSION}-alpine AS golangci-lint
|
2017-05-02 15:10:03 -04:00
|
|
|
|
2022-12-04 08:01:30 -05:00
|
|
|
FROM golang:${GO_VERSION}-alpine${ALPINE_VERSION} AS lint
|
2023-09-26 06:43:38 -04:00
|
|
|
ENV GOTOOLCHAIN=local
|
2021-08-05 02:44:16 -04:00
|
|
|
ENV GO111MODULE=off
|
|
|
|
ENV CGO_ENABLED=0
|
|
|
|
ENV GOGC=75
|
2019-04-02 11:27:12 -04:00
|
|
|
WORKDIR /go/src/github.com/docker/cli
|
2023-08-24 19:56:35 -04:00
|
|
|
COPY --link --from=golangci-lint /usr/bin/golangci-lint /usr/bin/golangci-lint
|
2021-08-05 02:44:16 -04:00
|
|
|
RUN --mount=type=bind,target=. \
|
|
|
|
--mount=type=cache,target=/root/.cache \
|
|
|
|
golangci-lint run
|