X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Flib%2Fbcaps-v13.c;h=6f9f491b1cc7cfeda28ac723e4d4a69039079054;hb=77d302326fbb2bc08b55f228627f83f2be1dbc0b;hp=69181581cd8e7ab65f64f3a61d4c50369710208f;hpb=94f2186db8cb5331338ccd862ab698617d878d7c;p=util-vserver.git diff --git a/util-vserver/lib/bcaps-v13.c b/util-vserver/lib/bcaps-v13.c index 6918158..6f9f491 100644 --- a/util-vserver/lib/bcaps-v13.c +++ b/util-vserver/lib/bcaps-v13.c @@ -26,13 +26,18 @@ #include #include +#include #include -#ifndef CAP_QUOTACTL -# define CAP_QUOTACTL VC_CAP_QUOTACTL +#define DECL(VAL) { #VAL, sizeof(#VAL)-1, 1 << (CAP_ ## VAL) } + +#ifndef CAP_AUDIT_WRITE +# define CAP_AUDIT_WRITE 29 #endif -#define DECL(VAL) { #VAL, sizeof(#VAL)-1, 1 << (CAP_ ## VAL) } +#ifndef CAP_AUDIT_CONTROL +# define CAP_AUDIT_CONTROL 30 +#endif static struct Mapping_uint64 const VALUES[] = { DECL(CHOWN), @@ -64,14 +69,16 @@ static struct Mapping_uint64 const VALUES[] = { DECL(SYS_TTY_CONFIG), DECL(MKNOD), DECL(LEASE), - DECL(QUOTACTL), + DECL(AUDIT_WRITE), + DECL(AUDIT_CONTROL), }; inline static char const * removePrefix(char const *str, size_t *len) { - if (strncasecmp("cap_", str, 4)==0) { - if (len && *len) *len -= 4; + if ((len==0 || *len==0 || *len>4) && + strncasecmp("cap_", str, 4)==0) { + if (len && *len>4) *len -= 4; return str+4; } else