From: Daniel Hokka Zakrisson Date: Tue, 26 Feb 2008 22:51:12 +0000 (+0000) Subject: CAP_NET_BIND_SERVICE is special, in all cases. X-Git-Tag: util-vserver-pl-0.3-2~10 X-Git-Url: http://git.onelab.eu/?p=util-vserver-pl.git;a=commitdiff_plain;h=00ef3bf63bdc8011eea351d214dbeddcca050059 CAP_NET_BIND_SERVICE is special, in all cases. --- diff --git a/python/vserverimpl.c b/python/vserverimpl.c index a568fb2..5e28fa2 100644 --- a/python/vserverimpl.c +++ b/python/vserverimpl.c @@ -59,6 +59,8 @@ static inline PyObject *inc_and_ret_none(void) #define NONE inc_and_ret_none() +#define PL_INSECURE_BCAPS (vc_get_insecurebcaps() | (1 << VC_CAP_NET_BIND_SERVICE)) + /* * context create */ @@ -71,7 +73,7 @@ vserver_chcontext(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "I|K", &ctx, &bcaps)) return NULL; - bcaps |= ~(vc_get_insecurebcaps() | (1 << VC_CAP_NET_BIND_SERVICE)); + bcaps |= ~PL_INSECURE_BCAPS; if ((ctx_is_new = pl_chcontext(ctx, bcaps, 0)) < 0) return PyErr_SetFromErrno(PyExc_OSError); @@ -301,7 +303,7 @@ vserver_set_bcaps(PyObject *self, PyObject *args) if (!PyArg_ParseTuple(args, "IK", &ctx, &caps.bcaps)) return NULL; - caps.bmask = vc_get_insecurebcaps(); + caps.bmask = PL_INSECURE_BCAPS; caps.cmask = caps.ccaps = 0; if (vc_set_ccaps(ctx, &caps) == -1 && errno != ESRCH) return PyErr_SetFromErrno(PyExc_OSError); @@ -341,7 +343,7 @@ vserver_get_bcaps(PyObject *self, PyObject *args) caps.bcaps = 0; } - return Py_BuildValue("K", caps.bcaps & vc_get_insecurebcaps()); + return Py_BuildValue("K", caps.bcaps & PL_INSECURE_BCAPS); } static PyObject *