NetworkManager/libnm-core
Thomas Haller abdf9a3673 all: change handling of connection.type for bluetooth NAP and in general
Branch f9b1bc16e9 added bluetooth NAP
support. A NAP connection is of connection.type "bluetooth", but it
also has a "bridge" setting. Also, it is primarily handled by NMDeviceBridge
and NMBridgeDeviceFactory (with help from NMBluezManager).

However, don't let nm_connection_get_connection_type() and
nm_connnection_is_type() lie about what the connection.type is.
The type is "bluetooth" for most purposes -- at least, as far as
the client is concerned (and the public API of libnm). This restores
previous API behavior, where nm_connection_get_connection_type()
and nm_connection_is_type() would be simple accessors to the
"connection.type" property.

Only a few places care about the bridge aspect, and those places need special
treatment. For example NMDeviceBridge needs to be fully aware that it can
handle bluetooth NAP connection. That is nothing new: if you handle a
connection of any type, you must know which fields matter and what they
mean. It's not enough that nm_connection_get_connection_type() for bluetooth
NAP connectins is claiming to be a bridge.

Counter examples, where the original behavior is right:

src/nm-manager.c-        g_set_error (error,
src/nm-manager.c-                     NM_MANAGER_ERROR,
src/nm-manager.c-                     NM_MANAGER_ERROR_FAILED,
src/nm-manager.c-                     "NetworkManager plugin for '%s' unavailable",
src/nm-manager.c:                     nm_connection_get_connection_type (connection));

the correct message is: "no bluetooth plugin available", not "bridge".

src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:   if (   (   nm_connection_is_type (connection, NM_SETTING_WIRED_SETTING_NAME)
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:           && !nm_connection_get_setting_pppoe (connection))
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:       || nm_connection_is_type (connection, NM_SETTING_VLAN_SETTING_NAME)
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:       || nm_connection_is_type (connection, NM_SETTING_WIRELESS_SETTING_NAME)
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:       || nm_connection_is_type (connection, NM_SETTING_INFINIBAND_SETTING_NAME)
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:       || nm_connection_is_type (connection, NM_SETTING_BOND_SETTING_NAME)
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:       || nm_connection_is_type (connection, NM_SETTING_TEAM_SETTING_NAME)
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c:       || nm_connection_is_type (connection, NM_SETTING_BRIDGE_SETTING_NAME))
src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c-        return TRUE;

the correct behavior is for ifcfg-rh plugin to reject bluetooth NAP
connections, not proceed and store it.
2017-06-07 09:07:17 +02:00
..
tests libnm: add enum for setting priorities 2017-06-07 09:07:17 +02:00
crypto.c libnm: refactor loop in crypto_md5_hash() 2016-11-09 12:07:33 +01:00
crypto.h all: cleanup includes in header files 2016-08-17 19:09:50 +02:00
crypto_gnutls.c crypto: don't try to decrypt PKCS#8 key if no password is supplied 2016-09-23 18:05:54 +02:00
crypto_nss.c all: use "unsigned" instead of "unsigned int" 2017-03-14 11:26:29 +01: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 all: change handling of connection.type for bluetooth NAP and in general 2017-06-07 09:07:17 +02:00
nm-connection.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-core-internal.h libnm: distinguish INVALID priority setting from NM_SETTING_PRIORITY_CONNECTION 2017-06-07 09:07:17 +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: add NMSettingUser 2017-03-28 14:58:21 +02:00
nm-dbus-interface.h dbus/secret-agent: add a flag indicating WPS PBC is active 2017-05-15 12:59:55 +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: use NM_CACHED_QUARK_FCN() instead of G_DEFINE_QUARK() 2017-02-10 14:33:52 +01:00
nm-errors.h ppp: split ppp manager into a plugin 2016-12-06 11:08:11 +01:00
nm-keyfile-internal.h cli: split nm-meta-setting-desc out of settings 2017-03-30 13:09:58 +02:00
nm-keyfile-reader.c libnm/keyfile: properly read user data from keyfile 2017-05-06 14:12:19 +02:00
nm-keyfile-utils.c keyfile: fix handling unsupported characters in keys 2017-05-06 14:12:18 +02:00
nm-keyfile-utils.h keyfile: fix handling unsupported characters in keys 2017-05-06 14:12:18 +02:00
nm-keyfile-writer.c all: fix typos in documentation, translated strings and comments 2017-05-28 17:33:37 +02:00
nm-property-compare.c build: don't link against libm.so 2017-03-23 19:06:02 +01:00
nm-property-compare.h all: cleanup includes in header files 2016-08-17 19:09:50 +02:00
nm-setting-8021x.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-8021x.h libnm-core: fix typo in 802.1x doc comment 2017-06-06 09:28:59 +02:00
nm-setting-adsl.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-adsl.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-bluetooth.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-bluetooth.h core/bluetooth: add NAP type 2017-05-31 20:15:52 +02:00
nm-setting-bond.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-bond.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-bridge-port.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-bridge-port.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-bridge.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-bridge.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-cdma.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-cdma.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-connection.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-connection.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-dcb.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-dcb.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-dummy.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-dummy.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-generic.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-generic.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-gsm.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-gsm.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-infiniband.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-infiniband.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ip-config.c all: fix typos in documentation, translated strings and comments 2017-05-28 17:33:37 +02:00
nm-setting-ip-config.h core,libnm-core: use same route attribute names of iproute2 2017-03-22 12:04:25 +01:00
nm-setting-ip-tunnel.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-ip-tunnel.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ip4-config.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-ip4-config.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ip6-config.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-ip6-config.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-macsec.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-macsec.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-macvlan.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-macvlan.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-olpc-mesh.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-olpc-mesh.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-ppp.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-ppp.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-pppoe.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-pppoe.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-private.h libnm: add enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-proxy.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-proxy.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-serial.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-serial.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-team-port.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-team-port.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-team.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-team.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-tun.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-tun.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-user.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-user.h libnm: add NMSettingUser 2017-03-28 14:58:21 +02:00
nm-setting-vlan.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-vlan.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-vpn.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-vpn.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-vxlan.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-vxlan.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-wimax.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-wimax.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-wired.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-wired.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting-wireless-security.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-wireless-security.h libnm: skip meta enum value NM_WEP_KEY_TYPE_LAST from glib-mkenums 2017-05-23 13:37:10 +02:00
nm-setting-wireless.c libnm: use enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-setting-wireless.h libnm-core: sensible docstrings for NMSettings* 2017-03-17 10:15:11 +01:00
nm-setting.c libnm: downgrade assertions in _nm_register_setting_impl() to nm_assert() 2017-06-07 09:07:17 +02:00
nm-setting.h include: use double-quotes to include our own headers 2017-03-09 14:12:35 +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 include: use double-quotes to include our own headers 2017-03-09 14:12:35 +01:00
nm-utils-private.h libnm-core: define known route attribute names and validation function 2017-03-06 15:20:25 +01:00
nm-utils.c libnm: add enum for setting priorities 2017-06-07 09:07:17 +02:00
nm-utils.h libnm-core: add attribute parsing/format helpers 2017-03-06 15:20:25 +01:00
nm-version.h release: bump version to 1.9.0 (development) 2017-03-28 16:34:22 +02:00
nm-vpn-dbus-interface.h libnm: revert coercing NMVpnConnectionStateReason to NMActiveConnectionStateReason 2017-03-17 13:00:32 +01:00
nm-vpn-editor-plugin.c all: modify line separator comments to be 80 chars wide 2016-10-03 12:01:15 +02:00
nm-vpn-editor-plugin.h libnm-core/vpn-editor-plugin: add missing documentation 2016-11-21 13:53:03 +01:00
nm-vpn-plugin-info.c all: use nm_utils_strv_find_first() from shared/nm-utils 2017-02-04 17:55:30 +01:00
nm-vpn-plugin-info.h libnm/vpn: pass NMVpnPluginInfo to the NMVpnEditorPlugin instance 2016-06-15 10:32:32 +02:00