From bc33bdd29f6f39c5d5b7e236e0dc895dc81e0522 Mon Sep 17 00:00:00 2001 From: kpfleming Date: Mon, 2 Oct 2006 16:00:11 +0000 Subject: clean up formatting and conformance to code guidelines revert Mark's change that caused a memory leak (cap_set_proc() does not free the capability structure so we always need to call cap_free()) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@44152 f38db490-d61c-443f-a65b-d21fe96a405b --- main/asterisk.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'main/asterisk.c') diff --git a/main/asterisk.c b/main/asterisk.c index d1e930f1f..d86e66a5b 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -2521,7 +2521,6 @@ int main(int argc, char *argv[]) if (!is_child_of_nonroot && runuser) { #ifdef HAVE_CAP - cap_t cap; int has_cap = 1; #endif /* HAVE_CAP */ struct passwd *pw; @@ -2533,7 +2532,7 @@ int main(int argc, char *argv[]) #ifdef HAVE_CAP if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0)) { ast_log(LOG_WARNING, "Unable to keep capabilities.\n"); - has_cap = 0; + has_cap = 0; } #endif /* HAVE_CAP */ if (!rungroup) { @@ -2555,12 +2554,15 @@ int main(int argc, char *argv[]) ast_verbose("Running as user '%s'\n", runuser); #ifdef HAVE_CAP if (has_cap) { + cap_t cap; + cap = cap_from_text("cap_net_admin=ep"); - if (cap_set_proc(cap)) { + + if (cap_set_proc(cap)) ast_log(LOG_WARNING, "Unable to install capabilities.\n"); - } else if (cap_free(cap)) { + + if (cap_free(cap)) ast_log(LOG_WARNING, "Unable to drop capabilities.\n"); - } } #endif /* HAVE_CAP */ } -- cgit v1.2.3