mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-25 02:30:08 +01:00
String properties in libnm's NMSetting really should have NULL as a default value. The only property that didn't, was "dcb.app-fcoe-mode". Change the default so that it is also NULL. Changing a default value is an API change, but in this case probably no issue. For one, DCB is little used. But also, it's not clear who would care and notice the change. Also, because previously verify() would reject a NULL value as invalid. That means, there are no existing, valid profiles that have this value set to NULL. We just make NULL the default, and define that it means the same as "fabric". Note that when we convert integer properties to D-Bus/GVariant, we often omit the default value. For string properties, they are serialized as "s" variant type. As such, NULL cannot be expressed as "s" type, so we represent NULL by omitting the property. That makes especially sense if the default value is also NULL. Otherwise, it's rather odd. We change that, and we will now always express non-NULL value on D-Bus and let NULL be encoded by omitting the property. |
||
|---|---|---|
| .. | ||
| tests | ||
| meson.build | ||
| nm-meta-setting-access.c | ||
| nm-meta-setting-access.h | ||
| nm-meta-setting-base-impl.c | ||
| nm-meta-setting-base-impl.h | ||
| nm-meta-setting-base.h | ||
| nm-meta-setting-desc.c | ||
| nm-meta-setting-desc.h | ||
| README.md | ||
| settings-docs.h.in | ||
| settings-docs.xsl | ||
libnmc-setting
A client library on top of libnm (and libnm-base). Like libnmc-base, this is a helper library that a libnm client could use.
But its purpose is more specific. It's mainly about providing a generic API for handling connection properties. As such, it's only used by nmcli and in practice also specific to nmcli.
Theoretically, the API is supposed to be generic, so we could imagine another client that uses this beside nmcli.
Like libnm-base, this has a similar purpose and application as ../libnm-client-aux-extern/, the difference is that it's even more specific.