iproute2/lib
Luca Boccassi 9b13cc98f5 ip: do not drop capabilities if net_admin=i is set
Users have reported a regression due to ip now dropping capabilities
unconditionally.
zerotier-one VPN and VirtualBox use ambient capabilities in their
binary and then fork out to ip to set routes and links, and this
does not work anymore.

As a workaround, do not drop caps if CAP_NET_ADMIN (the most common
capability used by ip) is set with the INHERITABLE flag.
Users that want ip vrf exec to work do not need to set INHERITABLE,
which will then only set when the calling program had privileges to
give itself the ambient capability.

Fixes: ba2fc55b99 ("Drop capabilities if not running ip exec vrf with libcap")

Signed-off-by: Luca Boccassi <bluca@debian.org>
2018-05-14 21:07:34 -07:00
..
Makefile lib: Correct object file dependencies 2018-02-16 08:14:18 -08:00
bpf.c bpf: fix warnings on gcc-8 about string truncation 2018-04-20 10:38:00 -07:00
color.c color: disable color when json output is requested 2018-02-23 08:18:33 -08:00
coverity_model.c scrub out whitespace issues 2016-03-27 10:50:14 -07:00
dnet_ntop.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
dnet_pton.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
exec.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
fs.c Convert the obvious cases to strlcpy() 2017-09-01 12:10:54 -07:00
inet_proto.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ipx_ntop.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
ipx_pton.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
json_print.c json_print: Fix hidden 64-bit type promotion 2018-04-25 11:08:55 -07:00
json_writer.c json_print: Fix hidden 64-bit type promotion 2018-04-25 11:08:55 -07:00
libgenl.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
libnetlink.c libnetlink: __rtnl_talk_iov should only loop max iovlen times 2018-03-02 13:30:34 -08:00
ll_addr.c utils: ll_addr: Handle ARPHRD_IP6GRE in ll_addr_n2a() 2017-12-26 09:07:42 -08:00
ll_map.c utils: Reimplement ll_idx_n2a() and introduce ll_idx_a2n() 2018-02-16 08:14:13 -08:00
ll_proto.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
ll_types.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
mpls_ntop.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
mpls_pton.c SPDX license identifiers 2017-11-24 12:21:35 -08:00
names.c Replace malloc && memset by calloc 2016-07-20 12:05:24 -07:00
namespace.c namespace: limit the length of namespace name to avoid snprintf overflow 2018-03-29 08:40:26 -07:00
rt_names.c drop unneeded include of syslog.h 2017-11-12 16:22:36 -08:00
utils.c ip: do not drop capabilities if net_admin=i is set 2018-05-14 21:07:34 -07:00