Commit Graph

28 Commits

Author SHA1 Message Date
Sebastiaan van Stijn
608791bfc3 Update to Golang 1.13.4
go1.13.4 (released 2019/10/31) includes fixes to the net/http and syscall
packages. It also fixes an issue on macOS 10.15 Catalina where the non-
notarized installer and binaries were being rejected by Gatekeeper.
See the Go 1.13.4 milestone on the issue tracker for details:
https://github.com/golang/go/issues?q=milestone%3AGo1.13.4

Update to Golang 1.13.3:

go1.13.3 (released 2019/10/17) includes fixes to the go command, the toolchain,
the runtime, syscall, net, net/http, and crypto/ecdsa packages. See the Go
1.13.3 milestone on the issue tracker for details:
https://github.com/golang/go/issues?q=milestone%3AGo1.13.3

Update to Golang 1.13.2:

go1.13.2 (released 2019/10/17) includes security fixes to the crypto/dsa
package and the compiler. See the Go 1.13.2 milestone on the issue tracker
for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.13.2

Update to Golang 1.13.1:

go1.13.1 (released 2019/09/25) includes security fixes to the
net/http and net/textproto packages. See the Go 1.13.1 milestone
on the issue tracker for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.13.1

Update to Golang 1.13.0:

Full diff: https://github.com/golang/go/compare/go1.12.9...go1.13
Milestone: https://github.com/golang/go/milestone/83?closed=1

Today the Go team is very happy to announce the release of Go 1.13. You can get it
from the download page.

Some of the highlights include:

- The go command now downloads and authenticates modules using the Go module
  mirror and Go checksum database by default (https://golang.org/doc/go1.13#introduction)
- Improvements to number literals (https://golang.org/doc/go1.13#language)
- Error wrapping (https://golang.org/doc/go1.13#error_wrapping)
- TLS 1.3 on by default (https://golang.org/doc/go1.13#tls_1_3)
- Improved modules support (https://golang.org/doc/go1.13#modules)

For the complete list of changes and more information about the improvements above,
see the Go 1.13 release notes: https://golang.org/doc/go1.13

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-11-08 13:26:59 -08:00
Sebastiaan van Stijn
15669a1d34 Update to Golang 1.12.13
go1.12.13 (released 2019/10/31) fixes an issue on macOS 10.15 Catalina
where the non-notarized installer and binaries were being rejected by
Gatekeeper. Only macOS users who hit this issue need to update.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-11-08 10:28:40 -08:00
Sebastiaan van Stijn
6356e55be0 Update Golang 1.12.12 (CVE-2019-17596)
Golang 1.12.12
-------------------------------

go1.12.12 (released 2019/10/17) includes fixes to the go command, runtime,
syscall and net packages. See the Go 1.12.12 milestone on our issue tracker for
details.

https://github.com/golang/go/issues?q=milestone%3AGo1.12.12

Golang 1.12.11 (CVE-2019-17596)
-------------------------------

go1.12.11 (released 2019/10/17) includes security fixes to the crypto/dsa
package. See the Go 1.12.11 milestone on our issue tracker for details.
https://github.com/golang/go/issues?q=milestone%3AGo1.12.11

[security] Go 1.13.2 and Go 1.12.11 are released

Hi gophers,

We have just released Go 1.13.2 and Go 1.12.11 to address a recently reported
security issue. We recommend that all affected users update to one of these
releases (if you're not sure which, choose Go 1.13.2).

Invalid DSA public keys can cause a panic in dsa.Verify. In particular, using
crypto/x509.Verify on a crafted X.509 certificate chain can lead to a panic,
even if the certificates don't chain to a trusted root. The chain can be
delivered via a crypto/tls connection to a client, or to a server that accepts
and verifies client certificates. net/http clients can be made to crash by an
HTTPS server, while net/http servers that accept client certificates will
recover the panic and are unaffected.

Moreover, an application might crash invoking
crypto/x509.(*CertificateRequest).CheckSignature on an X.509 certificate
request, parsing a golang.org/x/crypto/openpgp Entity, or during a
golang.org/x/crypto/otr conversation. Finally, a golang.org/x/crypto/ssh client
can panic due to a malformed host key, while a server could panic if either
PublicKeyCallback accepts a malformed public key, or if IsUserAuthority accepts
a certificate with a malformed public key.

The issue is CVE-2019-17596 and Go issue golang.org/issue/34960.

Thanks to Daniel Mandragona for discovering and reporting this issue. We'd also
like to thank regilero for a previous disclosure of CVE-2019-16276.

The Go 1.13.2 release also includes a fix to the compiler that prevents improper
access to negative slice indexes in rare cases. Affected code, in which the
compiler can prove that the index is zero or negative, would have resulted in a
panic in Go 1.12, but could have led to arbitrary memory read and writes in Go
1.13 and Go 1.13.1. This is Go issue golang.org/issue/34802.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-10-18 13:52:34 +02:00
Sebastiaan van Stijn
35d3bae1e1 AppVeyor: bump golang 1.12.10 (CVE-2019-16276)
full diff: https://github.com/golang/go/compare/go1.12.9...go1.12.10

```
Hi gophers,

We have just released Go 1.13.1 and Go 1.12.10 to address a recently reported security issue. We recommend that all affected users update to one of these releases (if you're not sure which, choose Go 1.13.1).

net/http (through net/textproto) used to accept and normalize invalid HTTP/1.1 headers with a space before the colon, in violation of RFC 7230. If a Go server is used behind an uncommon reverse proxy that accepts and forwards but doesn't normalize such invalid headers, the reverse proxy and the server can interpret the headers differently. This can lead to filter bypasses or request smuggling, the latter if requests from separate clients are multiplexed onto the same upstream connection by the proxy. Such invalid headers are now rejected by Go servers, and passed without normalization to Go client applications.

The issue is CVE-2019-16276 and Go issue golang.org/issue/34540.

Thanks to Andrew Stucki, Adam Scarr (99designs.com), and Jan Masarik (masarik.sh) for discovering and reporting this issue.

Downloads are available at https://golang.org/dl for all supported platforms.

Alla prossima,
Filippo on behalf of the Go team
```

From the patch: 6e6f4aaf70

```
net/textproto: don't normalize headers with spaces before the colon

RFC 7230 is clear about headers with a space before the colon, like

X-Answer : 42

being invalid, but we've been accepting and normalizing them for compatibility
purposes since CL 5690059 in 2012.

On the client side, this is harmless and indeed most browsers behave the same
to this day. On the server side, this becomes a security issue when the
behavior doesn't match that of a reverse proxy sitting in front of the server.

For example, if a WAF accepts them without normalizing them, it might be
possible to bypass its filters, because the Go server would interpret the
header differently. Worse, if the reverse proxy coalesces requests onto a
single HTTP/1.1 connection to a Go server, the understanding of the request
boundaries can get out of sync between them, allowing an attacker to tack an
arbitrary method and path onto a request by other clients, including
authentication headers unknown to the attacker.

This was recently presented at multiple security conferences:
https://portswigger.net/blog/http-desync-attacks-request-smuggling-reborn

net/http servers already reject header keys with invalid characters.
Simply stop normalizing extra spaces in net/textproto, let it return them
unchanged like it does for other invalid headers, and let net/http enforce
RFC 7230, which is HTTP specific. This loses us normalization on the client
side, but there's no right answer on the client side anyway, and hiding the
issue sounds worse than letting the application decide.
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-09-26 18:54:56 +02:00
Jintao Zhang
7682acb9e7 AppVeyor: update to go 1.12.9
Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
2019-08-16 10:27:38 +08:00
Sebastiaan van Stijn
1b389b3628 AppVeyor: update to go 1.12.8 (CVE-2019-9512, CVE-2019-9514)
go1.12.8 (released 2019/08/13) includes security fixes to the net/http and net/url packages.
See the Go 1.12.8 milestone on our issue tracker for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.12.8

- net/http: Denial of Service vulnerabilities in the HTTP/2 implementation
  net/http and golang.org/x/net/http2 servers that accept direct connections from untrusted
  clients could be remotely made to allocate an unlimited amount of memory, until the program
  crashes. Servers will now close connections if the send queue accumulates too many control
  messages.
  The issues are CVE-2019-9512 and CVE-2019-9514, and Go issue golang.org/issue/33606.
  Thanks to Jonathan Looney from Netflix for discovering and reporting these issues.
  This is also fixed in version v0.0.0-20190813141303-74dc4d7220e7 of golang.org/x/net/http2.
  net/url: parsing validation issue
- url.Parse would accept URLs with malformed hosts, such that the Host field could have arbitrary
  suffixes that would appear in neither Hostname() nor Port(), allowing authorization bypasses
  in certain applications. Note that URLs with invalid, not numeric ports will now return an error
  from url.Parse.
  The issue is CVE-2019-14809 and Go issue golang.org/issue/29098.
  Thanks to Julian Hector and Nikolai Krein from Cure53, and Adi Cohen (adico.me) for discovering
  and reporting this issue.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-14 18:12:51 +02:00
Sebastiaan van Stijn
2ff7183cc2 AppVeyor: update to go 1.12.7
Use the latest Go release for testing on AppVeyor

> go1.12.7 (released 2019/07/08) includes fixes to cgo, the compiler,
> and the linker. See the Go 1.12.7 milestone on our issue tracker for details:
>
> https://github.com/golang/go/issues?q=milestone%3AGo1.12.7

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-08-12 09:57:02 +02:00
Michael Crosby
e097ab8bb4 Disable windows integration tests
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2019-07-23 18:55:11 +00:00
Sebastiaan van Stijn
67cf9f7f02 AppVeyor: Bump golang 1.12.6
go1.12.6 (released 2019/06/11) includes fixes to the compiler, the linker,
the go command, and the crypto/x509, net/http, and os packages. See the
Go 1.12.6 milestone on the issue tracker for details:

https://github.com/golang/go/issues?q=milestone%3AGo1.12.6

full diff: https://github.com/golang/go/compare/go1.12.5...go1.12.6

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-06-14 15:58:28 +02:00
Sebastiaan van Stijn
00bc2f5cfd Update to Golang 1.12, and prepare for ppc64le
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2019-05-10 14:07:32 -07:00
John Howard
8710940165 Windows: Build shim binary from Microsoft/hcsshim
Signed-off-by: John Howard <jhoward@microsoft.com>

This is part of a phased update to remove the existing Windows shim
code from the containerd repo, and instead use the one from Microsoft/hcsshim.
2019-03-25 15:52:12 -07:00
Phil Estes
2bb7da8431 Fix mingw version back to working version with Golang
Appveyor choco install updated to a newer version of mingw which at the
moment is breaking Golang 1.11 compiles.

Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com>
2018-11-02 09:15:51 -04:00
Sebastiaan van Stijn
07237e34e6 Bump to Go 1.11.x
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-10-25 22:13:21 +02:00
Stephen J Day
9cdd036393 build: bump to Go 1.10
Bumps the build to use Go 1.10, which allows us to drop the forked tar
package.

Signed-off-by: Stephen J Day <stephen.day@docker.com>
2018-02-26 16:47:24 -08:00
Sebastiaan van Stijn
931000c041 Bump to Go 1.10
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2018-02-21 10:50:05 +01:00
Darren Stahl
baa5c8c13b Print host version in appveyor setup steps
Signed-off-by: Darren Stahl <darst@microsoft.com>
2018-01-16 17:42:04 -08:00
Daniel Nephin
cc9216c1dd Remove go install from Makefile
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-12-18 11:17:24 -05:00
Daniel Nephin
4df7075a74 Remove integration-parallel target
Always run in parallel. The old target can be emulated with

TESTFLAGS_PARALLEL=1 make integration

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-16 11:15:33 -05:00
Daniel Nephin
a72279e53d Skip some tests on windows where the implementation is missing
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-15 14:52:00 -05:00
Daniel Nephin
5025b53704 Re-enable unit tests on appveyor
Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-15 14:31:48 -05:00
Daniel Nephin
f9e969bac8 Use gometalinter for linting
gometalinter runs linters in parallel for faster linting
it provides a uniform way of whitelisting lines using // nolint or the exclude
field in the config

Signed-off-by: Daniel Nephin <dnephin@gmail.com>
2017-11-03 18:02:27 -04:00
Michael Crosby
1d298c89a4 Fix windows lint issues and enable ci
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2017-10-25 16:15:45 -04:00
Kenfe-Mickael Laventure
34c25e07e8 Use golang 1.9 on AppVeyor CI
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-08-25 08:58:40 -07:00
Kenfe-Mickael Laventure
104a8088ca Add integration-parallel to Travis & AppVeyor CIs
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-08-14 14:43:43 -07:00
Kenfe-Mickael Laventure
789330033a Invoke ineffassign during CI
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-08-01 15:16:38 -07:00
Kenfe-Mickael Laventure
219c3e3996 Disable coverage tests on Windows CI
The content unit-tests fail on Windows atm as they are not taking Windows
specific behavior in account.

Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-07-24 21:39:08 +02:00
Kenfe-Mickael Laventure
2eaac7103b Only run Windows CI on master branch
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-07-24 21:34:36 +02:00
Kenfe-Mickael Laventure
eb4e0b5fb1 Add AppVeyor configuration
Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
2017-07-21 18:19:51 +02:00