diff options
author | paul <paul> | 2007-09-18 18:07:18 +0000 |
---|---|---|
committer | paul <paul> | 2007-09-18 18:07:18 +0000 |
commit | c632d6a33c915b46d9ac5b250d848b4efb919117 (patch) | |
tree | 2131c86dc7fd14e4d42cf05efb67d85300bb330d /lib/privs.c | |
parent | ef5a3afca21806d8c90ae99363b2f1b5cce5b365 (diff) | |
download | quagga-c632d6a33c915b46d9ac5b250d848b4efb919117.tar.bz2 quagga-c632d6a33c915b46d9ac5b250d848b4efb919117.tar.xz |
[privs/Solaris] Quagga should work in zones with IP instances
2007-09-18 Paul Jakma <paul.jakma@sun.com>
* privs.c: definition of ZCAP_NET_ADMIN on Solaris should
be PRIV_SYS_IP_CONFIG, when that's available. Thus allowing
Quagga to work with in Solaris zones with exclusive IP
instances.
Diffstat (limited to 'lib/privs.c')
-rw-r--r-- | lib/privs.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/privs.c b/lib/privs.c index f4117e26..69606f57 100644 --- a/lib/privs.c +++ b/lib/privs.c @@ -117,7 +117,12 @@ static struct /* Quagga -> Solaris privilege mappings */ [ZCAP_SETID] = { 1, (pvalue_t []) { PRIV_PROC_SETID }, }, [ZCAP_BIND] = { 1, (pvalue_t []) { PRIV_NET_PRIVADDR }, }, + /* IP_CONFIG is a subset of NET_CONFIG and is allowed in zones */ +#ifdef PRIV_SYS_IP_CONFIG + [ZCAP_NET_ADMIN] = { 1, (pvalue_t []) { PRIV_SYS_IP_CONFIG }, }, +#else [ZCAP_NET_ADMIN] = { 1, (pvalue_t []) { PRIV_SYS_NET_CONFIG }, }, +#endif [ZCAP_NET_RAW] = { 2, (pvalue_t []) { PRIV_NET_RAWACCESS, PRIV_NET_ICMPACCESS }, }, [ZCAP_CHROOT] = { 1, (pvalue_t []) { PRIV_PROC_CHROOT }, }, |