diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2018-06-11 15:43:25 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2018-06-11 15:43:25 +0200 |
commit | d3ae93cc0312fae17d4de81950a908112eaba0ca (patch) | |
tree | 8ddb7a1396b992e3af431f2f1f20b61ab1502d90 | |
parent | f3c63ca4b1fd67af884fd586e6b990852f57e166 (diff) | |
parent | 28d2c07661f6e8c4305a5a7f66db346b09a607e2 (diff) | |
download | NetworkManager-d3ae93cc0312fae17d4de81950a908112eaba0ca.tar.gz |
merge: branch 'lr/alternatives'
https://github.com/NetworkManager/NetworkManager/pull/114
30 files changed, 203 insertions, 90 deletions
diff --git a/Makefile.am b/Makefile.am index 79b046280d..f7bc85aeff 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,6 +19,7 @@ noinst_DATA = sbin_PROGRAMS = bin_PROGRAMS = libexec_PROGRAMS = +dist_libexec_SCRIPTS = lib_LTLIBRARIES = plugin_LTLIBRARIES = core_plugins = @@ -2201,6 +2202,10 @@ src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_LDADD = \ $(src_settings_plugins_ifcfg_rh_tests_test_ifcfg_rh_OBJECTS): $(libnm_core_lib_h_pub_mkenums) +dist_libexec_SCRIPTS += \ + src/settings/plugins/ifcfg-rh/nm-ifup \ + src/settings/plugins/ifcfg-rh/nm-ifdown + endif EXTRA_DIST += \ diff --git a/clients/cli/common.c b/clients/cli/common.c index e566de47c8..66b6735e7a 100644 --- a/clients/cli/common.c +++ b/clients/cli/common.c @@ -384,7 +384,7 @@ print_dhcp_config (NMDhcpConfig *dhcp, /* * nmc_find_connection: * @connections: array of NMConnections to search in - * @filter_type: "id", "uuid", "path" or %NULL + * @filter_type: "id", "uuid", "path", "filename", or %NULL * @filter_val: connection to find (connection name, UUID or path) * @out_result: if not NULL, attach all matching connection to this * list. If necessary, a new array will be allocated. If the array @@ -452,6 +452,14 @@ nmc_find_connection (const GPtrArray *connections, goto found; } + if (NM_IN_STRSET (filter_type, NULL, "filename")) { + v = nm_remote_connection_get_filename (NM_REMOTE_CONNECTION (connections->pdata[i])); + if (complete && (filter_type || *filter_val)) + nmc_complete_strings (filter_val, v, NULL); + if (nm_streq0 (filter_val, v)) + goto found; + } + continue; found: if (!out_result) @@ -523,6 +531,14 @@ nmc_find_active_connection (const GPtrArray *active_cons, goto found; } + if (NM_IN_STRSET (filter_type, NULL, "filename")) { + v = nm_remote_connection_get_filename (con); + if (complete && (filter_type || *filter_val)) + nmc_complete_strings (filter_val, v, NULL); + if (nm_streq0 (filter_val, v)) + goto found; + } + if (NM_IN_STRSET (filter_type, NULL, "apath")) { v = nm_object_get_path (NM_OBJECT (candidate)); v_num = nm_utils_dbus_path_get_last_component (v); diff --git a/clients/cli/connections.c b/clients/cli/connections.c index d47781566d..d101e8d420 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -493,6 +493,10 @@ _metagen_con_show_get_fcn (NMC_META_GENERIC_INFO_GET_FCN_ARGS) if (!s_con) return NULL; return nm_setting_connection_get_slave_type (s_con); + case NMC_GENERIC_INFO_TYPE_CON_SHOW_FILENAME: + if (!NM_IS_REMOTE_CONNECTION (c)) + return NULL; + return nm_remote_connection_get_filename (NM_REMOTE_CONNECTION (c)); default: break; } @@ -517,6 +521,7 @@ const NmcMetaGenericInfo *const metagen_con_show[_NMC_GENERIC_INFO_TYPE_CON_SHOW _METAGEN_CON_SHOW (NMC_GENERIC_INFO_TYPE_CON_SHOW_STATE, "STATE"), _METAGEN_CON_SHOW (NMC_GENERIC_INFO_TYPE_CON_SHOW_ACTIVE_PATH, "ACTIVE-PATH"), _METAGEN_CON_SHOW (NMC_GENERIC_INFO_TYPE_CON_SHOW_SLAVE, "SLAVE"), + _METAGEN_CON_SHOW (NMC_GENERIC_INFO_TYPE_CON_SHOW_FILENAME, "FILENAME"), }; #define NMC_FIELDS_CON_SHOW_COMMON "NAME,UUID,TYPE,DEVICE" @@ -1833,9 +1838,9 @@ get_connection (NmCli *nmc, } if (*argc == 1 && nmc->complete) - nmc_complete_strings (**argv, "id", "uuid", "path", NULL); + nmc_complete_strings (**argv, "id", "uuid", "path", "filename", NULL); - if (NM_IN_STRSET (**argv, "id", "uuid", "path")) { + if (NM_IN_STRSET (**argv, "id", "uuid", "path", "filename")) { if (*argc == 1) { if (!nmc->complete) { g_set_error (error, NMCLI_ERROR, NMC_RESULT_ERROR_USER_INPUT, @@ -1976,7 +1981,7 @@ do_connections_show (NmCli *nmc, int argc, char **argv) char **argv_cp = argv; do { - if (NM_IN_STRSET (*argv_cp, "id", "uuid", "path", "apath")) { + if (NM_IN_STRSET (*argv_cp, "id", "uuid", "path", "filename", "apath")) { argc_cp--; argv_cp++; } @@ -1994,9 +1999,9 @@ do_connections_show (NmCli *nmc, int argc, char **argv) guint i_found_cons; if (argc == 1 && nmc->complete) - nmc_complete_strings (*argv, "id", "uuid", "path", "apath", NULL); + nmc_complete_strings (*argv, "id", "uuid", "path", "filename", "apath", NULL); - if (NM_IN_STRSET (*argv, "id", "uuid", "path", "apath")) { + if (NM_IN_STRSET (*argv, "id", "uuid", "path", "filename", "apath")) { selector = *argv; argc--; argv++; @@ -2943,9 +2948,9 @@ do_connection_down (NmCli *nmc, int argc, char **argv) const char *selector = NULL; if (arg_num == 1 && nmc->complete) - nmc_complete_strings (*arg_ptr, "id", "uuid", "path", "apath", NULL); + nmc_complete_strings (*arg_ptr, "id", "uuid", "path", "filename", "apath", NULL); - if (NM_IN_STRSET (*arg_ptr, "id", "uuid", "path", "apath")) { + if (NM_IN_STRSET (*arg_ptr, "id", "uuid", "path", "filename", "apath")) { selector = *arg_ptr; arg_num--; arg_ptr++; @@ -7944,6 +7949,7 @@ do_connection_edit (NmCli *nmc, int argc, char **argv) const char *con_id = NULL; const char *con_uuid = NULL; const char *con_path = NULL; + const char *con_filename = NULL; const char *selector = NULL; gs_free_error GError *error = NULL; GError *err1 = NULL; @@ -7952,11 +7958,12 @@ do_connection_edit (NmCli *nmc, int argc, char **argv) { "id", TRUE, &con_id, FALSE }, { "uuid", TRUE, &con_uuid, FALSE }, { "path", TRUE, &con_path, FALSE }, + { "filename", TRUE, &con_filename, FALSE }, { NULL } }; next_arg (nmc, &argc, &argv, NULL); if (argc == 1 && nmc->complete) - nmc_complete_strings (*argv, "type", "con-name", "id", "uuid", "path", NULL); + nmc_complete_strings (*argv, "type", "con-name", "id", "uuid", "path", "filename", NULL); nmc->return_value = NMC_RESULT_SUCCESS; @@ -7978,20 +7985,23 @@ do_connection_edit (NmCli *nmc, int argc, char **argv) connections = nm_client_get_connections (nmc->client); if (!con) { - if (con_id && !con_uuid && !con_path) { + if (con_id && !con_uuid && !con_path && !con_filename) { con = con_id; selector = "id"; - } else if (con_uuid && !con_id && !con_path) { + } else if (con_uuid && !con_id && !con_path && !con_filename) { con = con_uuid; selector = "uuid"; - } else if (con_path && !con_id && !con_uuid) { + } else if (con_path && !con_id && !con_uuid && !con_filename) { con = con_path; selector = "path"; - } else if (!con_path && !con_id && !con_uuid) { + } else if (con_filename && !con_path && !con_id && !con_uuid) { + con = con_filename; + selector = "filename"; + } else if (!con_path && !con_id && !con_uuid && !con_filename) { /* no-op */ } else { g_string_printf (nmc->return_text, - _("Error: only one of 'id', uuid, or 'path' can be provided.")); + _("Error: only one of 'id', 'filename', uuid, or 'path' can be provided.")); NMC_RETURN (nmc, NMC_RESULT_ERROR_USER_INPUT); } } diff --git a/clients/cli/utils.h b/clients/cli/utils.h index 3122b8808c..19694d111c 100644 --- a/clients/cli/utils.h +++ b/clients/cli/utils.h @@ -135,6 +135,7 @@ typedef enum { NMC_GENERIC_INFO_TYPE_CON_SHOW_STATE, NMC_GENERIC_INFO_TYPE_CON_SHOW_ACTIVE_PATH, NMC_GENERIC_INFO_TYPE_CON_SHOW_SLAVE, + NMC_GENERIC_INFO_TYPE_CON_SHOW_FILENAME, _NMC_GENERIC_INFO_TYPE_CON_SHOW_NUM, NMC_GENERIC_INFO_TYPE_CON_ACTIVE_GENERAL_NAME = 0, diff --git a/clients/tests/test-client.check-on-disk/test_003-007.expected b/clients/tests/test-client.check-on-disk/test_003-007.expected index 4f2acde854..f1a8cc4e3d 100644 --- a/clients/tests/test-client.check-on-disk/test_003-007.expected +++ b/clients/tests/test-client.check-on-disk/test_003-007.expected @@ -2,12 +2,12 @@ location: clients/tests/test-client.py:721:test_003()/7 cmd: $NMCLI -f ALL c s lang: C returncode: 0 -stdout: 912 bytes +stdout: 1108 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 no -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 no -- -- -- -- /etc/NetworkManager/system-connections/ethernet <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-008.expected b/clients/tests/test-client.check-on-disk/test_003-008.expected index 0567713bb6..1000b4272e 100644 --- a/clients/tests/test-client.check-on-disk/test_003-008.expected +++ b/clients/tests/test-client.check-on-disk/test_003-008.expected @@ -2,12 +2,12 @@ location: clients/tests/test-client.py:721:test_003()/8 cmd: $NMCLI -f ALL c s lang: pl_PL.UTF-8 returncode: 0 -stdout: 912 bytes +stdout: 1108 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 nie -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 nie -- -- -- -- /etc/NetworkManager/system-connections/ethernet <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-009.expected b/clients/tests/test-client.check-on-disk/test_003-009.expected index 24612567e6..9adc837d04 100644 --- a/clients/tests/test-client.check-on-disk/test_003-009.expected +++ b/clients/tests/test-client.check-on-disk/test_003-009.expected @@ -2,7 +2,7 @@ location: clients/tests/test-client.py:725:test_003()/9 cmd: $NMCLI --complete-args -f ALL c s '' lang: C returncode: 0 -stdout: 64 bytes +stdout: 73 bytes >>> --active @@ -11,6 +11,7 @@ apath con-1 con-xx1 ethernet +filename help id path diff --git a/clients/tests/test-client.check-on-disk/test_003-010.expected b/clients/tests/test-client.check-on-disk/test_003-010.expected index 66a29b7ec5..69b1e2b7b3 100644 --- a/clients/tests/test-client.check-on-disk/test_003-010.expected +++ b/clients/tests/test-client.check-on-disk/test_003-010.expected @@ -2,7 +2,7 @@ location: clients/tests/test-client.py:725:test_003()/10 cmd: $NMCLI --complete-args -f ALL c s '' lang: pl_PL.UTF-8 returncode: 0 -stdout: 64 bytes +stdout: 73 bytes >>> --active @@ -11,6 +11,7 @@ apath con-1 con-xx1 ethernet +filename help id path diff --git a/clients/tests/test-client.check-on-disk/test_003-014.expected b/clients/tests/test-client.check-on-disk/test_003-014.expected index a195e46726..e86eebf438 100644 --- a/clients/tests/test-client.check-on-disk/test_003-014.expected +++ b/clients/tests/test-client.check-on-disk/test_003-014.expected @@ -2,12 +2,12 @@ location: clients/tests/test-client.py:744:test_003()/14 cmd: $NMCLI -f ALL con lang: C returncode: 0 -stdout: 1084 bytes +stdout: 1280 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-015.expected b/clients/tests/test-client.check-on-disk/test_003-015.expected index d2f12d7b64..a9e790a209 100644 --- a/clients/tests/test-client.check-on-disk/test_003-015.expected +++ b/clients/tests/test-client.check-on-disk/test_003-015.expected @@ -2,12 +2,12 @@ location: clients/tests/test-client.py:744:test_003()/15 cmd: $NMCLI -f ALL con lang: pl_PL.UTF-8 returncode: 0 -stdout: 1088 bytes +stdout: 1284 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-016.expected b/clients/tests/test-client.check-on-disk/test_003-016.expected index 2225c69fd3..c622792a37 100644 --- a/clients/tests/test-client.check-on-disk/test_003-016.expected +++ b/clients/tests/test-client.check-on-disk/test_003-016.expected @@ -2,10 +2,10 @@ location: clients/tests/test-client.py:747:test_003()/16 cmd: $NMCLI -f ALL con s -a lang: C returncode: 0 -stdout: 542 bytes +stdout: 640 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-017.expected b/clients/tests/test-client.check-on-disk/test_003-017.expected index 482438d2f9..9f78c5235c 100644 --- a/clients/tests/test-client.check-on-disk/test_003-017.expected +++ b/clients/tests/test-client.check-on-disk/test_003-017.expected @@ -2,10 +2,10 @@ location: clients/tests/test-client.py:747:test_003()/17 cmd: $NMCLI -f ALL con s -a lang: pl_PL.UTF-8 returncode: 0 -stdout: 544 bytes +stdout: 642 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-037.expected b/clients/tests/test-client.check-on-disk/test_003-037.expected index db933ad07d..87bf8e3ce4 100644 --- a/clients/tests/test-client.check-on-disk/test_003-037.expected +++ b/clients/tests/test-client.check-on-disk/test_003-037.expected @@ -2,13 +2,13 @@ location: clients/tests/test-client.py:744:test_003()/37 cmd: $NMCLI -f ALL con lang: C returncode: 0 -stdout: 1355 bytes +stdout: 1600 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-038.expected b/clients/tests/test-client.check-on-disk/test_003-038.expected index 67e0da301b..5d89806ac9 100644 --- a/clients/tests/test-client.check-on-disk/test_003-038.expected +++ b/clients/tests/test-client.check-on-disk/test_003-038.expected @@ -2,13 +2,13 @@ location: clients/tests/test-client.py:744:test_003()/38 cmd: $NMCLI -f ALL con lang: pl_PL.UTF-8 returncode: 0 -stdout: 1360 bytes +stdout: 1605 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-039.expected b/clients/tests/test-client.check-on-disk/test_003-039.expected index 638a81d280..0425e67826 100644 --- a/clients/tests/test-client.check-on-disk/test_003-039.expected +++ b/clients/tests/test-client.check-on-disk/test_003-039.expected @@ -2,11 +2,11 @@ location: clients/tests/test-client.py:747:test_003()/39 cmd: $NMCLI -f ALL con s -a lang: C returncode: 0 -stdout: 813 bytes +stdout: 960 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 activated /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-040.expected b/clients/tests/test-client.check-on-disk/test_003-040.expected index f17c04678c..1822c0bd6c 100644 --- a/clients/tests/test-client.check-on-disk/test_003-040.expected +++ b/clients/tests/test-client.check-on-disk/test_003-040.expected @@ -2,11 +2,11 @@ location: clients/tests/test-client.py:747:test_003()/40 cmd: $NMCLI -f ALL con s -a lang: pl_PL.UTF-8 returncode: 0 -stdout: 816 bytes +stdout: 963 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-057.expected b/clients/tests/test-client.check-on-disk/test_003-057.expected index f5d5a595a9..dfbd2cfc0c 100644 --- a/clients/tests/test-client.check-on-disk/test_003-057.expected +++ b/clients/tests/test-client.check-on-disk/test_003-057.expected @@ -2,13 +2,13 @@ location: clients/tests/test-client.py:785:test_003()/57 cmd: $NMCLI -f ALL con lang: C returncode: 0 -stdout: 1370 bytes +stdout: 1615 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 deactivating /org/freedesktop/NetworkManager/ActiveConnection/1 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 deactivating /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-058.expected b/clients/tests/test-client.check-on-disk/test_003-058.expected index 35899e35b7..04ba3a819e 100644 --- a/clients/tests/test-client.check-on-disk/test_003-058.expected +++ b/clients/tests/test-client.check-on-disk/test_003-058.expected @@ -2,13 +2,13 @@ location: clients/tests/test-client.py:785:test_003()/58 cmd: $NMCLI -f ALL con lang: pl_PL.UTF-8 returncode: 0 -stdout: 1380 bytes +stdout: 1625 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 dezaktywowanie /org/freedesktop/NetworkManager/ActiveConnection/1 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 dezaktywowanie /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-079.expected b/clients/tests/test-client.check-on-disk/test_003-079.expected index 92c9cf319e..18c6e1e8b3 100644 --- a/clients/tests/test-client.check-on-disk/test_003-079.expected +++ b/clients/tests/test-client.check-on-disk/test_003-079.expected @@ -2,13 +2,13 @@ location: clients/tests/test-client.py:785:test_003()/79 cmd: $NMCLI -f ALL con lang: C returncode: 0 -stdout: 1370 bytes +stdout: 1615 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 deactivating /org/freedesktop/NetworkManager/ActiveConnection/1 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth1 activated /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 yes eth0 deactivating /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/1 no -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 never yes 0 no /org/freedesktop/NetworkManager/Settings/Connection/2 no -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/clients/tests/test-client.check-on-disk/test_003-080.expected b/clients/tests/test-client.check-on-disk/test_003-080.expected index 880d552e96..82fc06dc9d 100644 --- a/clients/tests/test-client.check-on-disk/test_003-080.expected +++ b/clients/tests/test-client.check-on-disk/test_003-080.expected @@ -2,13 +2,13 @@ location: clients/tests/test-client.py:785:test_003()/80 cmd: $NMCLI -f ALL con lang: pl_PL.UTF-8 returncode: 0 -stdout: 1380 bytes +stdout: 1625 bytes >>> -NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- -ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 dezaktywowanie /org/freedesktop/NetworkManager/ActiveConnection/1 -- -con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- -con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- +NAME UUID TYPE TIMESTAMP TIMESTAMP-REAL AUTOCONNECT AUTOCONNECT-PRIORITY READONLY DBUS-PATH ACTIVE DEVICE STATE ACTIVE-PATH SLAVE FILENAME +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth1 aktywowano /org/freedesktop/NetworkManager/ActiveConnection/2 -- /etc/NetworkManager/system-connections/ethernet +ethernet UUID-ethernet-REPLACED-REPLACED-REPL ethernet -- -- -- -- -- /org/freedesktop/NetworkManager/Settings/Connection/3 tak eth0 dezaktywowanie /org/freedesktop/NetworkManager/ActiveConnection/1 -- /etc/NetworkManager/system-connections/ethernet +con-1 5fcfd6d7-1e63-3332-8826-a7eda103792d ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/1 nie -- -- -- -- /etc/NetworkManager/system-connections/con-1 +con-xx1 UUID-con-xx1-REPLACED-REPLACED-REPLA ethernet 0 nigdy tak 0 nie /org/freedesktop/NetworkManager/Settings/Connection/2 nie -- -- -- -- /etc/NetworkManager/system-connections/con-xx1 <<< stderr: 0 bytes diff --git a/contrib/fedora/rpm/NetworkManager.spec b/contrib/fedora/rpm/NetworkManager.spec index c6f265c217..7289bc4fc2 100644 --- a/contrib/fedora/rpm/NetworkManager.spec +++ b/contrib/fedora/rpm/NetworkManager.spec @@ -116,7 +116,9 @@ Source3: 20-connectivity-fedora.conf #Patch1: 0001-some.patch Requires(post): systemd +Requires(post): /sbin/update-alternatives Requires(preun): systemd +Requires(preun): /sbin/update-alternatives Requires(postun): systemd Requires: dbus >= %{dbus_version} @@ -565,6 +567,8 @@ mkdir -p %{buildroot}%{_prefix}/src/debug/NetworkManager-%{real_version} cp valgrind.suppressions %{buildroot}%{_prefix}/src/debug/NetworkManager-%{real_version} %endif +touch %{buildroot}%{_sbindir}/ifup %{buildroot}%{_sbindir}/ifdown + %check %if %{with test} @@ -588,6 +592,15 @@ fi %systemd_post NetworkManager.service NetworkManager-wait-online.service NetworkManager-dispatcher.service +%triggerin -- initscripts +if [ -f %{_sbindir}/ifup -a ! -L %{_sbindir}/ifup ]; then + # initscripts package too old, won't let us set an alternative + /usr/sbin/update-alternatives --remove ifup %{_libexecdir}/nm-ifup >/dev/null 2>&1 || : +else + /usr/sbin/update-alternatives --install %{_sbindir}/ifup ifup %{_libexecdir}/nm-ifup 50 \ + --slave %{_sbindir}/ifdown ifdown %{_libexecdir}/nm-ifdown +fi + %preun if [ $1 -eq 0 ]; then # Package removal, not upgrade @@ -595,6 +608,8 @@ if [ $1 -eq 0 ]; then # Don't kill networking entirely just on package remove #/bin/systemctl stop NetworkManager.service >/dev/null 2>&1 || : + + /usr/sbin/update-alternatives --remove ifup %{_libexecdir}/nm-ifup >/dev/null 2>&1 || : fi %systemd_preun NetworkManager-wait-online.service NetworkManager-dispatcher.service @@ -628,6 +643,10 @@ fi %dir %{_sysconfdir}/%{name}/dnsmasq-shared.d %config(noreplace) %{_sysconfdir}/%{name}/NetworkManager.conf %{_bindir}/nm-online +%{_libexecdir}/nm-ifup +%ghost %{_sbindir}/ifup +%{_libexecdir}/nm-ifdown +%ghost %{_sbindir}/ifdown %{_libexecdir}/nm-dhcp-helper %{_libexecdir}/nm-dispatcher %{_libexecdir}/nm-iface-helper diff --git a/introspection/org.freedesktop.NetworkManager.Settings.Connection.xml b/introspection/org.freedesktop.NetworkManager.Settings.Connection.xml index 13f626c339..2cbb6c2ebc 100644 --- a/introspection/org.freedesktop.NetworkManager.Settings.Connection.xml +++ b/introspection/org.freedesktop.NetworkManager.Settings.Connection.xml @@ -171,6 +171,15 @@ <property name="Flags" type="u" access="read"/> <!-- + Filename: + + File that stores the connection in case the connection is file-backed. + + Since: 1.12 + --> + <property name="Filename" type="s" access="read"/> + + <!-- PropertiesChanged: @properties: A dictionary mapping property names to variant boxed values. diff --git a/libnm/libnm.ver b/libnm/libnm.ver index 8afd01b070..60629ff65c 100644 --- a/libnm/libnm.ver +++ b/libnm/libnm.ver @@ -1351,6 +1351,7 @@ global: nm_connection_get_setting_tc_config; nm_device_ip_tunnel_get_flags; nm_ip_tunnel_flags_get_type; + nm_remote_connection_get_filename; nm_remote_connection_get_flags; nm_setting_connection_get_mdns; nm_setting_connection_mdns_get_type; diff --git a/libnm/nm-remote-connection.c b/libnm/nm-remote-connection.c index bd60c41329..45b804f154 100644 --- a/libnm/nm-remote-connection.c +++ b/libnm/nm-remote-connection.c @@ -51,6 +51,7 @@ enum { PROP_0, PROP_UNSAVED, PROP_FLAGS, + PROP_FILENAME, PROP_VISIBLE, LAST_PROP @@ -61,6 +62,7 @@ typedef struct { gboolean unsaved; guint32 flags; + const char *filename; gboolean visible; } NMRemoteConnectionPrivate; @@ -670,6 +672,22 @@ nm_remote_connection_get_flags (NMRemoteConnection *connection) } /** + * nm_remote_connection_get_filename: + * @connection: the #NMRemoteConnection + * + * Returns: file that stores the connection in case the connection is file-backed. + * + * Since: 1.12 + **/ +const char * +nm_remote_connection_get_filename (NMRemoteConnection *connection) +{ + g_return_val_if_fail (NM_IS_REMOTE_CONNECTION (connection), NULL); + + return NM_REMOTE_CONNECTION_GET_PRIVATE (connection)->filename; +} + +/** * nm_remote_connection_get_visible: * @connection: the #NMRemoteConnection * @@ -760,6 +778,7 @@ init_dbus (NMObject *object) const NMPropertiesInfo property_info[] = { { NM_REMOTE_CONNECTION_UNSAVED, &priv->unsaved }, { NM_REMOTE_CONNECTION_FLAGS, &priv->flags }, + { NM_REMOTE_CONNECTION_FILENAME, &priv->filename }, { NULL }, }; @@ -893,6 +912,9 @@ get_property (GObject *object, guint prop_id, case PROP_FLAGS: g_value_set_boolean (value, NM_REMOTE_CONNECTION_GET_PRIVATE (object)->flags); break; + case PROP_FILENAME: + g_value_set_string (value, NM_REMOTE_CONNECTION_GET_PRIVATE (object)->filename); + break; case PROP_VISIBLE: g_value_set_boolean (value, NM_REMOTE_CONNECTION_GET_PRIVATE (object)->visible); break; @@ -966,6 +988,21 @@ nm_remote_connection_class_init (NMRemoteConnectionClass *remote_class) G_PARAM_STATIC_STRINGS)); /** + * NMRemoteConnection:filename: + * + * File that stores the connection in case the connection is + * file-backed. + * + * Since: 1.12 + **/ + g_object_class_install_property + (object_class, PROP_FILENAME, + g_param_spec_string (NM_REMOTE_CONNECTION_FILENAME, "", "", + NULL, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); + + /** * NMRemoteConnection:visible: * * %TRUE if the remote connection is visible to the current user, %FALSE if diff --git a/libnm/nm-remote-connection.h b/libnm/nm-remote-connection.h index d5b6a8c4bc..834b52d884 100644 --- a/libnm/nm-remote-connection.h +++ b/libnm/nm-remote-connection.h @@ -42,6 +42,7 @@ G_BEGIN_DECLS #define NM_REMOTE_CONNECTION_PATH "path" #define NM_REMOTE_CONNECTION_UNSAVED "unsaved" #define NM_REMOTE_CONNECTION_FLAGS "flags" +#define NM_REMOTE_CONNECTION_FILENAME "filename" #define NM_REMOTE_CONNECTION_VISIBLE "visible" /** @@ -126,6 +127,9 @@ gboolean nm_remote_connection_get_unsaved (NMRemoteConnection *connection); NM_AVAILABLE_IN_1_12 NMSettingsConnectionFlags nm_remote_connection_get_flags (NMRemoteConnection *connection); +NM_AVAILABLE_IN_1_12 +const char *nm_remote_connection_get_filename (NMRemoteConnection *connection); + gboolean nm_remote_connection_get_visible (NMRemoteConnection *connection); G_END_DECLS diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c index 6526abc76f..50cc14274d 100644 --- a/src/settings/nm-settings-connection.c +++ b/src/settings/nm-settings-connection.c @@ -3189,8 +3189,9 @@ static const NMDBusInterfaceInfoExtended interface_info_settings_connection = { &signal_info_removed, ), .properties = NM_DEFINE_GDBUS_PROPERTY_INFOS ( - NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L ("Unsaved", "b", NM_SETTINGS_CONNECTION_UNSAVED), - NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE ("Flags", "u", NM_SETTINGS_CONNECTION_FLAGS), + NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE_L ("Unsaved", "b", NM_SETTINGS_CONNECTION_UNSAVED), + NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE ("Flags", "u", NM_SETTINGS_CONNECTION_FLAGS), + NM_DEFINE_DBUS_PROPERTY_INFO_EXTENDED_READABLE ("Filename", "s", NM_SETTINGS_CONNECTION_FILENAME), ), ), .legacy_property_changed = TRUE, diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h index 70518687c2..cd64f9762d 100644 --- a/src/settings/nm-settings-connection.h +++ b/src/settings/nm-settings-connection.h @@ -42,11 +42,11 @@ /* Properties */ #define NM_SETTINGS_CONNECTION_UNSAVED "unsaved" +#define NM_SETTINGS_CONNECTION_FLAGS "flags" +#define NM_SETTINGS_CONNECTION_FILENAME "filename" /* Internal properties */ #define NM_SETTINGS_CONNECTION_READY "ready" -#define NM_SETTINGS_CONNECTION_FLAGS "flags" -#define NM_SETTINGS_CONNECTION_FILENAME "filename" /** * NMSettingsConnectionIntFlags: diff --git a/src/settings/plugins/ifcfg-rh/nm-ifdown b/src/settings/plugins/ifcfg-rh/nm-ifdown new file mode 100644 index 0000000000..e7bd73aec3 --- /dev/null +++ b/src/settings/plugins/ifcfg-rh/nm-ifdown @@ -0,0 +1,3 @@ +#!/bin/sh +nmcli connection load "/etc/sysconfig/network-scripts/ifcfg-$1" && +exec nmcli connection down filename "/etc/sysconfig/network-scripts/ifcfg-$1" diff --git a/src/settings/plugins/ifcfg-rh/nm-ifup b/src/settings/plugins/ifcfg-rh/nm-ifup new file mode 100644 index 0000000000..96637a92fb --- /dev/null +++ b/src/settings/plugins/ifcfg-rh/nm-ifup @@ -0,0 +1,3 @@ +#!/bin/sh +nmcli connection load "/etc/sysconfig/network-scripts/ifcfg-$1" && +exec nmcli connection up filename "/etc/sysconfig/network-scripts/ifcfg-$1" diff --git a/tools/test-networkmanager-service.py b/tools/test-networkmanager-service.py index 9496dea0bd..af8dc27534 100755 --- a/tools/test-networkmanager-service.py +++ b/tools/test-networkmanager-service.py @@ -1562,6 +1562,7 @@ class NetworkManager(ExportedObj): ############################################################################### PRP_CONNECTION_UNSAVED = 'Unsaved' +PRP_CONNECTION_FILENAME = 'Filename' class Connection(ExportedObj): def __init__(self, path_counter, con_hash, do_verify_strict=True): @@ -1587,6 +1588,7 @@ class Connection(ExportedObj): props = { PRP_CONNECTION_UNSAVED: False, + PRP_CONNECTION_FILENAME: "/etc/NetworkManager/system-connections/" + self.get_id(), } self.dbus_interface_add(IFACE_CONNECTION, props) |