=== modified file 'src/tools.cc' --- src/tools.cc 2009-08-28 01:44:26 +0000 +++ src/tools.cc 2009-10-05 11:38:00 +0000 @@ -1243,18 +1243,28 @@ #if defined(_SQUID_LINUX_) #if HAVE_SYS_CAPABILITY_H +/* if we dont have v1 fallback to the ancient ways */ #ifndef _LINUX_CAPABILITY_VERSION_1 #define _LINUX_CAPABILITY_VERSION_1 _LINUX_CAPABILITY_VERSION #endif +/* if we dont have v2 pretend the version we used for v1 is usable. */ +#ifndef _LINUX_CAPABILITY_VERSION_2 +#define _LINUX_CAPABILITY_VERSION_2 _LINUX_CAPABILITY_VERSION_1 +#endif +/* if we dont have v3 pretend the version we used for v2 is usable. */ +#ifndef _LINUX_CAPABILITY_VERSION_3 +#define _LINUX_CAPABILITY_VERSION_3 _LINUX_CAPABILITY_VERSION_2 +#endif + cap_user_header_t head = (cap_user_header_t) xcalloc(1, sizeof(*head)); cap_user_data_t cap = (cap_user_data_t) xcalloc(1, sizeof(*cap)); - head->version = _LINUX_CAPABILITY_VERSION_1; + head->version = _LINUX_CAPABILITY_VERSION_3; if (capget(head, cap) != 0) { debugs(50, DBG_IMPORTANT, "Can't get current capabilities"); - } else if (head->version != _LINUX_CAPABILITY_VERSION_1) { - debugs(50, DBG_IMPORTANT, "Invalid capability version " << head->version << " (expected " << _LINUX_CAPABILITY_VERSION_1 << ")"); + } else if (head->version != _LINUX_CAPABILITY_VERSION_3) { + debugs(50, DBG_IMPORTANT, "Invalid capability version " << head->version << " (expected " << _LINUX_CAPABILITY_VERSION_3 << ")"); } else { head->pid = 0;