tstellar / rpms / libcap-ng

Forked from rpms/libcap-ng 3 years ago
Clone
Blob Blame History Raw
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