Submitted By: Randy McMurchy Date: 2010-12-07 Initial Package Version: 0.6.4 Upstream Status: In upstream SVN Origin: Upstream (https://fedorahosted.org/libcap-ng/changeset/11?format=diff&new=11) Description: Fixes for a change in the 2.6.36 Linux kernel diff -Naur libcap-ng-0.6.4-orig/ChangeLog libcap-ng-0.6.4/ChangeLog --- libcap-ng-0.6.4-orig/ChangeLog 2010-05-06 08:42:10.000000000 -0500 +++ libcap-ng-0.6.4/ChangeLog 2010-12-07 11:45:02.000000000 -0600 @@ -4,6 +4,7 @@ - Use thread ID for capget/set calls 0.6.3 +- Add define for missing XATTR_NAME_CAPS since 2.6.36 makes it private - In netcap and pscap use the effective uid - In capng_change_id, only retain setpcap if clearing the bounding set diff -Naur libcap-ng-0.6.4-orig/src/cap-ng.c libcap-ng-0.6.4/src/cap-ng.c --- libcap-ng-0.6.4-orig/src/cap-ng.c 2010-05-06 08:20:31.000000000 -0500 +++ libcap-ng-0.6.4/src/cap-ng.c 2010-12-07 11:45:02.000000000 -0600 @@ -1,5 +1,5 @@ /* libcap-ng.c -- - * Copyright 2009 Red Hat Inc., Durham, North Carolina. + * Copyright 2009-10 Red Hat Inc., Durham, North Carolina. * All Rights Reserved. * * This library is free software; you can redistribute it and/or @@ -72,7 +72,6 @@ #ifdef VFS_CAP_U32 #include - #define XATTR_SECURITY_PREFIX "security." #if __BYTE_ORDER == __BIG_ENDIAN #define FIXUP(x) bswap_32(x) #else @@ -90,6 +89,18 @@ #define _LINUX_CAPABILITY_VERSION_3 0x20080522 #endif +// This public API went private in the 2.6.36 kernel - hope it never changes +#ifndef XATTR_CAPS_SUFFIX +#define XATTR_CAPS_SUFFIX "capability" +#endif +#ifndef XATTR_SECURITY_PREFIX +#define XATTR_SECURITY_PREFIX "security." +#endif +#ifndef XATTR_NAME_CAPS +#define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX XATTR_CAPS_SUFFIX +#endif + + /* Child processes can't get caps back */ #ifndef SECURE_NOROOT #define SECURE_NOROOT 0