cli: fix new connection initialization in the editor
This fixes a regression caused by ecd49fb435
In addition, initialize Wi-Fi mode to "infrastructure".
This commit is contained in:
@@ -6419,7 +6419,7 @@ get_ethernet_device_name (NmCli *nmc)
|
|||||||
static void
|
static void
|
||||||
editor_init_new_connection (NmCli *nmc, NMConnection *connection)
|
editor_init_new_connection (NmCli *nmc, NMConnection *connection)
|
||||||
{
|
{
|
||||||
NMSetting *setting;
|
NMSetting *setting, *base_setting;
|
||||||
NMSettingConnection *s_con;
|
NMSettingConnection *s_con;
|
||||||
const char *con_type;
|
const char *con_type;
|
||||||
const char *slave_type = NULL;
|
const char *slave_type = NULL;
|
||||||
@@ -6451,27 +6451,18 @@ editor_init_new_connection (NmCli *nmc, NMConnection *connection)
|
|||||||
NULL);
|
NULL);
|
||||||
} else {
|
} else {
|
||||||
/* Add a "base" setting to the connection by default */
|
/* Add a "base" setting to the connection by default */
|
||||||
setting = nmc_setting_new_for_name (con_type);
|
base_setting = nmc_setting_new_for_name (con_type);
|
||||||
if (!setting)
|
if (!base_setting)
|
||||||
return;
|
return;
|
||||||
nm_connection_add_setting (connection, setting);
|
nm_connection_add_setting (connection, base_setting);
|
||||||
|
|
||||||
/* Always add IPv4 and IPv6 settings */
|
|
||||||
setting = nm_setting_ip4_config_new ();
|
|
||||||
nmc_setting_custom_init (setting);
|
|
||||||
nm_connection_add_setting (connection, setting);
|
|
||||||
|
|
||||||
setting = nm_setting_ip6_config_new ();
|
|
||||||
nmc_setting_custom_init (setting);
|
|
||||||
nm_connection_add_setting (connection, setting);
|
|
||||||
|
|
||||||
/* Set a sensible bond/bridge interface name by default */
|
/* Set a sensible bond/bridge interface name by default */
|
||||||
if (g_strcmp0 (con_type, NM_SETTING_BOND_SETTING_NAME) == 0)
|
if (g_strcmp0 (con_type, NM_SETTING_BOND_SETTING_NAME) == 0)
|
||||||
g_object_set (NM_SETTING_BOND (setting),
|
g_object_set (NM_SETTING_BOND (base_setting),
|
||||||
NM_SETTING_BOND_INTERFACE_NAME, "nm-bond",
|
NM_SETTING_BOND_INTERFACE_NAME, "nm-bond",
|
||||||
NULL);
|
NULL);
|
||||||
if (g_strcmp0 (con_type, NM_SETTING_BRIDGE_SETTING_NAME) == 0)
|
if (g_strcmp0 (con_type, NM_SETTING_BRIDGE_SETTING_NAME) == 0)
|
||||||
g_object_set (NM_SETTING_BRIDGE (setting),
|
g_object_set (NM_SETTING_BRIDGE (base_setting),
|
||||||
NM_SETTING_BRIDGE_INTERFACE_NAME, "nm-bridge",
|
NM_SETTING_BRIDGE_INTERFACE_NAME, "nm-bridge",
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
@@ -6479,7 +6470,7 @@ editor_init_new_connection (NmCli *nmc, NMConnection *connection)
|
|||||||
if (g_strcmp0 (con_type, NM_SETTING_VLAN_SETTING_NAME) == 0) {
|
if (g_strcmp0 (con_type, NM_SETTING_VLAN_SETTING_NAME) == 0) {
|
||||||
const char *dev_ifname = get_ethernet_device_name (nmc);
|
const char *dev_ifname = get_ethernet_device_name (nmc);
|
||||||
|
|
||||||
g_object_set (NM_SETTING_VLAN (setting),
|
g_object_set (NM_SETTING_VLAN (base_setting),
|
||||||
NM_SETTING_VLAN_PARENT, dev_ifname ? dev_ifname : "eth0",
|
NM_SETTING_VLAN_PARENT, dev_ifname ? dev_ifname : "eth0",
|
||||||
NM_SETTING_VLAN_ID, 1,
|
NM_SETTING_VLAN_ID, 1,
|
||||||
NULL);
|
NULL);
|
||||||
@@ -6491,21 +6482,38 @@ editor_init_new_connection (NmCli *nmc, NMConnection *connection)
|
|||||||
|
|
||||||
/* Initialize 'transport-mode' so that 'infiniband' is valid */
|
/* Initialize 'transport-mode' so that 'infiniband' is valid */
|
||||||
if (g_strcmp0 (con_type, NM_SETTING_INFINIBAND_SETTING_NAME) == 0)
|
if (g_strcmp0 (con_type, NM_SETTING_INFINIBAND_SETTING_NAME) == 0)
|
||||||
g_object_set (NM_SETTING_INFINIBAND (setting),
|
g_object_set (NM_SETTING_INFINIBAND (base_setting),
|
||||||
NM_SETTING_INFINIBAND_TRANSPORT_MODE, "datagram",
|
NM_SETTING_INFINIBAND_TRANSPORT_MODE, "datagram",
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
/* Initialize 'number' so that 'cdma' is valid */
|
/* Initialize 'number' so that 'cdma' is valid */
|
||||||
if (g_strcmp0 (con_type, NM_SETTING_CDMA_SETTING_NAME) == 0)
|
if (g_strcmp0 (con_type, NM_SETTING_CDMA_SETTING_NAME) == 0)
|
||||||
g_object_set (NM_SETTING_CDMA (setting),
|
g_object_set (NM_SETTING_CDMA (base_setting),
|
||||||
NM_SETTING_CDMA_NUMBER, "#777",
|
NM_SETTING_CDMA_NUMBER, "#777",
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
/* Initialize 'number' so that 'gsm' is valid */
|
/* Initialize 'number' so that 'gsm' is valid */
|
||||||
if (g_strcmp0 (con_type, NM_SETTING_GSM_SETTING_NAME) == 0)
|
if (g_strcmp0 (con_type, NM_SETTING_GSM_SETTING_NAME) == 0)
|
||||||
g_object_set (NM_SETTING_GSM (setting),
|
g_object_set (NM_SETTING_GSM (base_setting),
|
||||||
NM_SETTING_GSM_NUMBER, "*99#",
|
NM_SETTING_GSM_NUMBER, "*99#",
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
/* For Wi-Fi set mode to "infrastructure". Even though mode == NULL
|
||||||
|
* is regarded as "infrastructure", explicit value makes no doubts.
|
||||||
|
*/
|
||||||
|
if (g_strcmp0 (con_type, NM_SETTING_WIRELESS_SETTING_NAME) == 0)
|
||||||
|
g_object_set (NM_SETTING_WIRELESS (base_setting),
|
||||||
|
NM_SETTING_WIRELESS_MODE, NM_SETTING_WIRELESS_MODE_INFRA,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
/* Always add IPv4 and IPv6 settings for non-slave connections */
|
||||||
|
setting = nm_setting_ip4_config_new ();
|
||||||
|
nmc_setting_custom_init (setting);
|
||||||
|
nm_connection_add_setting (connection, setting);
|
||||||
|
|
||||||
|
setting = nm_setting_ip6_config_new ();
|
||||||
|
nmc_setting_custom_init (setting);
|
||||||
|
nm_connection_add_setting (connection, setting);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user