From a53c203b20bb3bcb6137a99ab20133396106622d Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Sun, 4 Jun 2017 19:27:40 +0200 Subject: [PATCH] import patches from rhel-7.4 (1.8.0-5.el7) as 1.8.0-4 --- 0010-bluetooth-nap-crash-rh1454385.patch | 61 ++ ...ice-release-removed-slaves-rh1448907.patch | 73 ++ ...cli-fix-8021x-password-raw-rh1456362.patch | 121 +++ 0015-ifcfg-rh-legacy-netmask-rh1445414.patch | 721 ++++++++++++++++++ 0016-tui-connect-crash-rh1456826.patch | 43 ++ ...nm-fix-reject-vlan-id-4095-rh1456911.patch | 30 + NetworkManager.spec | 26 +- 7 files changed, 1072 insertions(+), 3 deletions(-) create mode 100644 0010-bluetooth-nap-crash-rh1454385.patch create mode 100644 0011-device-release-removed-slaves-rh1448907.patch create mode 100644 0013-nmcli-fix-8021x-password-raw-rh1456362.patch create mode 100644 0015-ifcfg-rh-legacy-netmask-rh1445414.patch create mode 100644 0016-tui-connect-crash-rh1456826.patch create mode 100644 0017-libnm-fix-reject-vlan-id-4095-rh1456911.patch diff --git a/0010-bluetooth-nap-crash-rh1454385.patch b/0010-bluetooth-nap-crash-rh1454385.patch new file mode 100644 index 0000000..5234d1d --- /dev/null +++ b/0010-bluetooth-nap-crash-rh1454385.patch @@ -0,0 +1,61 @@ +From 7851f1c5958599bfe38beac806cec1f42f1ba114 Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Tue, 23 May 2017 11:28:08 +0200 +Subject: [PATCH] bluetooth: unhook adapter properties callback when the + adapter vanishes + +https://bugzilla.redhat.com/show_bug.cgi?id=1454654 +(cherry picked from commit 0aa2e0bad31d7102034952cf95b6d43829c91d30) +--- + src/devices/bluetooth/nm-bluez-device.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/src/devices/bluetooth/nm-bluez-device.c b/src/devices/bluetooth/nm-bluez-device.c +index ebfa0d647..41ef74cae 100644 +--- a/src/devices/bluetooth/nm-bluez-device.c ++++ b/src/devices/bluetooth/nm-bluez-device.c +@@ -1187,7 +1187,11 @@ dispose (GObject *object) + g_slist_free_full (priv->connections, g_object_unref); + priv->connections = NULL; + +- g_clear_object (&priv->adapter5); ++ if (priv->adapter5) { ++ g_signal_handlers_disconnect_by_func (priv->adapter5, adapter5_on_properties_changed, self); ++ g_clear_object (&priv->adapter5); ++ } ++ + g_clear_object (&priv->dbus_connection); + + G_OBJECT_CLASS (nm_bluez_device_parent_class)->dispose (object); +-- +2.13.0 + +From 30d06b2253b7277ed1153bcbbc81f9e1ca3e3474 Mon Sep 17 00:00:00 2001 +From: Lubomir Rintel +Date: Mon, 22 May 2017 17:04:48 +0200 +Subject: [PATCH] device: capture the IP6 configuration on the IP interface + +Fixes a crash with Bluetooth devices where the device is the BlueZ +device and iface stays 0 while the IP interface is the actual BNEP link. + +https://bugzilla.gnome.org/show_bug.cgi?id=782545 +--- + src/devices/nm-device.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c +index ed6aa0e16..8473364a3 100644 +--- a/src/devices/nm-device.c ++++ b/src/devices/nm-device.c +@@ -7702,7 +7702,7 @@ act_stage3_ip6_config_start (NMDevice *self, + nm_platform_process_events (nm_device_get_platform (self)); + g_clear_object (&priv->ext_ip6_config_captured); + priv->ext_ip6_config_captured = nm_ip6_config_capture (nm_device_get_platform (self), +- nm_device_get_ifindex (self), ++ nm_device_get_ip_ifindex (self), + FALSE, + NM_SETTING_IP6_CONFIG_PRIVACY_UNKNOWN); + +-- +2.13.0 + diff --git a/0011-device-release-removed-slaves-rh1448907.patch b/0011-device-release-removed-slaves-rh1448907.patch new file mode 100644 index 0000000..04a3577 --- /dev/null +++ b/0011-device-release-removed-slaves-rh1448907.patch @@ -0,0 +1,73 @@ +From 74b53f2f40e8656be5599a1fcd23f737dcf18bc3 Mon Sep 17 00:00:00 2001 +From: Beniamino Galvani +Date: Mon, 8 May 2017 21:22:00 +0200 +Subject: [PATCH] device: release removed devices from master on cleanup + +On cleanup, unconditionally release a device from its master if the +link is missing or it doesn't have a master, otherwise the master +would later try to release the slave, hitting the following assertion: + + "nm_platform_link_release: assertion 'slave > 0' failed" + #0 g_logv + #1 g_log + #2 g_return_if_fail_warning + #3 nm_platform_link_release + #4 release_slave + #5 nm_device_master_release_one_slave + #6 slave_state_changed + #7 ffi_call_unix64 + #8 ffi_call + #9 g_cclosure_marshal_generic + #10 g_closure_invoke + #11 signal_emit_unlocked_R + #12 g_signal_emit_valist + #14 _set_state_full + #15 nm_device_state_changed + #16 nm_device_unrealize + #17 _platform_link_cb_idle + #18 g_main_context_dispatch + #19 g_main_context_dispatch + #20 g_main_context_iterate + #21 g_main_loop_run + #22 main + +Fixes: 9e8218f99a2d5a7020703e0fbac1c7c0983930db + +https://bugzilla.redhat.com/show_bug.cgi?id=1448907 +(cherry picked from commit 3355a2823be11b15d8f3cf1d2f080ab83739f17d) +(cherry picked from commit 6110b11235c932b94b0114ff90e8438ffedd2bfb) +--- + src/devices/nm-device.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c +index 37b2588..f5eb71d 100644 +--- a/src/devices/nm-device.c ++++ b/src/devices/nm-device.c +@@ -12096,11 +12096,6 @@ nm_device_cleanup (NMDevice *self, NMDeviceStateReason reason, CleanupType clean + /* master: release slaves */ + nm_device_master_release_slaves (self); + +- /* slave: mark no longer enslaved */ +- if ( priv->master +- && nm_platform_link_get_master (nm_device_get_platform (self), priv->ifindex) <= 0) +- nm_device_master_release_one_slave (priv->master, self, FALSE, NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED); +- + /* Take out any entries in the routing table and any IP address the device had. */ + ifindex = nm_device_get_ip_ifindex (self); + if (ifindex > 0) { +@@ -12109,6 +12104,11 @@ nm_device_cleanup (NMDevice *self, NMDeviceStateReason reason, CleanupType clean + } + } + ++ /* slave: mark no longer enslaved */ ++ if ( priv->master ++ && nm_platform_link_get_master (nm_device_get_platform (self), priv->ifindex) <= 0) ++ nm_device_master_release_one_slave (priv->master, self, FALSE, NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED); ++ + if (priv->lldp_listener) + nm_lldp_listener_stop (priv->lldp_listener); + +-- +2.9.3 + diff --git a/0013-nmcli-fix-8021x-password-raw-rh1456362.patch b/0013-nmcli-fix-8021x-password-raw-rh1456362.patch new file mode 100644 index 0000000..7406d16 --- /dev/null +++ b/0013-nmcli-fix-8021x-password-raw-rh1456362.patch @@ -0,0 +1,121 @@ +From c10c09d54b7e38dae1c73be0c5b3c7e01ac57315 Mon Sep 17 00:00:00 2001 +From: Beniamino Galvani +Date: Tue, 23 May 2017 15:56:27 +0200 +Subject: [PATCH 1/2] clients: fix setter for 802-1x.password-raw + +The property is a GBytes, not a GByteArray. + +https://bugzilla.gnome.org/show_bug.cgi?id=782836 +(cherry picked from commit 30393ee2360e8678188cc47d794f2199d50e82ba) +(cherry picked from commit cc6c9468fc01d69505141ee8956766079dbed903) +--- + clients/cli/settings.c | 23 ++++++++++++----------- + 1 file changed, 12 insertions(+), 11 deletions(-) + +diff --git a/clients/cli/settings.c b/clients/cli/settings.c +index 87b1f50..3bcd09c 100644 +--- a/clients/cli/settings.c ++++ b/clients/cli/settings.c +@@ -1643,11 +1643,12 @@ nmc_util_is_domain (const char *domain) + } + + static gboolean +-nmc_property_set_byte_array (NMSetting *setting, const char *prop, const char *val, GError **error) ++nmc_property_set_bytes (NMSetting *setting, const char *prop, const char *val, GError **error) + { +- char **strv = NULL, **iter; +- char *val_strip; ++ gs_free char *val_strip = NULL; ++ gs_strfreev char **strv = NULL; + const char *delimiters = " \t,"; ++ char **iter; + long int val_int; + GBytes *bytes; + GByteArray *array = NULL; +@@ -1659,10 +1660,8 @@ nmc_property_set_byte_array (NMSetting *setting, const char *prop, const char *v + + /* First try hex string in the format of AAbbCCDd */ + bytes = nm_utils_hexstr2bin (val_strip); +- if (bytes) { +- array = g_bytes_unref_to_array (bytes); ++ if (bytes) + goto done; +- } + + /* Otherwise, consider the following format: AA b 0xCc D */ + strv = nmc_strsplit_set (val_strip, delimiters, 0); +@@ -1670,19 +1669,21 @@ nmc_property_set_byte_array (NMSetting *setting, const char *prop, const char *v + for (iter = strv; iter && *iter; iter++) { + if (!nmc_string_to_int_base (g_strstrip (*iter), 16, TRUE, 0, 255, &val_int)) { + g_set_error (error, 1, 0, _("'%s' is not a valid hex character"), *iter); ++ g_byte_array_free (array, TRUE); + success = FALSE; + goto done; + } + g_byte_array_append (array, (const guint8 *) &val_int, 1); + } ++ bytes = g_byte_array_free_to_bytes (array); + + done: + if (success) +- g_object_set (setting, prop, array, NULL); ++ g_object_set (setting, prop, bytes, NULL); ++ ++ if (bytes) ++ g_bytes_unref (bytes); + +- g_strfreev (strv); +- if (array) +- g_byte_array_free (array, TRUE); + return success; + } + +@@ -2186,7 +2187,7 @@ DEFINE_ALLOWED_VAL_FUNC (nmc_property_802_1X_allowed_phase2_autheap, _802_1X_val + static gboolean + nmc_property_802_1X_set_password_raw (NMSetting *setting, const char *prop, const char *val, GError **error) + { +- return nmc_property_set_byte_array (setting, prop, val, error); ++ return nmc_property_set_bytes (setting, prop, val, error); + } + + static const char * +-- +2.9.3 + +From 3ad0b8645e890523da23f550dc6db75c40da2718 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Tue, 23 May 2017 16:01:54 +0200 +Subject: [PATCH 2/2] clients: fix appending integer to result in + nmc_property_set_bytes() + +(cherry picked from commit d76c190dc72df042733cca13849e18bcc13eed65) +(cherry picked from commit 06d3c95e4fc70561b12be80e5982487443d914ec) +--- + clients/cli/settings.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/clients/cli/settings.c b/clients/cli/settings.c +index 3bcd09c..e0f045a 100644 +--- a/clients/cli/settings.c ++++ b/clients/cli/settings.c +@@ -1667,13 +1667,16 @@ nmc_property_set_bytes (NMSetting *setting, const char *prop, const char *val, G + strv = nmc_strsplit_set (val_strip, delimiters, 0); + array = g_byte_array_sized_new (g_strv_length (strv)); + for (iter = strv; iter && *iter; iter++) { ++ guint8 v8; ++ + if (!nmc_string_to_int_base (g_strstrip (*iter), 16, TRUE, 0, 255, &val_int)) { + g_set_error (error, 1, 0, _("'%s' is not a valid hex character"), *iter); + g_byte_array_free (array, TRUE); + success = FALSE; + goto done; + } +- g_byte_array_append (array, (const guint8 *) &val_int, 1); ++ v8 = val_int; ++ g_byte_array_append (array, &v8, 1); + } + bytes = g_byte_array_free_to_bytes (array); + +-- +2.9.3 + diff --git a/0015-ifcfg-rh-legacy-netmask-rh1445414.patch b/0015-ifcfg-rh-legacy-netmask-rh1445414.patch new file mode 100644 index 0000000..fa081b5 --- /dev/null +++ b/0015-ifcfg-rh-legacy-netmask-rh1445414.patch @@ -0,0 +1,721 @@ +From 3757404ab4d14fcd6e61b367c37308ef1e3dbc3a Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Thu, 25 May 2017 15:03:40 +0200 +Subject: [PATCH 1/5] ifcfg-rh: fix writing NETMASK in write_ip4_setting() + +(cherry picked from commit efd462d946ae3382975cd73f60f33185a2cf9542) +(cherry picked from commit 2bf3d590ceb99c9f7d0c5dfd3e031e69d14fa5b8) +--- + src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +index 400e9bd..c66af01 100644 +--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c ++++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +@@ -2196,7 +2196,8 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) + char buf[INET_ADDRSTRLEN]; + + g_free (tmp); +- svSetValueStr (ifcfg, netmask_key, nm_utils_inet4_ntop (prefix, buf)); ++ svSetValueStr (ifcfg, netmask_key, ++ nm_utils_inet4_ntop (nm_utils_ip4_prefix_to_netmask (prefix), buf)); + } + + svUnsetValue (ifcfg, gw_key); +-- +2.9.4 + + +From 37b96ee417fb9bb67a02c162f1dbe05fa4a9eb5f Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Thu, 25 May 2017 14:53:03 +0200 +Subject: [PATCH 2/5] ifcfg-rh: add svFindFirstKeyWithPrefix() function + +During backporting manually patched to use GList instead of CList. + +(cherry picked from commit e9d960740af008acb91074b31a570fba17dc0344) +(cherry picked from commit 3dfddc18a53601463da49451c05cc62869773e16) +--- + src/settings/plugins/ifcfg-rh/shvar.c | 22 ++++++++++++++++++++++ + src/settings/plugins/ifcfg-rh/shvar.h | 2 ++ + 2 files changed, 24 insertions(+) + +diff --git a/src/settings/plugins/ifcfg-rh/shvar.c b/src/settings/plugins/ifcfg-rh/shvar.c +index 9fce5aa..47ad5a2 100644 +--- a/src/settings/plugins/ifcfg-rh/shvar.c ++++ b/src/settings/plugins/ifcfg-rh/shvar.c +@@ -905,6 +905,28 @@ svGetKeys (shvarFile *s) + + /*****************************************************************************/ + ++const char * ++svFindFirstKeyWithPrefix (shvarFile *s, const char *key_prefix) ++{ ++ const GList *current; ++ const shvarLine *l; ++ ++ g_return_val_if_fail (s, NULL); ++ g_return_val_if_fail (key_prefix, NULL); ++ ++ for (current = s->lineList; current; current = current->next) { ++ l = current->data; ++ if ( l->key ++ && l->line ++ && g_str_has_prefix (l->key, key_prefix)) ++ return l->key; ++ } ++ ++ return NULL; ++} ++ ++/*****************************************************************************/ ++ + static const char * + _svGetValue (shvarFile *s, const char *key, char **to_free) + { +diff --git a/src/settings/plugins/ifcfg-rh/shvar.h b/src/settings/plugins/ifcfg-rh/shvar.h +index 9d8c236..a13920a 100644 +--- a/src/settings/plugins/ifcfg-rh/shvar.h ++++ b/src/settings/plugins/ifcfg-rh/shvar.h +@@ -44,6 +44,8 @@ shvarFile *svCreateFile (const char *name); + /* Open the file , return shvarFile on success, NULL on failure */ + shvarFile *svOpenFile (const char *name, GError **error); + ++const char *svFindFirstKeyWithPrefix (shvarFile *s, const char *key_prefix); ++ + /* Get the value associated with the key, and leave the current pointer + * pointing at the line containing the value. The char* returned MUST + * be freed by the caller. +-- +2.9.4 + + +From 9df20fdb815fd37f31fa488325bfc3803bfa5003 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Thu, 25 May 2017 14:07:28 +0200 +Subject: [PATCH 3/5] build: sort filenames in Makefile.am alphabetically + +(cherry picked from commit 371b761680d660ea61ae33e02916564a0c3acc02) +(cherry picked from commit 85aa450e947785dc2eab73a5b248345ce9662b5b) +--- + Makefile.am | 301 ++++++++++++++++++++++++++++++------------------------------ + 1 file changed, 151 insertions(+), 150 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 909847e..c543a21 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2003,154 +2003,153 @@ $(src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_OBJECTS): $(libnm_core_lib_h + endif + + EXTRA_DIST += \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-a.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-b.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_User_1.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bridge_Component.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Proxy_Basic.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Port.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_VLAN_reorder_hdr.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Band_A.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Hidden.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_always.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_default.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_missing.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_never.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Auto-Negotiate.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Wake-on-LAN.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-dcb-test.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-team-slave-enp31s0f1-142.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-eth-type \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-mode-numeric \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave-ib \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-component \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-main \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-missing-stp \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-booleans \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-percent \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-uints \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-default-app-priorities \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-pgpct-not-100 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-booleans \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-percent \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-uints \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dns-options \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-fabric \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-vn2vn \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-minimal \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-misc-variables \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-variables-corner-cases-1 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-nm-controlled \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-nm-controlled-unrecognized \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-unrecognized \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-bootproto \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-plus-ip \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-shared-plus-ip \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-send-hostname \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcpv6-hostname-fallback \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp6-only \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway-ignore \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway-ignore \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-obsolete-gateway-n \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-never-default \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-never-default \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no-gatewaydev-yes \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-defroute-no-gatewaydev-yes \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-peap-mschapv2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wired-8021x-peap-mschapv2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-agent \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-always \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1X-subj-matches \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-onboot-no \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-noip \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-onboot-no \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-permissions \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sit-ignore \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-1 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-1 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-empty-config \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-unrecognized \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-variables-corner-cases-1 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-1 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-device \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-vlanid \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-physdev \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-trailing-spaces \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a-channel-mismatch \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-bg-channel-mismatch \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-dynamic-wep-leap \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-hidden \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-agent \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-always-ask \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-always \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-default \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-missing \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-never \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-auto \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-quoted \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-quoted \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-bad-hex \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-hex \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-hex \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-bad-hex \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-long-quoted \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-open-ssid-quoted \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-104-ascii \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-40-ascii \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-adhoc \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-adhoc \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-agent-keys \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-eap-ttls-chap \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-eap-ttls-chap \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-leap \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-agent \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-leap-always-ask \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-no-keys \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-passphrase \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-tls \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted2 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-adhoc \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-adhoc \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-hex \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-hex \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-tls \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-tls \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-eap-ttls-tls \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-ttls-tls \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-hidden \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-a-channel-mismatch \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-band-bg-channel-mismatch \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-always \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-never \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-default \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-mac-random-missing \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/test_ca_cert.pem \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/test1_key_and_cert.pem \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-ibft \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-static-routes-legacy \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-sit-ignore \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes-legacy \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes-legacy \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wpa-psk-unquoted2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1X-subj-matches \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-802-1x-ttls-eapgtc \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-peap-mschapv2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-agent \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-8021x-tls-always \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-auto-negotiate-on \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-autoip \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ctc-static \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-defroute-no-gatewaydev-yes \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-plus-ip \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp-send-hostname \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcp6-only \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-dhcpv6-hostname-fallback \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-global-gateway-ignore \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-1 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-2 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-3 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv4-manual-4 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-manual \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/route6-test-wired-ipv6-manual \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-8 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-16 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-24 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-only \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-passphrase \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-passphrase \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-40-ascii \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-40-ascii \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-104-ascii \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-104-ascii \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-only-1 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-never-default \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-obsolete-gateway-n \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-qeth-static \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ctc-static \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-main \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-component \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bridge-missing-stp \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-interface \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-vlanid \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-only-device \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-physdev \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-1 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-reorder-hdr-2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-1 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-flags-2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-no-keys \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-permissions \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-wep-agent-keys \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wifi-dynamic-wep-leap \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-dynamic-wep-leap \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-infiniband \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-eth-type \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-main \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-slave-ib \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-bond-mode-numeric \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-default-app-priorities \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-booleans \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-booleans \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-uints \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-uints \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-bad-percent \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-short-percent \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dcb-pgpct-not-100 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-fabric \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-fcoe-vn2vn \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-1 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-master-invalid \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-1 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-2 \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-team-port-empty-config \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-read-proxy-basic \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-vlan-trailing-spaces \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-dns-options \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-wake-on-lan \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-auto-negotiate-on \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-shared-plus-ip \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-bootproto \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-16 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-24 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-no-prefix-8 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-static-routes-legacy \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-unknown-ethtool-opt \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-ipv6-only-1 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-wired-wake-on-lan \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-1 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-1.expected \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-2 \ +@@ -2159,32 +2158,34 @@ EXTRA_DIST += \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-3.expected \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-write-unknown-4.expected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-a.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-bridge-component-b.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-System_test-wired-802-1X-subj-matches.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bond_Main.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Bridge_Component.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Permissions.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Proxy_Basic.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Team_Port.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_VLAN_reorder_hdr.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Band_A.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_Hidden.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_always.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_default.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_missing.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_WiFi_MAC_never.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_LEAP.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wifi_WEP_104_ASCII.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Auto-Negotiate.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Wake-on-LAN.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-dcb-test.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-team-slave-enp31s0f1-142.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-test-static-routes-legacy.cexpected \ +- src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_User_1.cexpected ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-dynamic-wep-leap \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-leap \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-104-ascii \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-40-ascii \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-adhoc \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-eap-ttls-chap \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wep-passphrase \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-tls \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-eap-ttls-tls \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-adhoc \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-hex \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wifi-wpa-psk-unquoted2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/keys-test-wired-8021x-peap-mschapv2 \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-defroute-no-gatewaydev-yes \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-global-gateway-ignore \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/network-test-wired-never-default \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-static-routes-legacy \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/route-test-wired-static-routes-legacy \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/route6-test-wired-ipv6-manual \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/test1_key_and_cert.pem \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/test_ca_cert.pem \ ++ $(NULL) + + # make target dependencies can't have colons in their names, which ends up + # meaning that we can't add the alias files to EXTRA_DIST. They are instead +-- +2.9.4 + + +From 20046c93062b14b0329cf151bc5e8a7f3c455531 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Thu, 25 May 2017 14:03:42 +0200 +Subject: [PATCH 4/5] ifcfg-rh/tests: add test for reading NETMASK property + +(cherry picked from commit ba05819c89d913ad1bc6b86e62c7704d173ef534) +(cherry picked from commit 7ebc132864776a1c0ce4a33660408a2953e076c8) +--- + Makefile.am | 1 + + shared/nm-utils/nm-test-utils.h | 9 +++++ + .../ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 | 14 +++++++ + .../network-scripts/ifcfg-netmask-1.cexpected | 22 +++++++++++ + .../plugins/ifcfg-rh/tests/test-ifcfg-rh.c | 44 ++++++++++++++++++++++ + 5 files changed, 90 insertions(+) + create mode 100644 src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 + create mode 100644 src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected + +diff --git a/Makefile.am b/Makefile.am +index c543a21..50ef197 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2025,6 +2025,7 @@ EXTRA_DIST += \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Test_Write_Wired_Wake-on-LAN.cexpected \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-Vlan_test-vlan-interface.cexpected \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-dcb-test.cexpected \ ++ src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection.cexpected \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-random_wifi_connection_2.cexpected \ + src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-team-slave-enp31s0f1-142.cexpected \ +diff --git a/shared/nm-utils/nm-test-utils.h b/shared/nm-utils/nm-test-utils.h +index 0dfdfce..bc52113 100644 +--- a/shared/nm-utils/nm-test-utils.h ++++ b/shared/nm-utils/nm-test-utils.h +@@ -1183,6 +1183,15 @@ nmtst_file_get_contents (const char *filename) + return contents; + } + ++#define nmtst_file_set_contents(filename, content) \ ++ G_STMT_START { \ ++ GError *_error = NULL; \ ++ gboolean _success; \ ++ \ ++ _success = g_file_set_contents ((filename), (content), -1, &_error); \ ++ nmtst_assert_success (_success, _error); \ ++ } G_STMT_END ++ + /*****************************************************************************/ + + static inline void +diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 +new file mode 100644 +index 0000000..ecb36c3 +--- /dev/null ++++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1 +@@ -0,0 +1,14 @@ ++DNS1="192.0.2.1" ++IPADDR="102.0.2.2" ++GATEWAY="192.0.2.1" ++NETMASK="255.254.0.0" ++BOOTPROTO="static" ++DEVICE="eth1" ++ONBOOT="yes" ++IPV6INIT="yes" ++ ++#bogus ++PREFIX1=25 ++NETMASK0=255.255.0.0 ++ ++#end +diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected +new file mode 100644 +index 0000000..4c2294a +--- /dev/null ++++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected +@@ -0,0 +1,22 @@ ++DNS1=192.0.2.1 ++IPADDR=102.0.2.2 ++GATEWAY=192.0.2.1 ++BOOTPROTO="static" ++DEVICE=eth1 ++ONBOOT=yes ++IPV6INIT=yes ++ ++#bogus ++ ++#end ++TYPE=Ethernet ++PROXY_METHOD=none ++BROWSER_ONLY=no ++PREFIX=15 ++DEFROUTE=yes ++IPV4_FAILURE_FATAL=no ++IPV6_AUTOCONF=yes ++IPV6_DEFROUTE=yes ++IPV6_FAILURE_FATAL=no ++NAME="System netmask-1" ++UUID=${UUID} +diff --git a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c +index babb068..e30d2d7 100644 +--- a/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c ++++ b/src/settings/plugins/ifcfg-rh/tests/test-ifcfg-rh.c +@@ -399,6 +399,48 @@ _writer_new_connection_fail (NMConnection *connection, + + /*****************************************************************************/ + ++static void ++test_read_netmask_1 (void) ++{ ++ nmtst_auto_unlinkfile char *testfile = NULL; ++ gs_unref_object NMConnection *connection = NULL; ++ gs_unref_object NMConnection *reread = NULL; ++ gs_free char *content = NULL; ++ NMSettingConnection *s_con; ++ NMSettingIPConfig *s_ip4; ++ NMIPAddress *ip4_addr; ++ const char *FILENAME = TEST_IFCFG_DIR "/network-scripts/ifcfg-netmask-1"; ++ ++ connection = _connection_from_file (FILENAME, NULL, TYPE_ETHERNET, NULL); ++ ++ s_con = nm_connection_get_setting_connection (connection); ++ g_assert (s_con); ++ g_assert_cmpstr (nm_setting_connection_get_id (s_con), ==, "System netmask-1"); ++ ++ s_ip4 = nm_connection_get_setting_ip4_config (connection); ++ g_assert (s_ip4); ++ g_assert_cmpuint (nm_setting_ip_config_get_num_dns (s_ip4), ==, 1); ++ ip4_addr = nm_setting_ip_config_get_address (s_ip4, 0); ++ g_assert (ip4_addr); ++ g_assert_cmpstr (nm_ip_address_get_address (ip4_addr), ==, "102.0.2.2"); ++ g_assert_cmpint (nm_ip_address_get_prefix (ip4_addr), ==, 15); ++ ++ nmtst_assert_connection_verifies_without_normalization (connection); ++ ++ content = nmtst_file_get_contents (FILENAME); ++ ++ testfile = g_strdup (TEST_SCRATCH_DIR "/network-scripts/ifcfg-netmask-1.copy"); ++ ++ nmtst_file_set_contents (testfile, content); ++ ++ _writer_update_connection (connection, ++ TEST_SCRATCH_DIR "/network-scripts/", ++ testfile, ++ TEST_IFCFG_DIR "/network-scripts/ifcfg-netmask-1.cexpected"); ++} ++ ++/*****************************************************************************/ ++ + static gboolean + verify_cert_or_key (NMSetting8021x *s_compare, + const char *file, +@@ -9348,6 +9390,8 @@ int main (int argc, char **argv) + nmtst_add_test_func (TPATH "read-static", test_read_wired_static, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static", "System test-wired-static", GINT_TO_POINTER (TRUE)); + nmtst_add_test_func (TPATH "read-static-bootproto", test_read_wired_static, TEST_IFCFG_DIR"/network-scripts/ifcfg-test-wired-static-bootproto", "System test-wired-static-bootproto", GINT_TO_POINTER (FALSE)); + ++ g_test_add_func (TPATH "read-netmask-1", test_read_netmask_1); ++ + g_test_add_func (TPATH "read-dhcp", test_read_wired_dhcp); + g_test_add_func (TPATH "read-dhcp-plus-ip", test_read_wired_dhcp_plus_ip); + g_test_add_func (TPATH "read-shared-plus-ip", test_read_wired_shared_plus_ip); +-- +2.9.4 + + +From 78895ad4d2fcc5fd3b2f845521ac14b9f6030fd6 Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Thu, 25 May 2017 15:00:27 +0200 +Subject: [PATCH 5/5] ifcfg-rh: fix preserving NETMASK key in + write_ip4_setting() + +To support legacy scripts, we want to write out the NETMASK +key whenever the ifcfg file has a NETMASK key previously. +Note, that we anyway always write the relevant PREFIX key. +The NETMASK is redundant, only there to help legacy scripts. + +That was broken, because we would svUnsetValue("NETMASK") before +checking whether the NETMASK key is present. + +Also, when saving a connection to ifcfg-rh file that was created +by other tools, we might mix up the numbering. E.g. we never +write out IPADDR0. Hence, turn on legacy mode whenever the ifcfg-rh +file has any key starting with "NETMASK". + +(cherry picked from commit 844bf3d1a239f409d12ea437dbe866b66f5f1af4) +(cherry picked from commit 92a277dc6f08d66cf567b9bf6f1c32c513c7325e) +--- + .../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c | 32 ++++++++++++---------- + .../network-scripts/ifcfg-netmask-1.cexpected | 1 + + 2 files changed, 18 insertions(+), 15 deletions(-) + +diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +index c66af01..d2b7ff6 100644 +--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c ++++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c +@@ -2067,6 +2067,7 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) + int timeout; + GString *searches; + const char *method = NULL; ++ gboolean has_netmask; + + s_ip4 = nm_connection_get_setting_ip4_config (connection); + if (!s_ip4) { +@@ -2139,16 +2140,7 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) + else if (!strcmp (method, NM_SETTING_IP4_CONFIG_METHOD_SHARED)) + svSetValueStr (ifcfg, "BOOTPROTO", "shared"); + +- /* Clear out un-numbered IP address fields */ +- svUnsetValue (ifcfg, "IPADDR"); +- svUnsetValue (ifcfg, "PREFIX"); +- svUnsetValue (ifcfg, "NETMASK"); +- svUnsetValue (ifcfg, "GATEWAY"); +- /* Clear out zero-indexed IP address fields */ +- svUnsetValue (ifcfg, "IPADDR0"); +- svUnsetValue (ifcfg, "PREFIX0"); +- svUnsetValue (ifcfg, "NETMASK0"); +- svUnsetValue (ifcfg, "GATEWAY0"); ++ has_netmask = !!svFindFirstKeyWithPrefix (ifcfg, "NETMASK"); + + /* Write out IPADDR, PREFIX, GATEWAY for current IP addresses + * without labels. Unset obsolete NETMASK. +@@ -2192,20 +2184,30 @@ write_ip4_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) + g_free (tmp); + + /* If the legacy "NETMASK" is present, keep it. */ +- if (svGetValue (ifcfg, netmask_key, &tmp)) { ++ if (has_netmask) { + char buf[INET_ADDRSTRLEN]; + +- g_free (tmp); + svSetValueStr (ifcfg, netmask_key, + nm_utils_inet4_ntop (nm_utils_ip4_prefix_to_netmask (prefix), buf)); +- } ++ } else ++ svUnsetValue (ifcfg, netmask_key); + + svUnsetValue (ifcfg, gw_key); + n++; + } + +- /* Clear remaining IPADDR, etc */ +- for (i = n; i < 256; i++) { ++ svUnsetValue (ifcfg, "IPADDR0"); ++ svUnsetValue (ifcfg, "PREFIX0"); ++ svUnsetValue (ifcfg, "NETMASK0"); ++ svUnsetValue (ifcfg, "GATEWAY0"); ++ if (n == 0) { ++ svUnsetValue (ifcfg, "IPADDR"); ++ svUnsetValue (ifcfg, "PREFIX"); ++ svUnsetValue (ifcfg, "NETMASK"); ++ i = 1; ++ } else ++ i = n; ++ for (; i < 256; i++) { + nm_sprintf_buf (addr_key, "IPADDR%u", i); + nm_sprintf_buf (prefix_key, "PREFIX%u", i); + nm_sprintf_buf (netmask_key, "NETMASK%u", i); +diff --git a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected +index 4c2294a..5dfdce4 100644 +--- a/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected ++++ b/src/settings/plugins/ifcfg-rh/tests/network-scripts/ifcfg-netmask-1.cexpected +@@ -1,6 +1,7 @@ + DNS1=192.0.2.1 + IPADDR=102.0.2.2 + GATEWAY=192.0.2.1 ++NETMASK=255.254.0.0 + BOOTPROTO="static" + DEVICE=eth1 + ONBOOT=yes +-- +2.9.4 + diff --git a/0016-tui-connect-crash-rh1456826.patch b/0016-tui-connect-crash-rh1456826.patch new file mode 100644 index 0000000..9568042 --- /dev/null +++ b/0016-tui-connect-crash-rh1456826.patch @@ -0,0 +1,43 @@ +From c710b2bf095e9301066d33a13e8a406f0d134b2f Mon Sep 17 00:00:00 2001 +From: Arnaud Lefebvre +Date: Tue, 30 May 2017 13:45:32 +0200 +Subject: [PATCH 1/1] nmtui connect: avoid segfault when iface is not found + +https://github.com/NetworkManager/NetworkManager/pull/21 +(cherry picked from commit 1fcbb69ae22ed4a6047e36c816f49b2a67a13583) +(cherry picked from commit cc36b9f6eb7870d02e0df7c26a7a980709b620fd) +--- + clients/tui/nmt-connect-connection-list.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +diff --git a/clients/tui/nmt-connect-connection-list.c b/clients/tui/nmt-connect-connection-list.c +index edfaa09..0011fc5 100644 +--- a/clients/tui/nmt-connect-connection-list.c ++++ b/clients/tui/nmt-connect-connection-list.c +@@ -621,6 +621,7 @@ nmt_connect_connection_list_get_connection (NmtConnectConnectionList *list, + NmtConnectDevice *nmtdev; + NmtConnectConnection *nmtconn = NULL; + NMConnection *conn = NULL; ++ const char *iface = NULL; + + g_return_val_if_fail (identifier, FALSE); + +@@ -643,9 +644,12 @@ nmt_connect_connection_list_get_connection (NmtConnectConnectionList *list, + goto found; + } + +- if (!conn && nmtdev->device && !strcmp (identifier, nm_device_get_ip_iface (nmtdev->device))) { +- nmtconn = nmtdev->conns->data; +- goto found; ++ if (!conn && nmtdev->device) { ++ iface = nm_device_get_ip_iface (nmtdev->device); ++ if (iface && !strcmp (identifier, iface)) { ++ nmtconn = nmtdev->conns->data; ++ goto found; ++ } + } + } + +-- +2.9.4 + diff --git a/0017-libnm-fix-reject-vlan-id-4095-rh1456911.patch b/0017-libnm-fix-reject-vlan-id-4095-rh1456911.patch new file mode 100644 index 0000000..baf5ced --- /dev/null +++ b/0017-libnm-fix-reject-vlan-id-4095-rh1456911.patch @@ -0,0 +1,30 @@ +From 2522c3be75c94d6285c6b514f404edea20f4807e Mon Sep 17 00:00:00 2001 +From: Thomas Haller +Date: Tue, 30 May 2017 18:12:23 +0200 +Subject: [PATCH 1/1] libnm: fix rejecting NMSettingVlan with id >= 4095 + +Without it, clients can wrongly create VLan settings with +ID 4095, which triggers assertions in NetworkManager. + +Fixes: 8715d61437060cacc68c156b1c8ed7bbce4b0a78 +(cherry picked from commit 159cd4836fb32f3a6ecefa6fc4dcc114892ce32a) +(cherry picked from commit 8db2ca661f739a301729bb2c63e5d00707a4f2c3) +--- + libnm-core/nm-setting-vlan.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/libnm-core/nm-setting-vlan.c b/libnm-core/nm-setting-vlan.c +index de9c5c4..ab1c546 100644 +--- a/libnm-core/nm-setting-vlan.c ++++ b/libnm-core/nm-setting-vlan.c +@@ -670,6 +670,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) + _("the vlan id must be in range 0-4094 but is %u"), + priv->id); + g_prefix_error (error, "%s.%s: ", NM_SETTING_VLAN_SETTING_NAME, NM_SETTING_VLAN_ID); ++ return FALSE; + } + + if (priv->flags & ~NM_VLAN_FLAGS_ALL) { +-- +2.9.4 + diff --git a/NetworkManager.spec b/NetworkManager.spec index 3848e7d..e815fb7 100644 --- a/NetworkManager.spec +++ b/NetworkManager.spec @@ -9,7 +9,7 @@ %global epoch_version 1 %global rpm_version 1.8.0 %global real_version 1.8.0 -%global release_version 3 +%global release_version 4 %global snapshot %{nil} %global git_sha %{nil} @@ -90,6 +90,12 @@ Patch6: 0006-dhcp-don-t-add-route-to-DHCP4-server-rh1448987.patch Patch7: 0007-device-update-ext-conf-before-commit-rh1449873.patch Patch8: 0008-utf8safe-fixes-rh1443114.patch Patch9: 0009-ifcfg-rh-fix-null-next-hop.patch +Patch10: 0010-bluetooth-nap-crash-rh1454385.patch +Patch11: 0011-device-release-removed-slaves-rh1448907.patch +Patch13: 0013-nmcli-fix-8021x-password-raw-rh1456362.patch +Patch15: 0015-ifcfg-rh-legacy-netmask-rh1445414.patch +Patch16: 0016-tui-connect-crash-rh1456826.patch +Patch17: 0017-libnm-fix-reject-vlan-id-4095-rh1456911.patch Requires(post): systemd Requires(preun): systemd @@ -352,6 +358,12 @@ by nm-connection-editor and nm-applet in a non-graphical environment. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p1 +%patch11 -p1 +%patch13 -p1 +%patch15 -p1 +%patch16 -p1 +%patch17 -p1 %build %if %{with regen_docs} @@ -664,6 +676,14 @@ fi %endif %changelog +* Sun Jun 4 2017 Thomas Haller - 1:1.8.0-4 +- ifcfg-rh: fix writing legacy NETMASK value (rh #1445414) +- tui: fix crash during connect (rh #1456826) +- libnm: fix libnm rejecting VLAN ID 4095 (rh #1456911) +- bluetooth: fix crash on connecting to a NAP (rh #1454385) +- device: release removed devices from master on cleanup (rh #1448907) +- nmcli: fix crash when setting 802-1x.password-raw (rh #1456362) + * Mon May 22 2017 Thomas Haller - 1:1.8.0-3 - device: update external configuration before commit (fix bug) (rh #1449873) @@ -1237,10 +1257,10 @@ fi - NM no longer uses /var/run/NetworkManager, so don't claim to own it. (rh #656638) -* Wed May 2 2012 Jiří Klimeš - 0.9.4-3.git20120502%{?dist} +* Wed May 2 2012 Jiří Klimeš - 0.9.4-3.git20120502 - Update to git snapshot -* Wed Mar 28 2012 Colin Walters - 1:0.9.4-2.git20120328_2%{?dist} +* Wed Mar 28 2012 Colin Walters - 1:0.9.4-2.git20120328_2 - Add _isa for internal requires; otherwise depsolving may pull in an arbitrary architecture.