Merge pull request #2520 from donaldsharp/privs_smivs

lib: Fix privs when using HAVE_CAPABILITIES
This commit is contained in:
Jafar Al-Gharaibeh 2018-06-22 14:19:13 -05:00 committed by GitHub
commit 3a743cb7ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 1 deletions

View File

@ -824,6 +824,19 @@ void zprivs_init(struct zebra_privs_t *zprivs)
#ifdef HAVE_CAPABILITIES
zprivs_caps_init(zprivs);
/*
* If we have initialized the system with no requested
* capabilities, change will not have been set
* to anything by zprivs_caps_init, As such
* we should make sure that when we attempt
* to raize privileges that we actually have
* a do nothing function to call instead of a
* crash :).
*/
if (!zprivs->change)
zprivs->change = zprivs_change_null;
#else /* !HAVE_CAPABILITIES */
/* we dont have caps. we'll need to maintain rid and saved uid
* and change euid back to saved uid (who we presume has all neccessary

View File

@ -51,7 +51,6 @@ uint32_t installed_routes = 0;
uint32_t removed_routes = 0;
zebra_capabilities_t _caps_p[] = {
ZCAP_NET_RAW, ZCAP_BIND, ZCAP_NET_ADMIN,
};
struct zebra_privs_t sharp_privs = {