aboutsummaryrefslogtreecommitdiff
path: root/go/.gitignore
AgeCommit message (Collapse)Author
2021-02-04Make more uniform GO build options.Andrew G. Morgan
Avoid building any of the GO stuff: make GOLANG=no ... Build with a specific build of GO: make GO=~/sdk/go1.16rc1/bin/go ... Also, now https://github.com/golang/go/issues/43149 is resolved in the go1.16rc1 build (it does not work in the go1.16beta1 but we don't support that one any more), remove the forced CGO use for the go/psx-signals build. Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-12-10Fix some typos in the psx.c code related to 6 argument syscalls.Andrew G. Morgan
https://bugzilla.kernel.org/show_bug.cgi?id=210613 Essentially, 6 argument psx_syscall()s were not correctly implemented before. The only consumer of these in [lib]cap were to set and reset the ambient capability values, and so far I evidently hadn't tested them in a multithreaded program. Six argument psx_syscall()s work now, and I've adapted the reproducer code into a new make sudotest. Also cleaned up the psx_syscall() macro to remove any ambiguity about argument sizes. Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-12-09Update .gitignore file for goapps builds in-tree.Andrew G. Morgan
Tidy up the ignored files in the go/ subdirectory. Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-12-08SIGRTMAX does not play well with Go, so use SIGSYS for the psx interrupt.Andrew G. Morgan
This is a workaround for: https://bugzilla.kernel.org/show_bug.cgi?id=210533 I've also adapted the test attachment from that bug to run without privilege. Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-07-02Revamp the way we package cap and psx packages.Andrew G. Morgan
It has been requested that we make the "libcap/cap" package into a module that plays better with the golang ecosystem. I was holding off until there was a golang version that contained the runtime.AllThreadsSyscall() support, but that appears to not have made it to 1.15, so I'm using a development build tag dependency in otherwise static sources for the "libcap/cap" package. My intention is that the canonical import paths for these packages will be: "git.kernel.org/libs/libcap/cap" "git.kernel.org/libs/libcap/psx" That being said, I may have to move them if I can't get some proxy to resolve these paths to the right git repo of kernel.org. The is work in the direction of addressing: https://bugzilla.kernel.org/show_bug.cgi?id=207567 Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2020-02-23Implement cap.Launch()Andrew G. Morgan
From a Go runtime provide a convenient way to launch a different process with modified capabilities etc. without disturbing the security state of the parent. Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2019-11-30Some extra sanity to the golang cap package.Andrew G. Morgan
Reject &cap.Set{} definitions harder. Require the use of cap.NewCap(). Also remove dependence on syscall.*Syscall6() for prctl - our use is fully covered by the syscall.*Syscall() API. Signed-off-by: Andrew G. Morgan <morgan@kernel.org>
2019-05-19A Go (golang) implementation of libcap: import "libcap/cap".Andrew G. Morgan
The API for this "libcap/cap" package is very similar to libcap. I've included a substantial interoperability test that validate libcap(c) and libcap/cap(go) have import/export text and binary format compatibility. My motivation for implementing a standalone Go package was for a cross-compilation issue I ran into (Go is much more friendly for cross-compilation by default, unless you need to use cgo). Signed-off-by: Andrew G. Morgan <morgan@kernel.org>