Submitted By:            Randy McMurchy <randy_at_linuxfromscratch_dot_org>
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 <attr/xattr.h>
- #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
