NetworkManager/src/libnm-core-impl
Thomas Haller 915e923928
libnm: normalize empty strings in 802-1x setting
Supplicant does not allow setting certain properties to empty values.
It also does not make sense.

Also, ifcfg-rh writer uses svSetValueStr() for these properties, so
the ifcfg plugin would always loose having hte values set to "".

Also, you couldn't enter these strings in nmcli.

It's fair to assume that it makes no sense to have these values set to
an empty value. Since we cannot just tighten up verification to reject
them, normalize them.

It also seems that some GUI now starts setting domain_suffix_match to an
empty string. Or maybe it was always doing it, and ifcfg plugin just hid
the problem? Anyway, we have users out there who set these properties to
"".

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/973
2022-04-06 13:48:04 +02:00
..
tests libnm: move dependency to libnm-crypto out of libnm-core's "nm-utils.c" 2022-03-29 11:56:04 +02:00
meson.build build: move nm-crypto to separate directory "src/libnm-crypto" 2022-03-29 11:56:04 +02:00
nm-connection-private.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-connection.c libnm: normalize empty strings in 802-1x setting 2022-04-06 13:48:04 +02:00
nm-dbus-utils.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00: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 libnm: don't depend nm-crypto on "nm-error.h" 2022-03-29 11:56:03 +02:00
nm-keyfile-utils.c keyfile: write ethernet group always on the top of the file 2022-02-11 12:26:01 +01:00
nm-keyfile.c keyfile: don't require verified profile in nm_keyfile_write() 2022-03-28 18:27:37 +02:00
nm-meta-setting-base-impl.c libnm: add nm_setting_8021x_scheme_vtable_by_setting_key() helper 2022-03-28 18:27:36 +02:00
nm-property-compare.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-property-compare.h clang-format: use "IndentPPDirectives:None" instead of "BeforeHash" 2021-07-09 08:49:06 +02:00
nm-setting-6lowpan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-8021x.c libnm: normalize empty strings in 802-1x setting 2022-04-06 13:48:04 +02:00
nm-setting-adsl.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-bluetooth.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-bond-port.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-bond.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-bridge-port.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-bridge.c libnm: for embedded private structure in NMSetting set the offset to zero 2022-01-18 16:22:45 +01:00
nm-setting-cdma.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-connection.c libnm/doc: clarify behavior for autoconnect in man nm-settings 2022-03-16 10:10:13 +01:00
nm-setting-dcb.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-dummy.c libnm: extend NMSettInfoSetting with an offset to the private data 2021-07-12 13:34:40 +02:00
nm-setting-ethtool.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-generic.c libnm: extend NMSettInfoSetting with an offset to the private data 2021-07-12 13:34:40 +02:00
nm-setting-gsm.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-hostname.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-infiniband.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-ip-config.c all: add support for route type "throw" 2022-02-28 17:17:03 +01:00
nm-setting-ip-tunnel.c libnm: cleanup redundant code for direct properties of NMSetting 2022-01-18 16:22:32 +01:00
nm-setting-ip4-config.c all: add support for route type "throw" 2022-02-28 17:17:03 +01:00
nm-setting-ip6-config.c all: add support for route type "throw" 2022-02-28 17:17:03 +01:00
nm-setting-macsec.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-macvlan.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-match.c libnm: rework strv properties of NMSetting as "direct" properties 2022-02-10 22:30:27 +01:00
nm-setting-olpc-mesh.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-ovs-bridge.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-ovs-dpdk.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-ovs-external-ids.c libnm: for embedded private structure in NMSetting set the offset to zero 2022-01-18 16:22:45 +01:00
nm-setting-ovs-interface.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-ovs-patch.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-ovs-port.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-ppp.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-pppoe.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-private.h libnm: add direct strv type for NMSetting and use it for "match.interface-name" 2022-02-10 22:30:27 +01:00
nm-setting-proxy.c libnm/docs: fix documentation for "proxy.pac-script" 2022-03-21 15:21:37 +01:00
nm-setting-serial.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-sriov.c libnm: change NMVariantAttributeSpec.str_type to work for attributes of any type 2022-02-09 19:13:02 +01:00
nm-setting-tc-config.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-team-port.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-team.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-tun.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-user.c libnm: for embedded private structure in NMSetting set the offset to zero 2022-01-18 16:22:45 +01:00
nm-setting-veth.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-vlan.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-vpn.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-vrf.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-vxlan.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-wifi-p2p.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting-wimax.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-wired.c libnm: cleanup redundant code for direct properties of NMSetting 2022-01-18 16:22:32 +01:00
nm-setting-wireguard.c libnm: fix bug verifying private-key for WireGuard setting 2022-01-20 22:22:41 +01:00
nm-setting-wireless-security.c libnm: refactor some NMSetting to use direct properties for string 2022-01-18 16:22:28 +01:00
nm-setting-wireless.c libnm: cleanup redundant code for direct properties of NMSetting 2022-01-18 16:22:32 +01:00
nm-setting-wpan.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-setting.c libnm: fix update of cached option names in nm_setting_option_set() 2022-03-28 18:27:35 +02:00
nm-simple-connection.c libnm: don't clear secrets during NMSimpleConnection:dispose() 2022-01-19 13:42:17 +01:00
nm-team-utils.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-team-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-utils-private.h libnm: add flag to map zero to NULL in _nm_utils_ipaddr_canonical_or_invalid() 2022-01-18 16:22:17 +01:00
nm-utils.c libnm: move dependency to libnm-crypto out of libnm-core's "nm-utils.c" 2022-03-29 11:56:04 +02:00
nm-vpn-editor-plugin.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-vpn-plugin-info.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00: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.