Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from tianon:master #2

Open
wants to merge 76 commits into
base: master
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Apr 10, 2021

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Apr 10, 2021
tianon and others added 28 commits June 6, 2021 20:17
Closes #83 (see that thread for contributor approvals/discussion)
There are workarounds for this, but I will intentionally not be describing them because this is definitely not something I can endorse in any way.  Please don't use gosu in this way.
Disallow installing gosu with setuid
Update to Alpine 3.14 and Debian Bullseye
Update build deps, esp. runc to v1.0.3
This builds `gosu` with an intentionally older version of runc *and* Go (but still new enough for `govulncheck` to work).

The chosen version of `runc` includes opencontainers/runc@262f294, which is the last change I can find to any of the functions `gosu` invokes in all released versions of runc (up to v1.1.4).

The chosen version of Go is the oldest supported by `govulncheck` but that also includes golang/go@4f45424 (because 32bit builds panic without this fix).

(This also fixes a few other minor version number anomalies.)
Add SECURITY.md that points to `govulncheck`
This fixes our `mips64le` builds.
tianon and others added 30 commits November 2, 2023 14:34
This should make our "version" provenance metadata more correct
Add `-trimpath` to builds for cleaner embedded paths
Use of text/template inhibits dead code elimination, see golang/go#62024

Building with go1.22.1 via `go build -v -trimpath -ldflags '-d -w'`
results in binary size reduction from 2704725 to 1652718 bytes (-39%).
…ings

```console
$ stat --format '% 11n %s' gosu-before gosu-after
gosu-before 1495254
 gosu-after 1478001
```
Ditch `fmt`, `log`, `path/filepath`, and `strings` for ~17KB more savings
This allows us to drop the mips64le upstream patch we've been applying (fixed in Go 1.20.0) and the GO-2023-1840 / CVE-2023-29403 govulncheck exclusion (which still doesn't apply, but was fixed in Go in 1.20.5 and thus we no longer need to ignore).

Also:
- update the tests to Debian Bookworm and Alpine 3.19
- update `SECURITY.md` to make our Go version update policy explicit and written down (including the parallel to how Linux distributions handle similar situations)
Thanks to `rpm --query --queryformat='%{ARCH}' rpm`, I feel good about documenting this "officially" again. 🚀
Add an "RPM-based" section back to `INSTALL.md`
Fix govulncheck wrapper + run govulncheck on latest release periodically too
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants