NetworkManager/src/libnm-core-impl
Jonas Dreßler a4b95a9fcd
libnm-core: Don't allow disabling PMF when using WPA3 key management
Modern WPA3 authentication methods like SAE and WPA-EAP-SUITE-B-192 need
to have management frame protection set to required according to the
standard. Since the last commit, we enforce this automatically when
key-mgmt is set to 'owe', 'sae' or 'wpa-eap-suite-b-192', so disabling
it manually should not be possible.

Add a check to the pmf property that makes sure it can't be set to
'disabled' or 'optional' when one of those key-mgmt methods is used.
2021-05-06 22:23:28 +02:00
..
tests libnm: normalize "connection.uuid" 2021-05-04 15:51:59 +02:00
meson.build build/meson: explicitly link libnm-crypto 2021-02-28 10:42:06 +01:00
nm-connection-private.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-connection.c libnm: normalize "connection.uuid" 2021-05-04 15:51:59 +02:00
nm-crypto-gnutls.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-crypto-impl.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-crypto-nss.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-crypto.c libnm,glib-aux: move nm_crypto_md5_hash() to "libnm-glib-aux" 2021-05-04 15:51:46 +02:00
nm-crypto.h libnm,glib-aux: move nm_crypto_md5_hash() to "libnm-glib-aux" 2021-05-04 15:51:46 +02:00
nm-dbus-utils.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-default-libnm-core.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-errors.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-keyfile-utils.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-keyfile.c all: only include "libnm-glib-aux/nm-uuid.h" where needed 2021-05-04 15:51:51 +02:00
nm-meta-setting-base-impl.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-property-compare.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-property-compare.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-6lowpan.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-8021x.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-setting-adsl.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-bluetooth.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-bond.c bond: avoid logging warning to set "ad_actor_system=00:00:00:00:00:00" 2021-02-23 14:18:02 +01:00
nm-setting-bridge-port.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-bridge.c build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-setting-cdma.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-connection.c libnm: normalize "connection.uuid" 2021-05-04 15:51:59 +02:00
nm-setting-dcb.c all: use nm_g_variant_new_au() helper 2021-04-16 11:44:20 +02:00
nm-setting-dummy.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ethtool.c build: move "shared/nm-{base,udev-aux}" to "src/libnm-{base,udev-aux}" 2021-02-24 12:48:19 +01:00
nm-setting-generic.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-gsm.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-hostname.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-infiniband.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ip-config.c libnm: don't use defined strings in translated strings in "nm-setting-ip-config.c" 2021-03-30 17:54:26 +02:00
nm-setting-ip-tunnel.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-setting-ip4-config.c libnm: Refactor NM_CONNECTION_SERIALIZE_* flags 2021-04-01 17:19:15 +02:00
nm-setting-ip6-config.c libnm: add missing "---end---" tag for ifcfg-rh's "dhcp-hostname-flags" doc 2021-05-03 10:41:13 +02:00
nm-setting-macsec.c base: move "libnm-core-intern/nm-core-types-internal.h" to libnm-base 2021-03-05 11:27:02 +01:00
nm-setting-macvlan.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-match.c libnm/docs: improve wording for documentation of [match] setting options 2021-03-24 16:50:26 +01:00
nm-setting-olpc-mesh.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ovs-bridge.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ovs-dpdk.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ovs-external-ids.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ovs-interface.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ovs-patch.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ovs-port.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-ppp.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-pppoe.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-private.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-proxy.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-serial.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-sriov.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-tc-config.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-team-port.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-team.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-tun.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-user.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-veth.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-vlan.c ifcfg-rh: always honor "$VLAN_ID" in ifcfg files 2021-03-29 21:12:47 +02:00
nm-setting-vpn.c libnm: Refactor NM_CONNECTION_SERIALIZE_* flags 2021-04-01 17:19:15 +02:00
nm-setting-vrf.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-vxlan.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-wifi-p2p.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-wimax.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting-wired.c wired-setting: add support to accept-all-mac-addresses 2021-04-22 18:57:30 +00:00
nm-setting-wireguard.c libnm/trivial: add code comment for _peers_dbus_only_synth() handling of allowed-ips 2021-04-29 17:27:32 +02:00
nm-setting-wireless-security.c libnm-core: Don't allow disabling PMF when using WPA3 key management 2021-05-06 22:23:28 +02:00
nm-setting-wireless.c libnm: Refactor NM_CONNECTION_SERIALIZE_* flags 2021-04-01 17:19:15 +02:00
nm-setting-wpan.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-setting.c libnm: Refactor NM_CONNECTION_SERIALIZE_* flags 2021-04-01 17:19:15 +02:00
nm-simple-connection.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-team-utils.c clang-format: reformat code with clang 12 2021-05-04 13:56:26 +02:00
nm-team-utils.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-utils-private.h build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-utils.c libnm: use nm_uuid_is_valid_nmlegacy() to implement nm_utils_is_uuid() 2021-05-04 15:51:57 +02:00
nm-vpn-editor-plugin.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
nm-vpn-plugin-info.c build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00
README.md build: move "libnm-core/" to "src/" and split it 2021-02-18 19:46:51 +01:00

libnm-core-impl

NetworkManager provides a client library libnm. NetworkManager core does not (dynamically) link against all of libnm. Instead, it statically links against a part of it. That part is the static helper library libnm-core-impl.

libnm-core-impl implements (and provides) the API from libnm-core-public, which is part of the public API of libnm. In this form, libnm-core-impl is part of the implementation of libnm. It also implements (and provides) an internal API libnm-core-intern which can only be used by those who link statically against libnm-core-impl.

Only NetworkManager core and libnm are allowed to statically link with libnm-core-impl. Consequently, only those are allowed to include libnm-core-intern.

This directory should not be added to the include search path of other components as they are only allowed to include libnm-core-public and libnm-core-intern.