NetworkManager/contrib/fedora/rpm
Thomas Haller f137b32d31
sudo: introduce nm-sudo D-Bus service
NetworkManager runs as root and has lots of capabilities.
We want to reduce the attach surface by dropping capabilities,
but there is a genuine need to do certain things.

For example, we currently require dac_override capability, to open
the unix socket of ovsdb. Most users wouldn't use OVS, so we should
find a way to not require that dac_override capability. The solution
is to have a separate, D-Bus activate service (nm-sudo), which
has the capability to open and provide the file descriptor.

For authentication, we only rely on D-Bus. We watch the name owner
of NetworkManager, and only accept requests from that service. We trust
D-Bus to get it right a request from that name owner is really coming
from NetworkManager. If we couldn't trust that, how could PolicyKit
or any authentication via D-Bus work? For testing, the user can set
NM_SUDO_NO_AUTH_FOR_TESTING=1.

https://bugzilla.redhat.com/show_bug.cgi?id=1921826
2021-07-26 15:31:46 +02:00
..
00-server.conf contrib/rpm: update comment in 00-server.conf 2016-02-03 16:25:19 +01:00
20-connectivity-fedora.conf contrib/rpm: add "enabled=true" key to "20-connectivity-{fedora,redhat}.conf" 2021-02-02 14:02:31 +01:00
20-connectivity-redhat.conf contrib/rpm: add "enabled=true" key to "20-connectivity-{fedora,redhat}.conf" 2021-02-02 14:02:31 +01:00
70-nm-connectivity.conf contrib/rpm: disable rp_filter in config-connectivity-redhat 2019-07-15 20:16:31 +02:00
build.sh all: avoid GNU "which" from shell scripts 2020-12-11 16:42:23 +01:00
build_clean.sh contrib/rpm: configure defaults for iptables/nftables when generating distribution tarball 2021-06-16 19:03:28 +02:00
mockbuild.sh contrib/fedora: Add mockbuild.sh 2017-10-30 11:04:20 +01:00
NetworkManager.conf contrib/rpm: update comments in default NetworkManager.conf 2021-06-01 09:35:07 +02:00
NetworkManager.spec sudo: introduce nm-sudo D-Bus service 2021-07-26 15:31:46 +02:00
README contrib: make "contrib/fedora/REQUIRED_PACKAGES" executable script 2018-10-22 13:19:15 +02:00
release.sh contrib/release: print better URL for gitlab-ci pipelines 2021-06-30 17:32:39 +02:00

# To build RPM packages for Fedora derivates directly from git, just do:


#
# preparation:
#
git clone https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
cd NetworkManager
git checkout $WHATEVER
./contrib/fedora/REQUIRED_PACKAGES


#
# build the packages. Pass --help for usage help.
#
./contrib/fedora/rpm/build_clean.sh


#
# install
#
sudo dnf install ./contrib/fedora/rpm/latest/RPMS/x86_64/*rpm



# To generate a clean build from git using mock, run:
./contrib/fedora/rpm/mockbuild.sh