Commit graph

87 commits

Author SHA1 Message Date
bsiegert
6f21ac1847 Update Go to 1.9.
The latest Go release, version 1.9, arrives six months after Go 1.8 and
is the tenth release in the Go 1.x series. There are two changes to the
language: adding support for type aliases and defining when
implementations may fuse floating point operations. Most of the changes
are in the implementation of the toolchain, runtime, and libraries. As
always, the release maintains the Go 1 promise of compatibility. We
expect almost all Go programs to continue to compile and run as before.

The release adds transparent monotonic time support, parallelizes
compilation of functions within a package, better supports test helper
functions, includes a new bit manipulation package, and has a new
concurrent map type.


There are some instabilities on FreeBSD that are known but not
understood. These can lead to program crashes in rare cases. See issue
15658. Any help in solving this FreeBSD-specific issue would be
appreciated.

Go stopped running NetBSD builders during the Go 1.9 development cycle
due to NetBSD kernel crashes, up to and including NetBSD 7.1. As Go 1.9
is being released, NetBSD 7.1.1 is being released with a fix. However,
at this time we have no NetBSD builders passing our test suite. Any help
investigating the various NetBSD issues would be appreciated.
2017-09-03 07:12:07 +00:00
wiz
0fd193c72e Sprinkle CHECK_RELRO_SKIP on go packages.
go14 has no relro support AFAICT.

go-1.8.3 has if you use -buildmode=pie, but it claims it's not supported
on Linux.

Disable relro checking for go packages until bsiegert has time to
look at this.
2017-07-22 19:32:40 +00:00
bsiegert
7e4794674c Update Go to 1.8.3, a non-security release.
This release includes fixes to the compiler, runtime, documentation, and the
database/sql package.
    https://golang.org/doc/devel/release.html#go1.8.minor

It also includes the security fix to the crypto/elliptic package from Go 1.8.2.
2017-05-25 09:24:21 +00:00
bsiegert
bba0363e5d SECURITY: Update Go to 1.8.2, fixing CVE-2017-8932,
carry bug in x86-64 P-256.

A security-related issue was recently reported in Go's crypto/elliptic package.
To address this issue, we have just released Go 1.7.6 and Go 1.8.2.

The Go team would like to thank Vlad Krasnov and Filippo Valsorda at Cloudflare
for reporting the issue and providing a fix.

The issue affects Go's P-256 implementation on the 64-bit x86 architecture.

This is CVE-2017-8932 and was addressed by this change:
https://golang.org/cl/41070, tracked in this issue:
https://golang.org/issue/20040
2017-05-25 09:06:43 +00:00
fhajny
11c657cd4e Align previous patch with upstream trunk. Functionally, fix remains the same. 2017-05-19 18:50:41 +00:00
fhajny
42ae76dcb5 * Remove patch adding syscall.Dup2() for SunOS, software should be using unix.Dup2() instead.
https://github.com/joyent/pkgsrc/pull/492
* Improve handling of low-memory situations on Illumos.
  https://github.com/joyent/pkgsrc/pull/493
2017-05-02 17:15:31 +00:00
maya
d667b1d5ce go: match even more ARM with wildcards
part 1 of PR pkg/52178 from aikchar
2017-04-30 23:02:09 +00:00
christos
5855f16c14 Block signals explicitly during lwp creation since blocking via the context
doea not work.
2017-04-19 21:27:31 +00:00
wen
322aba5ddc Update to 1.8.1
Upstream changes:
go1.8.1 (released 2017/04/07) includes fixes to the compiler, linker, runtime, documentation, go command and the crypto/tls, encoding/xml, image/png, net, net/http, reflect, text/template, and time packages. See the Go 1.8.1 milestone on our issue tracker for details.
2017-04-09 08:23:43 +00:00
bsiegert
104ebade01 Do not take the basename of GO_DIST_BASE when it is overridden. Needed for
fixing PR pkg/52081.
2017-03-20 22:33:21 +00:00
fhajny
bc13fe421c The x/net/lif package seems to be SunOS only at the moment, fix PLIST. 2017-03-20 15:08:39 +00:00
bsiegert
29a93ae278 Add more ".if !target" guards around targets defined by go-package.mk,
to allow overriding.
2017-03-15 19:48:40 +00:00
bsiegert
f32935e1b7 Update Go to 1.8.
The compiler back end introduced in Go 1.7 for 64-bit x86 is now used on all
architectures, and those architectures should see significant performance
improvements. For instance, the CPU time required by our benchmark programs was
reduced by 20-30% on 32-bit ARM systems. There are also some modest performance
improvements in this release for 64-bit x86 systems. The compiler and linker
have been made faster. Compile times should be improved by about 15% over Go
1.7. There is still more work to be done in this area: expect faster
compilation speeds in future releases.

Garbage collection pauses should be significantly shorter, usually under 100
microseconds and often as low as 10 microseconds.

The HTTP server adds support for HTTP/2 Push, allowing servers to preemptively
send responses to a client. This is useful for minimizing network latency by
eliminating roundtrips. The HTTP server also adds support for graceful
shutdown, allowing servers to minimize downtime by shutting down only after
serving all requests that are in flight.

Contexts (added to the standard library in Go 1.7) provide a cancelation and
timeout mechanism. Go 1.8 adds support for contexts in more parts of the
standard library, including the database/sql and net packages and
Server.Shutdown in the net/http package.

Go 1.8 includes many more additions, improvements, and fixes. Find the complete
set of changes, and more information about the improvements listed above, in
the Go 1.8 release notes: https://golang.org/doc/go1.8
2017-03-15 19:38:09 +00:00
wen
6f185ae8fd Update to 1.7.5
Upstream changes:
go1.7.5 (released 2017/01/26) includes fixes to the compiler, runtime, and the crypto/x509 and time packages. See the Go 1.7.5 milestone on our issue tracker for details.
2017-01-30 03:04:53 +00:00
bsiegert
4dd362d898 Update Go to 1.7.4.
Two security-related issues were recently reported, and to address these issues
we have just released Go 1.6.4 and Go 1.7.4.

We recommend that all users update to one of these releases (if you're not sure
which, choose Go 1.7.4).

The issues addressed by these releases are:

On Darwin, user's trust preferences for root certificates were not honored. If
the user had a root certificate loaded in their Keychain that was explicitly
not trusted, a Go program would still verify a connection using that root
certificate.  This is addressed by https://golang.org/cl/33721, tracked in
https://golang.org/issue/18141.
Thanks to Xy Ziemba for identifying and reporting this issue.

The net/http package's Request.ParseMultipartForm method starts writing to
temporary files once the request body size surpasses the given "maxMemory"
limit. It was possible for an attacker to generate a multipart request crafted
such that the server ran out of file descriptors.  This is addressed by
https://golang.org/cl/30410, tracked in https://golang.org/issue/17965.
Thanks to Simon Rawet for the report.
2016-12-04 16:08:55 +00:00
maya
512ef3fadf go: more wildcards for arm
my rpi1's machine_platform is ..-earmv6hf and needs this to match
2016-12-02 20:26:01 +00:00
maya
2514c75334 go: match more netbsd/arm, which can be machine arch earm,
and not just evbarm.

PR pkg/51653

Note that this does not resolve the PR, as the build hangs.
2016-11-27 21:07:21 +00:00
bsiegert
439935f9ad Update Go to 1.7.3.
go1.7.2 should not be used. It was tagged but not fully released. The release
was deferred due to a last minute bug report. Use go1.7.3 instead, and refer to
the summary of changes below.

go1.7.3 (released 2016/10/19) includes fixes to the compiler, runtime, and the
crypto/cipher, crypto/tls, net/http, and strings packages. See the Go 1.7.3
milestone on our issue tracker for details.
2016-10-27 18:58:00 +00:00
bsiegert
34c14a06e7 Patch a subtle data corruption issue where the HTTP/2 client sometimes
swallows the first byte of the request body. This will also be in the
next point release.
2016-09-17 15:56:58 +00:00
bsiegert
37c51eea90 Update go to 1.7.1.
go1.7.1 (released 2016/09/07) includes fixes to the compiler, runtime,
documentation, and the compress/flate, hash/crc32, io, net, net/http,
path/filepath, reflect, and syscall packages. See the Go 1.7.1 milestone on our
issue tracker for details.
2016-09-10 09:09:23 +00:00
jperkin
9ee118415f Fix install on Linux and SunOS. 2016-08-31 14:15:33 +00:00
wiz
617a44ebfe Update REPLACE_BASH patterns so this builds with PKG_DEVELOPER set on
machines without /bin/bash.
2016-08-20 06:22:38 +00:00
bsiegert
e2fa1b749c Update Go to 1.7.
The latest Go release, version 1.7, arrives six months after 1.6. Most of its
changes are in the implementation of the toolchain, runtime, and libraries.
There is one minor change to the language specification. As always, the release
maintains the Go 1 promise of compatibility. We expect almost all Go programs
to continue to compile and run as before.

There is one tiny language change in this release. The section on terminating
statements clarifies that to determine whether a statement list ends in a
terminating statement, the “final non-empty statement” is considered the end,
matching the existing behavior of the gc and gccgo compiler toolchains. In
earlier releases the definition referred only to the “final statement,” leaving
the effect of trailing empty statements at the least unclear. The go/types
package has been updated to match the gc and gccgo compiler toolchains in this
respect. This change has no effect on the correctness of existing programs.

Go 1.7 adds support for macOS 10.12 Sierra. This support was backported to Go
1.6.3. Binaries built with versions of Go before 1.6.3 will not work correctly
on Sierra.
2016-08-19 09:38:06 +00:00
bsiegert
ab9009427e Update Go to 1.6.3.
A security-related issue was recently reported in Go's net/http/cgi package and
net/http package when used in a CGI environment. Go 1.6.3 and Go 1.7rc2 contain
a fix for this issue.

Go versions 1.0-1.6.2 and 1.7rc1 are vulnerable to an input validation flaw in
the CGI components resulting in the HTTP_PROXY environment variable being set
by the incoming Proxy header. This environment variable was also used to set
the outgoing proxy, enabling an attacker to insert a proxy into outgoing
requests of a CGI program.

This is CVE-2016-5386 and was addressed by this change:
https://golang.org/cl/25010, tracked in this issue:
https://golang.org/issue/16405

The Go team would like to thank Dominic Scheirlinck for coordinating disclosure
of this issue across multiple languages and CGI environments. Read more about
"httpoxy" here: https://httpoxy.org/

Go 1.6.3 also adds support for macOS Sierra. See https://golang.org/issue/16354
for details.
2016-07-18 20:37:40 +00:00
wiz
2b0a009d0e Bump PKGREVISION for perl-5.24.0 for everything mentioning perl. 2016-07-09 06:37:46 +00:00
bsiegert
993191dc9e Update Go to 1.6.2.
This release includes fixes to the compiler, runtime, tools, documentation, and
the mime/multipart, net/http, and sort packages.

    https://golang.org/doc/devel/release.html#go1.6.minor
2016-04-30 11:22:28 +00:00
bsiegert
eb91133d34 Update Go to 1.6.1.
Two security-related issues were recently reported, and to address these issues
we have just released Go 1.6.1 and Go 1.5.4.

We recommend that all users update to one of these releases (if you're not sure
which, choose Go 1.6.1).

The issues addressed by these releases are:

On Windows, Go loads system DLLs by name with LoadLibrary, making it vulnerable
to DLL preloading attacks. For instance, if a user runs a Go executable from a
Downloads folder, malicious DLL files also downloaded to that folder could be
loaded into that executable.
This is CVE-2016-3958 and was addressed by this change: https://golang.org/cl/21428
Thanks to Taru Karttunen for identifying this issue.

Go's crypto libraries passed certain parameters unchecked to the underlying big
integer library, possibly leading to extremely long-running computations, which
in turn makes Go programs vulnerable to remote denial of service attacks.
Programs using HTTPS client certificates or the Go SSH server libraries are
both exposed to this vulnerability.
This is CVE-2016-3959 and was addressed by this change: https://golang.org/cl/21533
Thanks to David Wong for identifying this issue.
2016-04-13 07:12:00 +00:00
bsiegert
8afaa65266 Patch CVE-2016-3959 in Go. There will be a Go 1.6.1 release next week that
fixes this properly.
2016-04-08 20:00:02 +00:00
tnn
881d0c5155 Add Linux specific PLIST 2016-03-09 07:19:55 +00:00
bsiegert
a238a56dd4 Update Go to 1.6.
The latest Go release, version 1.6, arrives six months after 1.5. Most of its
changes are in the implementation of the language, runtime, and libraries.
There are no changes to the language specification. As always, the release
maintains the Go 1 promise of compatibility. We expect almost all Go programs
to continue to compile and run as before.

The release adds new ports to Linux on 64-bit MIPS and Android on 32-bit x86;
defined and enforced rules for sharing Go pointers with C; transparent,
automatic support for HTTP/2; and a new mechanism for template reuse.

Full changelog at https://golang.org/doc/go1.6.
2016-02-23 20:12:25 +00:00
bsiegert
c422605863 Add the correct path for SSL certificates that mozilla-rootcerts uses.
PR pkg/50690.
2016-01-31 10:17:27 +00:00
rillig
ebe9605566 Made Go packages testable and cleaned up shell commands
Prevented the error message "*** Error 1 (ignored) ***" during installation
by using || instead of &&.

Shell commands are hidden during normal operation.

Go packages can be tested using "bmake test".

ok @bsiegert
2016-01-23 12:42:57 +00:00
fhajny
b6be94926f Update lang/go to 1.5.3.
This is a security-related release, it fixes CVE-2015-8618 that was
partically patched in 1.5.2nb1.

See full release notes for a description:

https://groups.google.com/d/msg/golang-announce/MEATuOi_ei4/JsndUuZwEAAJ
2016-01-16 09:43:44 +00:00
bsiegert
1726914d23 Real buildlink support for Go, hacked with wiz@.
Go packages now define a set of files to buildlink in their buildlink3.mk.
go-packages.mk no longer looks in ${PREFIX}/gopkg during the build. This
should also fix the spurious issues with rebuilds of .a files during bulk
builds of Go packages.
2015-12-29 21:47:48 +00:00
wiz
44ebc0bb83 Document variables this mk file provides.
Ok bsiegert@
2015-12-27 19:41:10 +00:00
bsiegert
f07a25c3c0 Pull in https://golang.org/cl/17672, "math/big: fix carry propagation in
Int.Exp Montgomery code", to fix CVE-2015-8618.

From the oss-security posting that asked for a CVE:

"The Go open source project has received notification of an error in the
math/big library (https://golang.org/pkg/math/big/). The problem that was
identified is similar to CVE-2015-3193
<https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3193>. The
vulnerability was introduced in the 1.5 release, and remains present in Go
1.5.1 and 1.5.2.

"A fix for the issue has been applied to the master branch of the Go repo
under CL 17672 <https://go-review.googlesource.com/#/c/17672/>. We will
also be releasing Go 1.5.3 to fix this vulnerability."

ok wiz@
2015-12-22 20:44:40 +00:00
bsiegert
3dce73223e Update Go to 1.5.2, original patch from Kamel Derouiche in PR pkg/50498.
go1.5.2 (released 2015/12/02) includes bug fixes to the compiler,
linker, and the mime/multipart, net, and runtime packages. See the Go
1.5.2 milestone on our issue tracker for details.

https://github.com/golang/go/issues?q=milestone%3AGo1.5.2
2015-12-10 20:04:54 +00:00
agc
54622f28e2 Add SHA512 digests for distfiles for lang category
Problems found with existing digests:
	Package nhc98 distfile nhc98src-1.22.tar.gz
	a8adc8f22371998ee0657bc0e01058a57d876abc [recorded]
	81975fcb5f1dda5efeaabc30ce8c6dceae55e591 [calculated]

Problems found locating distfiles:
	Package gcc-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.i386.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.dragonfly.36A.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.freebsd.84.tar.bz2
	Package gcc5-aux: missing distfile ada-bootstrap.x86_64.solaris.511.tar.bz2
	Package ghc7: missing distfile ghc-7.6.3-boot-i386-unknown-freebsd.tar.xz
	Package icc11: missing distfile l_cproc_p_11.1.080.tgz
	Package jini: missing distfile jini-1_2_1_001-src.zip
	Package oo2c: missing distfile oo2c_32-2.0.11.tar.bz2
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
	Package openjdk7: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-freebsd-10-amd64-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-5-i386-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-6-i386-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-earmv6hf-20150306.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk-1.7.76-netbsd-7-sparc64-20150301.tar.xz
	Package openjdk8: missing distfile openjdk7/bootstrap-jdk7u60-bin-dragonfly-3.8-amd64-20140719.tar.bz2
	Package oracle-jdk8: missing distfile jdk-8u60-linux-i586.tar.gz
	Package oracle-jdk8: missing distfile jdk-8u60-solaris-x64.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-linux-i586.tar.gz
	Package oracle-jre8: missing distfile jre-8u60-solaris-x64.tar.gz
	Package sun-jdk6: missing distfile jdk-6u45-linux-i586.bin
	Package sun-jdk6: missing distfile jdk-6u45-solaris-i586.sh
	Package sun-jdk7: missing distfile jdk-7u72-linux-i586.tar.gz
	Package sun-jdk7: missing distfile jdk-7u72-solaris-i586.tar.gz
	Package sun-jre6: missing distfile jce_policy-6.zip
	Package sun-jre6: missing distfile jre-6u45-linux-x64.bin
	Package sun-jre6: missing distfile jre-6u45-solaris-x64.sh
	Package sun-jre7: missing distfile jre-7u72-linux-i586.tar.gz
	Package sun-jre7: missing distfile jre-7u72-solaris-i586.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 22:50:31 +00:00
bsiegert
2508868dbb Update go14 to 1.4.3. It fixes four security-related issues.
The issues were reported in Go's net/http package. They affect programs using
that package to proxy HTTP requests. We recommend that all users upgrade to Go
1.5, which fixes these issues. For users unable to upgrade to Go 1.5, we have
released version 1.4.3, which is based on Go 1.4.2 plus fixes for these issues.
Affected Go programs—those that use the net/http package as a proxy server—must
be recompiled with Go 1.5 or Go 1.4.3 to receive the fixes.

The CVE issue descriptions and fixes are linked below.

CVE-2015-5739
"Content Length" treated as valid header:
https://go-review.googlesource.com/#/c/11772/

CVE-2015-5740
Double content-length headers does not return 400 error:
https://go-review.googlesource.com/#/c/11810/

CVE-2015-5741
Additional hardening, not sending Content-Length w/Transfer-Encoding,
Closing connections:
https://go-review.googlesource.com/#/c/11810/
https://go-review.googlesource.com/#/c/12865/
https://go-review.googlesource.com/#/c/13148/

The Go team would like to thank Jed Denlea and Régis Leroy for their
contributions to this release. They have been awarded 1337 USD under the Google
Security Bounty program.
2015-09-26 17:37:01 +00:00
fhajny
e3d64585b1 Remove patch for a problem that was fixed in 1.5.1.
Clear PKGREVISION after PKGVERSION update.
2015-09-13 19:11:55 +00:00
bsiegert
1653a6bdcc Update Go to 1.5.1.
go1.5.1 (released 2015/09/08) includes bug fixes to the compiler, assembler,
and the fmt, net/textproto, net/http, and runtime packages. See the Go 1.5.1
milestone on our issue tracker for details:
https://github.com/golang/go/issues?q=milestone%3AGo1.5.1
2015-09-13 14:24:58 +00:00
fhajny
f9facf0aca Add support for the dup2 syscall on SunOS. Bump PKGREVISION. 2015-08-25 23:09:51 +00:00
fhajny
30aa367f71 Define test target for lang/go 2015-08-25 23:07:23 +00:00
fhajny
8e404253de Remove stale cgo/SunOS patches that are no longer needed. Fixes SunOS build.
Fix problem with -lsendfile needed on SunOS when building 3rd party software
that uses the net package.
2015-08-25 21:02:52 +00:00
wiz
31a9165c5b Fix interpreter path in more installed files.
Ignore another file's interpreter during build.
Bump PKGREVISION.
2015-08-22 23:49:13 +00:00
bsiegert
f6269e4136 Update go to 1.5.
This release now needs the previous one (lang/go14) to build.

The biggest developments in the implementation are:

* The compiler and runtime are now written entirely in Go (with a little
  assembler). C is no longer involved in the implementation, and so the
  C compiler that was once necessary for building the distribution is
  gone.
* The garbage collector is now concurrent and provides dramatically
  lower pause times by running, when possible, in parallel with other
  goroutines.
* By default, Go programs run with GOMAXPROCS set to the number of cores
  available; in prior releases it defaulted to 1.
* Support for internal packages is now provided for all repositories,
  not just the Go core.
* The go command now provides experimental support for "vendoring"
  external dependencies.
* A new go tool trace command supports fine-grained tracing of program
  execution.
* A new go doc command (distinct from godoc) is customized for
  command-line use.

Full release notes are at https://golang.org/doc/go1.5.
2015-08-22 10:51:20 +00:00
bsiegert
4f034c2357 Create lang/go14 as a copy of lang/go but which installs under
$PREFIX/go14.

Go 1.5 is going to be released soon, and it will depend on an existing
installation of Go 1.4 to compile. So let's provide one.
2015-07-31 14:46:25 +00:00
wiz
0982effce2 Recursive PKGREVISION bump for all packages mentioning 'perl',
having a PKGNAME of p5-*, or depending such a package,
for perl-5.22.0.
2015-06-12 10:48:20 +00:00
bsiegert
c99d17568d Actually define the GO_PLATFORM var before using it. Fixes PLIST generation
for Go packages.
2015-05-11 13:25:35 +00:00
bsiegert
7510a80529 go-package.mk: add an awk fragment for print-PLIST to replace GO_PLATFORM.
After a similar patch by hiramatsu@ for ocaml.mk.
2015-05-03 15:35:54 +00:00