From 90e8691111889a7b5f3c812f5a41f15a8a058913 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Tue, 7 Nov 2017 00:14:39 +0100 Subject: New upstream version 1.9.90 --- libnm/nm-device-bt.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'libnm/nm-device-bt.c') diff --git a/libnm/nm-device-bt.c b/libnm/nm-device-bt.c index 0fcd28b9..a47e3958 100644 --- a/libnm/nm-device-bt.c +++ b/libnm/nm-device-bt.c @@ -131,12 +131,19 @@ connection_compatible (NMDevice *device, NMConnection *connection, GError **erro if (!NM_DEVICE_CLASS (nm_device_bt_parent_class)->connection_compatible (device, connection, error)) return FALSE; - if (!nm_connection_is_type (connection, NM_SETTING_BLUETOOTH_SETTING_NAME)) { + if ( !nm_connection_is_type (connection, NM_SETTING_BLUETOOTH_SETTING_NAME) + || !(s_bt = nm_connection_get_setting_bluetooth (connection))) { g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INCOMPATIBLE_CONNECTION, _("The connection was not a Bluetooth connection.")); return FALSE; } + if (nm_streq0 (nm_setting_bluetooth_get_connection_type (s_bt), NM_SETTING_BLUETOOTH_TYPE_NAP)) { + g_set_error (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INCOMPATIBLE_CONNECTION, + _("The connection is of Bluetooth NAP type.")); + return FALSE; + } + /* Check BT address */ hw_addr = nm_device_bt_get_hw_address (NM_DEVICE_BT (device)); if (hw_addr) { @@ -145,7 +152,6 @@ connection_compatible (NMDevice *device, NMConnection *connection, GError **erro _("Invalid device Bluetooth address.")); return FALSE; } - s_bt = nm_connection_get_setting_bluetooth (connection); setting_addr = nm_setting_bluetooth_get_bdaddr (s_bt); if (setting_addr && !nm_utils_hwaddr_matches (setting_addr, -1, hw_addr, -1)) { g_set_error_literal (error, NM_DEVICE_ERROR, NM_DEVICE_ERROR_INCOMPATIBLE_CONNECTION, -- cgit 1.3.0-6-gf8a5