NetworkManager/src
Thomas Haller 12df49f8ab platform: make NMPNetns thread-safe
NMPNetns instances are immutable, hence they can be easily shared
between threads. All we need, is that the stack of namespaces is
thread-local.

Also note that NMPNetns uses almost no other API, except some bits from
"shared/nm-utils/" and nm-logging. These parts are already supposed to
be thread-safe.

The only complications is that when the thread exits, we need to
destroy the NMPNetns instances. That is especially important because
they hold file descriptors. This is accomplished using pthread's
thread-specific data. An alternative would be C11 threads' tss_create(),
but not all systems that we run against support that yet. This means,
we need to link with pthreads, but we already do that anyway.
Note that glib also requires pthreads. So, we don't get an additional
dependency here.
2019-02-05 08:18:08 +01:00
..
devices all: avoid bogus compiler warning about uninitialized variable 2019-02-04 10:55:25 +01:00
dhcp all: fix misspellings 2019-01-24 17:19:44 +01:00
dns dns: fail the plugin when the rate limiter hits 2019-01-14 10:02:48 +01:00
dnsmasq build: meson: Add trailing commas 2018-12-20 13:50:34 +01:00
initrd initrd/trivial: fix whitespace 2019-01-21 14:18:54 +01:00
ndisc all: fix misspellings 2019-01-24 17:19:44 +01:00
platform platform: make NMPNetns thread-safe 2019-02-05 08:18:08 +01:00
ppp ppp-manager: fix a typo in a debugging statement 2019-01-27 17:24:59 +01:00
settings libnm,core: various cleanups of _nm_connection_for_each_secret() 2019-02-04 20:15:20 +01:00
supplicant all: fix misspellings 2019-01-24 17:19:44 +01:00
systemd all: fix misspellings 2019-01-24 17:19:44 +01:00
tests logging: make nm-logging thread-safe 2019-02-05 08:18:08 +01:00
vpn vpn: add route to vpn gw when parent has a default device route 2019-02-04 11:07:02 +01:00
main-utils.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
main-utils.h
main.c logging: refactor and merge early logging initialization 2019-02-05 08:18:08 +01:00
meson.build systemd: move basic systemd library to shared/nm-utils 2019-01-02 17:07:13 +01:00
NetworkManagerUtils.c systemd: move basic systemd library to shared/nm-utils 2019-01-02 17:07:13 +01:00
NetworkManagerUtils.h core: use addr-family argument for nm_utils_get_ip_config_method() 2018-12-13 09:16:32 +01:00
nm-act-request.c core: improve and fix keeping connection active based on "connection.permissions" 2018-12-09 14:47:32 +01:00
nm-act-request.h core: improve and fix keeping connection active based on "connection.permissions" 2018-12-09 14:47:32 +01:00
nm-active-connection.c all/trivial: rename NM_UTILS_LOOKUP_STR() to have "_A" suffix 2019-01-15 09:52:01 +01:00
nm-active-connection.h core: improve and fix keeping connection active based on "connection.permissions" 2018-12-09 14:47:32 +01:00
nm-audit-manager.c config: use macros for config keys 2018-12-01 15:16:48 +01:00
nm-audit-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-auth-manager.c auth-manager: use the correct function to deallocate a GError 2018-05-02 14:55:01 +02:00
nm-auth-manager.h auth-manager: add helper function nm_auth_call_result_eval() 2018-04-13 09:09:46 +02:00
nm-auth-subject.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-auth-subject.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-auth-utils.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-auth-utils.h core: add nm_auth_is_subject_in_acl_set_error() helper 2018-04-18 07:55:15 +02:00
nm-checkpoint-manager.c settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-checkpoint-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-checkpoint.c core: improve and fix keeping connection active based on "connection.permissions" 2018-12-09 14:47:32 +01:00
nm-checkpoint.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-config-data.c dns: fix connecting signals to DNS plugin in init_resolv_conf_mode() 2018-12-11 09:23:47 +01:00
nm-config-data.h core: add checks on connection default properties 2018-12-01 15:16:48 +01:00
nm-config.c config: use cleanup attribute for variables in init_sync() 2018-12-01 15:16:48 +01:00
nm-config.h build: check that the list of supported config options is up to date 2018-12-01 15:16:48 +01:00
nm-connectivity.c connectivity: don't cache HTTP response for comparing connectivity response 2019-01-31 11:33:44 +01:00
nm-connectivity.h libnm: add nm_connectivity_state_cmp() helper 2018-12-11 09:23:47 +01:00
nm-core-utils.c all: fix misspellings 2019-01-24 17:19:44 +01:00
nm-core-utils.h dhcp: move nm_utils_dhcp_client_id_mac() to "nm-core-utils.c" 2019-01-07 17:05:17 +01:00
nm-dbus-manager.c dbus: add nm_dbus_manager_get_dbus_connection() helper 2018-12-11 09:23:47 +01:00
nm-dbus-manager.h dbus: add nm_dbus_manager_get_dbus_connection() helper 2018-12-11 09:23:47 +01:00
nm-dbus-object.c core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-object.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-utils.c core: don't explicitly set D-Bus path properties to "/" 2018-04-18 07:55:15 +02:00
nm-dbus-utils.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dcb.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-dcb.h
nm-dhcp4-config.c core: sort DHCP options that are exported on D-Bus 2018-04-23 15:43:39 +02:00
nm-dhcp4-config.h
nm-dhcp6-config.c core: sort DHCP options that are exported on D-Bus 2018-04-23 15:43:39 +02:00
nm-dhcp6-config.h
nm-dispatcher.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-dispatcher.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-firewall-manager.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-firewall-manager.h
nm-hostname-manager.c hostname: drop define IFCFG_DIR which is only used once 2018-07-17 17:46:01 +02:00
nm-hostname-manager.h
nm-iface-helper.c logging: refactor and merge early logging initialization 2019-02-05 08:18:08 +01:00
nm-ip4-config.c all: avoid bogus compiler warning about uninitialized variable 2019-02-04 10:55:25 +01:00
nm-ip4-config.h ip-config: add @intersect_routes argument to intersect functions 2018-09-26 11:49:37 +02:00
nm-ip6-config.c core: allow addresses with zero prefix length 2018-12-19 09:23:08 +01:00
nm-ip6-config.h ip-config: add @intersect_routes argument to intersect functions 2018-09-26 11:49:37 +02:00
nm-keep-alive.c all: fix misspellings 2019-01-24 17:19:44 +01:00
nm-keep-alive.h keep-alive: drop unused nm_keep_alive_set_forced() 2018-12-09 14:47:31 +01:00
nm-logging.c logging: make nm-logging thread-safe 2019-02-05 08:18:08 +01:00
nm-logging.h logging: make nm-logging thread-safe 2019-02-05 08:18:08 +01:00
nm-manager.c manager: Fix GVariant format strings for AddAndActivate2 return value 2019-01-29 13:30:14 +01:00
nm-manager.h core: improve and fix keeping connection active based on "connection.permissions" 2018-12-09 14:47:32 +01:00
nm-netns.c all: get rid of a handful of unused-but-set variables 2017-12-18 13:29:32 +01:00
nm-netns.h core: rework handling of default-routes and drop NMDefaultRouteManager 2017-09-08 11:11:21 +02:00
nm-pacrunner-manager.c all: don't use static buffer for nm_utils_inet*_ntop() 2018-12-19 09:23:08 +01:00
nm-pacrunner-manager.h
nm-policy.c all/trivial: rename NM_UTILS_LOOKUP_STR() to have "_A" suffix 2019-01-15 09:52:01 +01:00
nm-policy.h policy: track best active connections rather than best devices 2018-07-09 14:56:59 +02:00
nm-proxy-config.c
nm-proxy-config.h
nm-rfkill-manager.c all: say Wi-Fi instead of "wifi" or "WiFi" 2018-11-29 17:53:35 +01:00
nm-rfkill-manager.h
nm-session-monitor.c all: avoid g_memdup() 2018-09-07 11:24:17 +02:00
nm-session-monitor.h
nm-sleep-monitor.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-sleep-monitor.h
nm-test-utils-core.h build: avoid header conflict for <linux/if.h> and <net/if.h> with "nm-platform.h" 2018-11-12 16:02:35 +01:00
nm-types.h wifi-p2p: rename Wi-Fi P2P 2019-02-01 17:02:57 +01:00
org.freedesktop.NetworkManager.conf wifi-p2p: rename Wi-Fi P2P 2019-02-01 17:02:57 +01:00