Commit Graph

63 Commits

Author SHA1 Message Date
Guillaume Lours e65ada3984
fix version of golangci-lint to v1.47.3, issue with v1.48.0 for now
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2022-08-05 10:37:11 +02:00
Milas Bowman b1e4cde2da build: bump to Go 1.18.5
Can give 1.19 a bit of time before we upgrade ;)

Signed-off-by: Milas Bowman <milas.bowman@docker.com>
2022-08-02 13:40:37 -04:00
Guillaume Lours dae4231810
remove usage of GO111MODULE option in gh actions
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2022-07-26 10:42:38 +02:00
Guillaume Lours a4c2c4a832
use env variable for golang version and updates gh actions from v2 to v3
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2022-07-25 23:20:35 +02:00
Sebastiaan van Stijn d54cd0445e
update go to 1.18.4
go1.18.4 (released 2022-07-12) includes security fixes to the compress/gzip,
encoding/gob, encoding/xml, go/parser, io/fs, net/http, and path/filepath
packages, as well as bug fixes to the compiler, the go command, the linker,
the runtime, and the runtime/metrics package. See the Go 1.18.4 milestone on the
issue tracker for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.18.4+label%3ACherryPickApproved

This update addresses:

CVE-2022-1705, CVE-2022-1962, CVE-2022-28131, CVE-2022-30630, CVE-2022-30631,
CVE-2022-30632, CVE-2022-30633, CVE-2022-30635, and CVE-2022-32148.

Full diff: https://github.com/golang/go/compare/go1.18.3...go1.18.4

From the security announcement;
https://groups.google.com/g/golang-announce/c/nqrv9fbR0zE

We have just released Go versions 1.18.4 and 1.17.12, minor point releases. These
minor releases include 9 security fixes following the security policy:

- net/http: improper sanitization of Transfer-Encoding header

  The HTTP/1 client accepted some invalid Transfer-Encoding headers as indicating
  a "chunked" encoding. This could potentially allow for request smuggling, but
  only if combined with an intermediate server that also improperly failed to
  reject the header as invalid.

  This is CVE-2022-1705 and https://go.dev/issue/53188.

- When `httputil.ReverseProxy.ServeHTTP` was called with a `Request.Header` map
  containing a nil value for the X-Forwarded-For header, ReverseProxy would set
  the client IP as the value of the X-Forwarded-For header, contrary to its
  documentation. In the more usual case where a Director function set the
  X-Forwarded-For header value to nil, ReverseProxy would leave the header
  unmodified as expected.

  This is https://go.dev/issue/53423 and CVE-2022-32148.

  Thanks to Christian Mehlmauer for reporting this issue.

- compress/gzip: stack exhaustion in Reader.Read

  Calling Reader.Read on an archive containing a large number of concatenated
  0-length compressed files can cause a panic due to stack exhaustion.

  This is CVE-2022-30631 and Go issue https://go.dev/issue/53168.

- encoding/xml: stack exhaustion in Unmarshal

  Calling Unmarshal on a XML document into a Go struct which has a nested field
  that uses the any field tag can cause a panic due to stack exhaustion.

  This is CVE-2022-30633 and Go issue https://go.dev/issue/53611.

- encoding/xml: stack exhaustion in Decoder.Skip

  Calling Decoder.Skip when parsing a deeply nested XML document can cause a
  panic due to stack exhaustion. The Go Security team discovered this issue, and
  it was independently reported by Juho Nurminen of Mattermost.

  This is CVE-2022-28131 and Go issue https://go.dev/issue/53614.

- encoding/gob: stack exhaustion in Decoder.Decode

  Calling Decoder.Decode on a message which contains deeply nested structures
  can cause a panic due to stack exhaustion.

  This is CVE-2022-30635 and Go issue https://go.dev/issue/53615.

- path/filepath: stack exhaustion in Glob

  Calling Glob on a path which contains a large number of path separators can
  cause a panic due to stack exhaustion.

  Thanks to Juho Nurminen of Mattermost for reporting this issue.

  This is CVE-2022-30632 and Go issue https://go.dev/issue/53416.

- io/fs: stack exhaustion in Glob

  Calling Glob on a path which contains a large number of path separators can
  cause a panic due to stack exhaustion.

  This is CVE-2022-30630 and Go issue https://go.dev/issue/53415.

- go/parser: stack exhaustion in all Parse* functions

  Calling any of the Parse functions on Go source code which contains deeply
  nested types or declarations can cause a panic due to stack exhaustion.

  Thanks to Juho Nurminen of Mattermost for reporting this issue.

  This is CVE-2022-1962 and Go issue https://go.dev/issue/53616.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-07-13 12:40:24 +02:00
Sebastiaan van Stijn d2639a8638
update golang to 1.18.3
go1.18.3 (released 2022-06-01) includes security fixes to the crypto/rand,
crypto/tls, os/exec, and path/filepath packages, as well as bug fixes to the
compiler, and the crypto/tls and text/template/parse packages. See the Go
1.18.3 milestone on our issue tracker for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.18.3+label%3ACherryPickApproved

Hello gophers,

We have just released Go versions 1.18.3 and 1.17.11, minor point releases.

These minor releases include 4 security fixes following the security policy:

- crypto/rand: rand.Read hangs with extremely large buffers
  On Windows, rand.Read will hang indefinitely if passed a buffer larger than
  1 << 32 - 1 bytes.

  Thanks to Davis Goodin and Quim Muntal, working at Microsoft on the Go toolset,
  for reporting this issue.

  This is [CVE-2022-30634][CVE-2022-30634] and Go issue https://go.dev/issue/52561.
- crypto/tls: session tickets lack random ticket_age_add
  Session tickets generated by crypto/tls did not contain a randomly generated
  ticket_age_add. This allows an attacker that can observe TLS handshakes to
  correlate successive connections by comparing ticket ages during session
  resumption.

  Thanks to GitHub user nervuri for reporting this.

  This is [CVE-2022-30629][CVE-2022-30629] and Go issue https://go.dev/issue/52814.
- `os/exec`: empty `Cmd.Path` can result in running unintended binary on Windows

  If, on Windows, `Cmd.Run`, `cmd.Start`, `cmd.Output`, or `cmd.CombinedOutput`
  are executed when Cmd.Path is unset and, in the working directory, there are
  binaries named either "..com" or "..exe", they will be executed.

  Thanks to Chris Darroch, brian m. carlson, and Mikhail Shcherbakov for reporting
  this.

  This is [CVE-2022-30580][CVE-2022-30580] and Go issue https://go.dev/issue/52574.
- `path/filepath`: Clean(`.\c:`) returns `c:` on Windows

  On Windows, the `filepath.Clean` function could convert an invalid path to a
  valid, absolute path. For example, Clean(`.\c:`) returned `c:`.

  Thanks to Unrud for reporting this issue.

  This is [CVE-2022-29804][CVE-2022-29804] and Go issue https://go.dev/issue/52476.

[CVE-2022-30634]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-30634
[CVE-2022-30629]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-30629
[CVE-2022-30580]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-30580
[CVE-2022-29804]: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29804

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-06-02 09:56:16 +02:00
Guillaume Lours 6b71073ae2
Merge pull request #9453 from glours/go-18
update golang version to 1.18
2022-05-23 10:41:03 +02:00
Guillaume Lours 71600a52bf
update golang version to 1.18
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2022-05-20 22:13:55 +02:00
Ulysses Souza e51fd0a844 Fix local run of `make e2e-compose-standalone`
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2022-05-20 21:31:16 +02:00
Randy Fay 97d46a14ef Fix problems with ddev e2e test and minor cleanup, add tmate (#27)
* Add tmate for debugging
* Use -parallel=1 for standaone tests

Signed-off-by: Randy Fay <randy@randyfay.com>
2022-05-19 14:14:03 +02:00
Ulysses Souza a5a1c5f2f1 Add ddev's e2e test
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2022-05-19 14:14:03 +02:00
Guillaume Lours 09e0cca9a7 update CI github actions comment to mention docs validation
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2022-03-18 10:42:05 +01:00
Nicolas De Loof d47dcef1a6
use golangci-lint-action
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2022-02-17 18:10:28 +01:00
Ulysses Souza 8ae8d99528 Use build tags for selecting e2e test mode
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-12-09 10:52:18 +01:00
Djordje Lukic 125752c127 Update golang to 1.17
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2021-11-04 09:15:46 +01:00
Nicolas De Loof 1ae9b3cb5d
move compose-cli code into docker/compose/v2
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-08-31 19:09:19 +02:00
Nicolas De Loof fb73dd58d9 Move compose e2e tests into pkg
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-06-28 08:47:58 +02:00
Nicolas De Loof 3aaec6a554
split compose-cli "docker" and composeV2 cli-plugin release processes
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-05-27 12:46:39 +02:00
Chris Crone a12b1dcea0 build: Bump linter, minor fixes
* Bump linter to 1.39.0
* Use dockerfile:1.2 syntax instead of experimental
* Fix typo in GitHub Actions

Signed-off-by: Chris Crone <christopher.crone@docker.com>
2021-04-13 15:19:23 +02:00
Guillaume Tardif 3383642cd8 Validate cross build on all platforms only on the main branch, not every PR
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-26 11:31:35 +01:00
Guillaume Tardif 240f872b5c Fixes GH Action config.
(See https://github.com/docker/compose-cli/actions/runs/588864117)

Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-02-22 14:25:21 +01:00
Chris Crone 8ecee6edaf deps: Bump Docker, Golang, linter
* Docker 20.10.3
* Golang 1.16
* golangci-lint 1.37.0

Signed-off-by: Chris Crone <christopher.crone@docker.com>
2021-02-18 17:13:15 +01:00
Nicolas De Loof 0e862eeaa7
introduce --resolve-image-digests on config command
Signed-off-by: Nicolas De Loof <nicolas.deloof@gmail.com>
2021-02-18 14:48:28 +01:00
Ulysses Souza 18900cfcd0 Use gotestsum to make FAILURES more visible
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-02-15 18:17:31 -03:00
Guillaume Tardif ecdc170938 CI build, lint & test tube backend.
Fixed some tests, let some failing test still fail, to be fixed

Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-26 18:09:29 +01:00
Guillaume Tardif 46935b0300 Move tests to each backend folder
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-19 15:25:26 +01:00
Guillaume Tardif aca816d5d6 Remove example backend.
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2021-01-19 11:29:48 +01:00
Ulysses Souza bc787a1a70 Setup docker cli on gha
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2021-01-08 11:40:35 -03:00
Chris Crone fd187426e5 ci: Bump linter
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-12-24 12:15:59 +01:00
Guillaume Tardif 6fc8eefb1b Remove build flag for local backend
Signed-off-by: Guillaume Tardif <guillaume.tardif@gmail.com>
2020-12-07 14:41:27 +01:00
Guillaume Tardif e02176004b Document cross build step reason & timing in CI
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-15 10:07:17 +02:00
Guillaume Tardif 699f9a3dfb Cross compile in CI
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-13 17:16:12 +02:00
Guillaume Tardif 9ad06e55b5 E2e test on metrics
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-10-07 10:11:46 +02:00
Guillaume Tardif 127baa35f2 Update CI workflow to build fine on PRs from forks
Signed-off-by: Guillaume Tardif <guillaume.tardif@docker.com>
2020-09-28 12:34:06 +02:00
Guillaume Lours ae45e08d43 Remove dependabot and add a check-dependencies command in make file
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-26 09:54:01 +02:00
Guillaume Lours c3bf09a986 CI update dependabot PR - Check that the pusher equal dependabot-preview[bot]
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-20 15:35:20 +02:00
Guillaume Lours 70b3bffaf0 CI update dependabot PR - Check that the pusher startWith depandabot-preview
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-20 14:41:47 +02:00
Guillaume Lours 9e5c122f74 Update dependabot PR to update go.sum file
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-20 14:28:39 +02:00
Djordje Lukic b41d216aaa Add import restrictions check
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-08-19 12:31:30 +02:00
Guillaume Lours b4e45bf597 Add a script to check if go.mod and go.sum are up-to-date
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-18 14:57:53 +02:00
Guillaume Lours 97a50f8d51 Add CI step to check license headers
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-17 16:55:25 +02:00
Chris Crone 9d073707b9 deps: Bump Go to 1.15 and Go linter to 1.30
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-08-12 10:36:09 +02:00
aiordache 2471e51b39 set build tag for the ecs context and backend
Signed-off-by: aiordache <anca.iordache@docker.com>
2020-07-30 11:34:34 +02:00
Christopher Crone 8ec9b3c77b dependencies: Bump Golang and linter
* Go 1.14.5
* golangci-lint 1.28.3

Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-16 13:22:12 +02:00
Christopher Crone 878783d271 tools: Update Go and linter
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-07 15:29:48 +02:00
Guillaume Tardif f3cbbc48b8 Aci e2e tests moved to master build only 2020-06-30 10:14:19 +02:00
Guillaume Tardif eda438aaed Added basic support for service principal login, run ACI e2e tests with it 2020-06-29 20:35:23 +02:00
Djordje Lukic e033ca27d2 Run windows build/test only on master
The regular CI will only run on pull requests
2020-06-22 10:16:07 +02:00
Djordje Lukic 652141c993 Use latest version of actions/cache 2020-06-18 09:44:34 +02:00
Djordje Lukic 39042aa8bd Build example and local backend conditionaly
* `make` will build the cli with all backends exnabled
* `make cross` will cross build without the example and local backend

You can still cross compile with all backends by doing

```console
$ BUILD_TAGS=example,local make cross
```

Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-06-15 18:02:30 +02:00