mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-28 13:20:08 +01:00
merge: enhance nmcli checks whether NetworkManager is running (bgo #698060)
This commit is contained in:
commit
cb4c9d9dba
3 changed files with 46 additions and 163 deletions
|
|
@ -1284,13 +1284,6 @@ do_connections_show (NmCli *nmc, gboolean active_only, int argc, char **argv)
|
|||
char *profile_flds = NULL, *active_flds = NULL;
|
||||
|
||||
nmc->should_wait = FALSE;
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (argc == 0) {
|
||||
char *fields_str;
|
||||
|
|
@ -1997,15 +1990,6 @@ do_connection_up (NmCli *nmc, int argc, char **argv)
|
|||
argv++;
|
||||
}
|
||||
|
||||
/* create NMClient */
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Use nowait_flag instead of should_wait because exiting has to be postponed till
|
||||
* active_connection_state_cb() is called. That gives NM time to check our permissions
|
||||
* and we can follow activation progress.
|
||||
|
|
@ -2057,15 +2041,6 @@ do_connection_down (NmCli *nmc, int argc, char **argv)
|
|||
}
|
||||
}
|
||||
|
||||
/* create NMClient */
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Get active connections */
|
||||
active_cons = nm_client_get_active_connections (nmc->client);
|
||||
while (arg_num > 0) {
|
||||
|
|
@ -7459,7 +7434,6 @@ editor_menu_main (NmCli *nmc, NMConnection *connection, const char *connection_t
|
|||
g_clear_error (&tmp_err);
|
||||
break;
|
||||
}
|
||||
nmc->get_client (nmc);
|
||||
|
||||
nmc->nowait_flag = FALSE;
|
||||
nmc->should_wait = TRUE;
|
||||
|
|
@ -7601,7 +7575,6 @@ get_ethernet_device_name (NmCli *nmc)
|
|||
const GPtrArray *devices;
|
||||
int i;
|
||||
|
||||
nmc->get_client (nmc);
|
||||
devices = nm_client_get_devices (nmc->client);
|
||||
for (i = 0; i < devices->len; i++) {
|
||||
NMDevice *dev = g_ptr_array_index (devices, i);
|
||||
|
|
@ -7966,15 +7939,6 @@ do_connection_modify (NmCli *nmc,
|
|||
|
||||
nmc->should_wait = FALSE;
|
||||
|
||||
/* create NMClient */
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (argc == 0) {
|
||||
g_string_printf (nmc->return_text, _("Error: No arguments provided."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_USER_INPUT;
|
||||
|
|
@ -8174,15 +8138,6 @@ do_connection_delete (NmCli *nmc, int argc, char **argv)
|
|||
nmc->return_value = NMC_RESULT_SUCCESS;
|
||||
nmc->should_wait = FALSE;
|
||||
|
||||
/* create NMClient */
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto finish;
|
||||
}
|
||||
|
||||
if (argc == 0) {
|
||||
if (nmc->ask) {
|
||||
line = nmc_readline (PROMPT_CONNECTION);
|
||||
|
|
@ -8429,13 +8384,19 @@ do_connections (NmCli *nmc, int argc, char **argv)
|
|||
return nmc->return_value;
|
||||
}
|
||||
|
||||
/* Get NMClient object early */
|
||||
nmc->get_client (nmc);
|
||||
|
||||
/* Check whether NetworkManager is runnung */
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
return nmc->return_value;
|
||||
}
|
||||
/* Compare NM and nmcli versions */
|
||||
if (!nmc_versions_match (nmc))
|
||||
return nmc->return_value;
|
||||
|
||||
/* Get NMClient object early */
|
||||
nmc->get_client (nmc);
|
||||
|
||||
/* Get NMRemoteSettings object */
|
||||
if (!(nmc->system_settings = nm_remote_settings_new (NULL, &error))) {
|
||||
g_string_printf (nmc->return_text, _("Error: Could not get system settings: %s."), error->message);
|
||||
|
|
|
|||
|
|
@ -1180,17 +1180,6 @@ do_devices_status (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
/* Add headers */
|
||||
nmc->print_fields.header_name = _("Status of devices");
|
||||
arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_MAIN_HEADER_ADD | NMC_OF_FLAG_FIELD_NAMES);
|
||||
|
|
@ -1228,17 +1217,6 @@ do_devices_show (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
devices = get_devices_sorted (nmc->client);
|
||||
|
||||
if (ifname) {
|
||||
|
|
@ -1392,16 +1370,6 @@ do_device_connect (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
devices = get_devices_sorted (nmc->client);
|
||||
for (i = 0; devices[i]; i++) {
|
||||
NMDevice *candidate = devices[i];
|
||||
|
|
@ -1526,16 +1494,6 @@ do_device_disconnect (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
devices = get_devices_sorted (nmc->client);
|
||||
for (i = 0; devices[i]; i++) {
|
||||
NMDevice *candidate = devices[i];
|
||||
|
|
@ -1620,16 +1578,6 @@ do_device_delete (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
devices = get_devices_sorted (nmc->client);
|
||||
for (i = 0; devices[i]; i++) {
|
||||
NMDevice *candidate = devices[i];
|
||||
|
|
@ -1761,17 +1709,6 @@ do_device_wifi_list (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
devices = get_devices_sorted (nmc->client);
|
||||
if (ifname) {
|
||||
/* Device specified - list only APs of this interface */
|
||||
|
|
@ -2219,17 +2156,6 @@ do_device_wifi_connect_network (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
devices = nm_client_get_devices (nmc->client);
|
||||
|
||||
/* Find a device to activate the connection on */
|
||||
|
|
@ -2393,7 +2319,6 @@ do_device_wifi_rescan (NmCli *nmc, int argc, char **argv)
|
|||
}
|
||||
|
||||
/* Find Wi-Fi device to scan on. When no ifname is provided, the first Wi-Fi is used. */
|
||||
nmc->get_client (nmc);
|
||||
devices = nm_client_get_devices (nmc->client);
|
||||
devices_idx = 0;
|
||||
device = find_wifi_device_by_iface (devices, ifname, &devices_idx);
|
||||
|
|
@ -2518,17 +2443,6 @@ do_device_wimax_list (NmCli *nmc, int argc, char **argv)
|
|||
goto error;
|
||||
}
|
||||
|
||||
nmc->get_client (nmc);
|
||||
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
goto error;
|
||||
|
||||
devices = nm_client_get_devices (nmc->client);
|
||||
if (ifname) {
|
||||
/* Device specified - list only NSPs of this interface */
|
||||
|
|
@ -2745,6 +2659,19 @@ do_devices (NmCli *nmc, int argc, char **argv)
|
|||
|
||||
rl_attempted_completion_function = (rl_completion_func_t *) nmcli_device_tab_completion;
|
||||
|
||||
/* Get NMClient object early */
|
||||
nmc->get_client (nmc);
|
||||
|
||||
/* Check whether NetworkManager is runnung */
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
return nmc->return_value;
|
||||
}
|
||||
/* Compare NM and nmcli versions */
|
||||
if (!nmc_versions_match (nmc))
|
||||
return nmc->return_value;
|
||||
|
||||
if (argc == 0) {
|
||||
if (!nmc_terse_option_check (nmc->print_output, nmc->required_fields, &error))
|
||||
goto opt_error;
|
||||
|
|
|
|||
|
|
@ -299,7 +299,7 @@ nm_connectivity_to_string (NMConnectivityState connectivity)
|
|||
static gboolean
|
||||
show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_flds)
|
||||
{
|
||||
gboolean nm_running, startup = FALSE;
|
||||
gboolean startup = FALSE;
|
||||
NMState state = NM_STATE_UNKNOWN;
|
||||
NMConnectivityState connectivity = NM_CONNECTIVITY_UNKNOWN;
|
||||
const char *net_enabled_str;
|
||||
|
|
@ -335,42 +335,37 @@ show_nm_status (NmCli *nmc, const char *pretty_header_name, const char *print_fl
|
|||
|
||||
nmc->get_client (nmc); /* create NMClient */
|
||||
|
||||
nm_running = nm_client_get_nm_running (nmc->client);
|
||||
if (nm_running) {
|
||||
if (!nmc_versions_match (nmc))
|
||||
return FALSE;
|
||||
|
||||
state = nm_client_get_state (nmc->client);
|
||||
startup = nm_client_get_startup (nmc->client);
|
||||
connectivity = nm_client_get_connectivity (nmc->client);
|
||||
net_enabled_str = nm_client_networking_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wireless_hw_enabled_str = nm_client_wireless_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wireless_enabled_str = nm_client_wireless_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wwan_hw_enabled_str = nm_client_wwan_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wwan_enabled_str = nm_client_wwan_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
#if WITH_WIMAX
|
||||
wimax_hw_enabled_str = nm_client_wimax_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wimax_enabled_str = nm_client_wimax_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
#endif
|
||||
} else {
|
||||
#if WITH_WIMAX
|
||||
net_enabled_str = wireless_hw_enabled_str = wireless_enabled_str =
|
||||
wwan_hw_enabled_str = wwan_enabled_str = wimax_hw_enabled_str = wimax_enabled_str = _("unknown");
|
||||
#else
|
||||
net_enabled_str = wireless_hw_enabled_str = wireless_enabled_str =
|
||||
wwan_hw_enabled_str = wwan_enabled_str = _("unknown");
|
||||
#endif
|
||||
if (!nm_client_get_nm_running (nmc->client)) {
|
||||
g_string_printf (nmc->return_text, _("Error: NetworkManager is not running."));
|
||||
nmc->return_value = NMC_RESULT_ERROR_NM_NOT_RUNNING;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (!nmc_versions_match (nmc))
|
||||
return FALSE;
|
||||
|
||||
state = nm_client_get_state (nmc->client);
|
||||
startup = nm_client_get_startup (nmc->client);
|
||||
connectivity = nm_client_get_connectivity (nmc->client);
|
||||
net_enabled_str = nm_client_networking_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wireless_hw_enabled_str = nm_client_wireless_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wireless_enabled_str = nm_client_wireless_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wwan_hw_enabled_str = nm_client_wwan_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wwan_enabled_str = nm_client_wwan_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
#if WITH_WIMAX
|
||||
wimax_hw_enabled_str = nm_client_wimax_hardware_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
wimax_enabled_str = nm_client_wimax_get_enabled (nmc->client) ? _("enabled") : _("disabled");
|
||||
#endif
|
||||
|
||||
nmc->print_fields.header_name = pretty_header_name ? (char *) pretty_header_name : _("NetworkManager status");
|
||||
arr = nmc_dup_fields_array (tmpl, tmpl_len, NMC_OF_FLAG_MAIN_HEADER_ADD | NMC_OF_FLAG_FIELD_NAMES);
|
||||
g_ptr_array_add (nmc->output_data, arr);
|
||||
|
||||
arr = nmc_dup_fields_array (tmpl, tmpl_len, 0);
|
||||
set_val_strc (arr, 0, nm_running ? _("running") : _("not running"));
|
||||
set_val_strc (arr, 1, nm_running ? nm_client_get_version (nmc->client) : _("unknown"));
|
||||
set_val_strc (arr, 0, _("running"));
|
||||
set_val_strc (arr, 1, nm_client_get_version (nmc->client));
|
||||
set_val_strc (arr, 2, nm_state_to_string (state));
|
||||
set_val_strc (arr, 3, nm_running ? (startup ? _("starting") : _("started")) : _("unknown"));
|
||||
set_val_strc (arr, 3, startup ? _("starting") : _("started"));
|
||||
set_val_strc (arr, 4, nm_connectivity_to_string (connectivity));
|
||||
set_val_strc (arr, 5, net_enabled_str);
|
||||
set_val_strc (arr, 6, wireless_hw_enabled_str);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue