NetworkManager/libnm-core
Thomas Haller 8eed67122c device: extend MAC address handling including randomization for ethernet and wifi
Extend the "ethernet.cloned-mac-address" and "wifi.cloned-mac-address"
settings. Instead of specifying an explicit MAC address, the additional
special values "permanent", "preserve", "random", "random-bia", "stable" and
"stable-bia" are supported.

"permanent" means to use the permanent hardware address. Previously that
was the default if no explict cloned-mac-address was set. The default is
thus still "permanent", but it can be overwritten by global
configuration.

"preserve" means not to configure the MAC address when activating the
device. That was actually the default behavior before introducing MAC
address handling with commit 1b49f941a6.

"random" and "random-bia" use a randomized MAC address for each
connection. "stable" and "stable-bia" use a generated, stable
address based on some token. The "bia" suffix says to generate a
burned-in address. The stable method by default uses as token the
connection UUID, but the token can be explicitly choosen via
"stable:<TOKEN>" and "stable-bia:<TOKEN>".

On a D-Bus level, the "cloned-mac-address" is a bytestring and thus
cannot express the new forms. It is replaced by the new
"assigned-mac-address" field. For the GObject property, libnm's API,
nmcli, keyfile, etc. the old name "cloned-mac-address" is still used.
Deprecating the old field seems more complicated then just extending
the use of the existing "cloned-mac-address" field, although the name
doesn't match well with the extended meaning.

There is some overlap with the "wifi.mac-address-randomization" setting.

https://bugzilla.gnome.org/show_bug.cgi?id=705545
https://bugzilla.gnome.org/show_bug.cgi?id=708820
https://bugzilla.gnome.org/show_bug.cgi?id=758301
2016-06-30 08:29:56 +02:00
..
tests device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
crypto.c libnm-core: empty key is not a pkcs12 file 2016-04-20 10:48:59 +02:00
crypto.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
crypto_gnutls.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
crypto_nss.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
Makefile.am libnm/vpn: add nm_vpn_plugin_info_get_auth_dialog() 2016-04-22 14:17:02 +02:00
Makefile.libnm-core shared: move shared files to subdirectory "shared/nm-utils/" 2016-06-16 10:45:53 +02:00
nm-connection-private.h libnm-core: make nm_setting_verify() take an NMConnection 2014-10-28 17:17:17 -04:00
nm-connection.c setting-ip6-config: add token property 2016-05-30 16:32:06 +02:00
nm-connection.h libnm-core: add NMSettingVxlan 2015-12-09 16:36:46 +01:00
nm-core-internal.h libnm: add internal util function _nm_utils_hwaddr_length() 2016-06-30 08:29:54 +02:00
nm-core-types-internal.h libnm: internally expose NMVlanQosMapping struct in "nm-core-internal.h" 2015-11-02 13:57:02 +01:00
nm-core-types.h libnm-core: add NMSettingVxlan 2015-12-09 16:36:46 +01:00
nm-dbus-interface.h libnm-core: don't link to NMDevice type from the D-Bus spec 2016-04-22 10:02:37 +02:00
nm-dbus-utils.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-errors.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-errors.h manager: add Reload() D-Bus command 2016-06-01 19:06:34 +02:00
nm-keyfile-internal.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-keyfile-reader.c device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
nm-keyfile-utils.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-keyfile-utils.h libnm/keyfile/trivial: rename VPN_SECRETS_GROUP define to NM_KEYFILE_GROUP_VPN_SECRETS 2016-02-14 11:14:35 +01:00
nm-keyfile-writer.c all: use nm_strcmp_p() for sorting strings 2016-06-15 10:32:32 +02:00
nm-property-compare.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-property-compare.h all: make use of new header file "nm-default.h" 2015-08-05 15:32:40 +02:00
nm-setting-8021x.c all: replace _nm_utils_string_in_list() with g_strv_contains() 2016-06-17 12:25:33 +02:00
nm-setting-8021x.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-adsl.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-adsl.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-bluetooth.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-bluetooth.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-bond.c libnm-core: implement option matching for NMSettingBond 2016-03-29 18:10:05 +02:00
nm-setting-bond.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-bridge-port.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-bridge-port.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-bridge.c man,libnm-core: fix typos 2016-03-30 12:03:36 +02:00
nm-setting-bridge.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-cdma.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-cdma.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-connection.c device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
nm-setting-connection.h libnm: add NMSettingConnection:stable-id property 2016-06-30 08:29:54 +02:00
nm-setting-dcb.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-dcb.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-generic.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-generic.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-gsm.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-gsm.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-infiniband.c man,libnm-core: fix typos 2016-03-30 12:03:36 +02:00
nm-setting-infiniband.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-ip-config.c libnm: fix comparing NMSettingIPConfig for address and route properties 2016-06-30 08:29:54 +02:00
nm-setting-ip-config.h libnm-core: add dns-priority to NMSettingIPConfig 2016-05-12 17:13:50 +02:00
nm-setting-ip-tunnel.c libnm-core: fix memory leak in nm-setting-ip-tunnel.c 2016-03-09 23:16:23 +01:00
nm-setting-ip-tunnel.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-ip4-config.c ifcfg-rh: add support for DNS priority 2016-05-12 17:13:50 +02:00
nm-setting-ip4-config.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-ip6-config.c setting-ip6-config: add token property 2016-05-30 16:32:06 +02:00
nm-setting-ip6-config.h setting-ip6-config: add token property 2016-05-30 16:32:06 +02:00
nm-setting-macvlan.c libnm-core: remove trailing quote from message in nm-setting-macvlan.c 2016-03-30 00:33:20 +02:00
nm-setting-macvlan.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-olpc-mesh.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-olpc-mesh.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-ppp.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-ppp.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-pppoe.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-pppoe.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-private.h libnm-core: allow strict and relaxed error behavior for _nm_setting_new_from_dbus() 2016-03-26 12:10:54 +01:00
nm-setting-serial.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-serial.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-team-port.c libnm-core: fix comparison of team configuration 2016-05-31 10:59:43 +02:00
nm-setting-team-port.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-team.c libnm-core: fix comparison of team configuration 2016-05-31 10:59:43 +02:00
nm-setting-team.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-tun.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-tun.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-vlan.c libnm-core: allow strict and relaxed error behavior for _nm_setting_new_from_dbus() 2016-03-26 12:10:54 +01:00
nm-setting-vlan.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-vpn.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-vpn.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-vxlan.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-vxlan.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-wimax.c all: cleanup includes and let "nm-default.h" include "config.h" 2016-02-19 17:53:25 +01:00
nm-setting-wimax.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-wired.c device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
nm-setting-wired.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-wireless-security.c all: replace _nm_utils_string_in_list() with g_strv_contains() 2016-06-17 12:25:33 +02:00
nm-setting-wireless-security.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting-wireless.c device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
nm-setting-wireless.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-setting.c all: replace nm_unauto() by g_steal_pointer() 2016-05-12 14:28:44 +02:00
nm-setting.h libnm: add nm_setting_verify_secrets() and nm_connection_verify_secrets() 2015-11-20 10:35:10 +01:00
nm-simple-connection.c libnm-core: add _nm_simple_connection_new_from_dbus() function 2016-03-26 12:10:54 +01:00
nm-simple-connection.h docs: libnm: add doc comment to types 2016-05-05 17:01:57 +02:00
nm-utils-private.h device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
nm-utils.c device: extend MAC address handling including randomization for ethernet and wifi 2016-06-30 08:29:56 +02:00
nm-utils.h libnm-core: add nm_utils_enum_get_values() 2015-12-01 17:39:40 +01:00
nm-version.h release: add version 1.4 macros 2016-04-05 22:22:58 +02:00
nm-vpn-dbus-interface.h dbus: remove the telepathy annotations 2016-04-05 14:37:51 +02:00
nm-vpn-editor-plugin.c libnm/vpn: add nm_vpn_editor_plugin_load_vt() 2016-06-15 15:01:12 +02:00
nm-vpn-editor-plugin.h libnm/vpn: add nm_vpn_editor_plugin_load_vt() 2016-06-15 15:01:12 +02:00
nm-vpn-plugin-info.c libnm/vpn: pass NMVpnPluginInfo to the NMVpnEditorPlugin instance 2016-06-15 10:32:32 +02:00
nm-vpn-plugin-info.h libnm/vpn: pass NMVpnPluginInfo to the NMVpnEditorPlugin instance 2016-06-15 10:32:32 +02:00