From 2bc0281352a894e75dedcf3cc41fcba487e3b74b Mon Sep 17 00:00:00 2001 From: Jarkko Sakkinen Date: Thu, 20 Jun 2013 21:21:37 +0300 Subject: id: adjust/restrict smack support to newer versions of libsmack There was slight change to libsmack such that positive values are reserved for returning length of the label for smack_new_label_from_* functions. * m4/jm-macros.m4: Set HAVE_SMACK when both smack_new_label_from_self() and recently added smack_new_label_from_path() are present. The latter's presence indicates the newer API of the former. * src/id.c (main): Check that smack_new_label_from_self() < 0, and not just non-zero. --- src/id.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/id.c') diff --git a/src/id.c b/src/id.c index 937b7234d..c91dbcdbc 100644 --- a/src/id.c +++ b/src/id.c @@ -210,7 +210,8 @@ main (int argc, char **argv) if (selinux_enabled && getcon (&context) && just_context) error (EXIT_FAILURE, 0, _("can't get process context")); #ifdef HAVE_SMACK - else if (smack_enabled && smack_new_label_from_self ((char **) &context)) + else if (smack_enabled + && smack_new_label_from_self ((char **) &context) < 0) error (EXIT_FAILURE, 0, _("can't get process context")); #endif } -- cgit v1.2.3-54-g00ecf