* Replace use of fgrep with grep -F (POSIX grep flags preferred by
GNU grep) - patch from David Seifert.
* Added SPDX identifiers to License file(s). Hopefully this will
help the various robots out there correctly identify the
longstanding licenses for libcap and friends. (Bug: 216609
reported by Günther Noack)
* Started down the rabbit hole of trying to address (Bug: 216610
reported by Günther Noack on behalf of Michael Stapelberg)
* The basic issue is how to link C code with Go psx without using
CGo. This is all a low level hackery. If you are interested,
browse the source.
* Correct for bad whatis entries in man pages (this was throwing a
Debian build test, detail)
* Also reviewed man pages and addressed cross linkage issues (Bug:
* Cleaned up some README.md files (made a github mirror now just so
I can automatically render them).
* Changed meaning of DYNAMIC=no builds.
This now builds everything with static linking except for libc.
The reason for this exception is explained in the commit message.
* Inserted demonstration exploit code in capso.so to support
article.
* Minor clarification to cap_get_pid() man page concerning pid
value within namespaces.
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=75
* Fix documentation typos in cap_from_text.3
* Some getpcaps code clean up and a fix for PID argument parsing from Jakub
Wilk.
* Slightly more robust Makefiles to address an error with make -j48 test observed
* Include a simple Go program, captrace, to trace kernel capability validation
checks
* This program can be used to figure out what capabilities a program needs to
operate.
* captrace (a wrapper for bpftrace) uses BPF kprobes to monitor the kernel for
capability checks and whether or not they succeed for the system, a specific
PID or a program's direct execution.
* Trim down the default file capabilities for contrib/sucap/su to those actually
needed and set USER and HOME environment variables so bash doesn't complain
about a sourcing error.
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=73
* Fix syntax error in DEBUG build of protected code in setcap.c.
* Prevent bash from reading the wrong startup files when the capsh --user=xxx
argument is used to invoke a shell as the user xxx. This is done by capsh now
changing the USER and HOME environment variables when --user is specified.
The argument --noenv can be used to suppress this behavior to what used to be
the problematic default. (Bug: 215926)
* Improved documentation
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=71
* Fix memory leak in libpsx at program exit.
* Be more resilient to CGo configuration with Go compiler when building tests.
* Fix cap_*prctl() return code/errno handling.
* Minor clarification to cap_get_pid() man page concerning pid value within namespaces.
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=69
* restore errno to zero by the time main() is executed
* Consistent psx handling (a panic) for syscalls that return thread dependent
status Inconsistend behavior noticed by Lorenz Bauer
* Add a test case for a deadlock under investigation in golang
* Trim some of the #include file use to make the tree compile more
efficiently
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=67
- update to 2.59:
* Fixed a potential libcap memory leak by adding a destructor
* Major improvement is that there is a path for Linux-PAM compliant
applications to support setting Ambient vector Capabilities via pam_cap.so now
* Added libcap cap_proc_root() API function
* Added color support to captree
* Fixed contrib/sucap/su to correctly handle the Inheritable flag
* capsh enhancements
* getcap -r / now generates readable output
* The shared library objects: pam_cap.so, libcap.so and libpsx.so, are all now
runnable as standalone binaries
* The module pam_cap.so now contains support for a default=<IAB> module argument
* Enhanced capsh --suggest to also compare against the capability value names
and not just their descriptions
* Added capsh --current support
* Added a contrib/sucap/su.c pure-capabilities PAM implementation of su
* Fix for a corner case infinite loop handling long strings
* Added libcap cap_iab_compare() and cap_iab_get_pid() APIs
* Added a Go utility, captree, to display the process (and thread) graph along with
the POSIX.1e and IAB capabilities of each PID{TID} tree.
OBS-URL: https://build.opensuse.org/request/show/921983
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=64
* Fix capsh installation
* Add an autoauth module flag to pam_cap.so
* Unified libcap/cap (Go) and libcap (C) default generation of external format binary data
* API enhancement cap_fill() and (*cap.Set).Fill() - to permit copying one
capability flag to another.
* --explain=cap_foo: describe what cap_foo does
* --suggest=phrase: search all the cap descriptions and describe those that match the phrase
* Add "keepcaps" module argument support to pam_cap.so (reported by Zoltan Fridrich. Bug 212945)
* extend libcap to include cap_prctl() and cap_prctlw() functions to regain
feature parity with Go "cap" package. These are only needed when linking
against -lpsx for keepcaps POSIX semantics.
* this likely requires substantial application changes to make Ambient
capability support usable in general, but doing our part for the admin.
* Add a test case for recent kernel fix
* Go pragma fix for convenience functions in "cap" module
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=63
* Implement cap_func_launcher() and cap.FuncLauncher().
* More robust "psx" redirection for nocgo compilation - the documentation for
the cgo implementation is now included in the nocgo one because the go.dev
automated documentation builds the docs from the nocgo version.
* Lots of documentation cleanups and added a few man pages: for IAB and
Launching.
* Some general no-op License changes that might cause folk to notice but only
for formatting reasons. These were initially inspired by some lawyerly
interactions, but I ended up rolling back half of them because they
confused automated software infrastructure.
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=57
* More uniform use of $(MAKE) in Makefiles
* No longer include symlinks in the git tree
* Provide support for make GOLANG=no ...
* Provide support for pointing at a specific build of the go binary
* camelCase the contrib/seccomp/explore.go program
* A number of documentation fixes to man pages and source code comments
* Last use of GO major version 0
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=55
* Restructured gowns to default to uid base of getuid().
* Augment NOPRIV libcap mode with the sticky NO_NEW_PRIVS prctl bit.
* Improve the usage and diagnostic message for setcap
* Documentation fixes, license declarations, example updates
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=53
* The bulk of this release concerns fixes and improvements to libpsx
* Fix the capsh == argument handling and add a test case
* Added build support for systems that do not support libpthread
* Added build support for not building shared libraries
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=48
* Fix the capsh == argument handling and add a test case - bug#209873 (report by Marcus Gelderie)
* Add support for libpsx.so building - bug#206093
* Added build support for systems that do not support libpthread (make PTHREADS=no ...) - bug#209875 (requested by Heiko Thiery)
* Recent golang builds (pre-release) default to ignoring GOPATH, so adjust the in-tree building to override this explicitly with GO111MODULE=off
* Go package document updates since golang 1.15 is released.
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=42
* Linus' kernel tree defines CAP_CHECKPOINT_RESTORE (40) so support it.
* Fix the creation of the $(FAKEROOT)$(LIBDIR) for split install targets
* Clean up a binary from the distribution
* Added some more release time checks for non-git tracked files.
* Fix a deadlock in libpsx that surfaced with a set of compiler optimizations by removing the psx wrapping harder.
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=40
- Update to version 2.42:
* Closed a potential issue with "libcap/psx" Go package and errno
* Documentation updates
* Minor optimization for cap_to_text() and (*cap.Set).String()
* Discovered and added a missing function (*cap.Set).SetNSOwner() to achieve parity with libcap
* Multiple fixes
* Support Go module abstraction
* A new kernel capability: CAP_BPF
* Better support for cross-compilation
* pam_cap now honors PAM_REINITIALIZE_CRED
* implements cap_launch functionality
OBS-URL: https://build.opensuse.org/request/show/824647
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=35
- Update to version 2.32:
* Bug fix for fakeroot incompatibility (boo#1162014)
* Slight perf improvement for cap_get_bound().
* C++ support for psx header inclusion.
* Some new testing features for capsh
- Update to version 2.31:
* primarily a documentation update
* fix libpam.pc to not require libpsx.pc
* changed the text format of the default output of getpcap
OBS-URL: https://build.opensuse.org/request/show/774608
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=33
- Update to version 2.30:
* BUGFIX: arm and i386 fixes C and Go setgroups choice - used
wrong syscall in 2.29.
* cleaned up make clean and make install to actually work as
intended
* updated Gentoo libpsx.pc file from Lars Wendler
* refactored the way libpsx linkage with libcap performed mutual
discovery.
* Previously (2.28) libpsx had an API call overridden by libcap
using weak linkage function in libpsx. In 2.30 this is reversed,
namely libpsx provides the stronger function and libcap has a
weak "no-op" version.
* a bit more consistency in handling the 'all' sets in libcap
(C) and libcap/cap (Go). Namely, they both dynamically discover
the number of capabilities named by the kernel and use this as
the definition of 'all' for the current runtime.
+ libcap (C) exports cap_max_bit() to export the number of
supported capabilities
+ libcap/cap (Go) exports cap.MaxBits() for this same value.
- For changes for older releases see:
* https://sites.google.com/site/fullycapable/release-notes-for-libcap
- Add glibc-static-devel as build requirement as tests need it
- Install libpsx.a as it seems to be needed in some cases:
* https://bugs.gentoo.org/703912
OBS-URL: https://build.opensuse.org/request/show/762391
OBS-URL: https://build.opensuse.org/package/show/Base:System/libcap?expand=0&rev=31