16 lines
685 B
Diff
16 lines
685 B
Diff
diff -urp libcap-ng-0.6.2/src/cap-ng.c libcap-ng-0.6.3/src/cap-ng.c
|
|
--- libcap-ng-0.6.2/src/cap-ng.c 2009-09-23 17:31:00.000000000 -0400
|
|
+++ libcap-ng-0.6.3/src/cap-ng.c 2009-10-09 08:59:01.000000000 -0400
|
|
@@ -549,8 +549,9 @@ int capng_change_id(int uid, int gid, ca
|
|
|
|
// Check the current capabilities
|
|
#ifdef PR_CAPBSET_DROP
|
|
- // If newer kernel, we need setpcap
|
|
- if (capng_have_capability(CAPNG_EFFECTIVE, CAP_SETPCAP) == 0)
|
|
+ // If newer kernel, we need setpcap to change the bounding set
|
|
+ if (capng_have_capability(CAPNG_EFFECTIVE, CAP_SETPCAP) == 0 &&
|
|
+ flag & CAPNG_CLEAR_BOUNDING)
|
|
capng_update(CAPNG_ADD,
|
|
CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SETPCAP);
|
|
#endif
|