From 6b148faa291f68dd43bba37fbc0e6b75a2e1e078 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Tue, 18 Sep 2007 18:07:18 +0000 Subject: [privs/Solaris] Quagga should work in zones with IP instances 2007-09-18 Paul Jakma * 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. --- lib/ChangeLog | 7 +++++++ lib/privs.c | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/lib/ChangeLog b/lib/ChangeLog index 26a25171..8125451f 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,10 @@ +2007-09-18 Paul Jakma + + * 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. + 2007-08-21 Denis Ovsienko * sockopt.[ch]: (setsockopt_so_sendbuf, getsockopt_so_sendbuf): 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 }, }, -- cgit v1.2.1