From: Lennart Poettering Date: Fri, 12 Dec 2014 17:37:25 +0000 (+0100) Subject: cap-list: return lower-case capability names, similar to libcap's cap_to_name(),... X-Git-Tag: v219~1020 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=34a3e4ecad5fd2042eb83ffcbf30379a536cc3ee cap-list: return lower-case capability names, similar to libcap's cap_to_name(), for compat reasons --- diff --git a/Makefile.am b/Makefile.am index 417074945..4545cfebe 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1252,7 +1252,7 @@ src/shared/cap-list.txt: $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/capability.h -include missing.h - $@ src/shared/cap-to-name.h: src/shared/cap-list.txt - $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, $$1 } END{print "};"}' <$< >$@ + $(AM_V_GEN)$(AWK) 'BEGIN{ print "static const char* const capability_names[] = { "} { printf "[%s] = \"%s\",\n", $$1, tolower($$1) } END{print "};"}' <$< >$@ src/shared/cap-from-name.gperf: src/shared/cap-list.txt $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct capability_name { const char* name; int id; };"; print "%null-strings"; print "%%";} { printf "%s, %s\n", $$1, $$1 }' <$< >$@ diff --git a/src/test/test-cap-list.c b/src/test/test-cap-list.c index dfa9a063c..a53652264 100644 --- a/src/test/test-cap-list.c +++ b/src/test/test-cap-list.c @@ -39,6 +39,8 @@ int main(int argc, char *argv[]) { assert_se(capability_from_name("asdfbsd") == -EINVAL); assert_se(capability_from_name("CAP_AUDIT_READ") == CAP_AUDIT_READ); + assert_se(capability_from_name("cap_audit_read") == CAP_AUDIT_READ); + assert_se(capability_from_name("cAp_aUdIt_rEAd") == CAP_AUDIT_READ); assert_se(capability_from_name("0") == 0); assert_se(capability_from_name("15") == 15); assert_se(capability_from_name("-1") == -EINVAL);