libnm: be more accepting for invalid connections from NetworkManager
Relax our error checking which will allow us to try harder to make the best out of whatever NetworkManager sends us. Also, drop the g_warning(). First, now we really don't expect this function to fail. And even in that case, raising a g_warning() from the library is not very friendly to the user of libnm.
This commit is contained in:
@@ -26,6 +26,7 @@
|
||||
#include "nm-dbus-interface.h"
|
||||
#include "nm-utils.h"
|
||||
#include "nm-setting-connection.h"
|
||||
#include "nm-core-internal.h"
|
||||
|
||||
#include "nm-remote-connection.h"
|
||||
#include "nm-remote-connection-private.h"
|
||||
@@ -563,13 +564,11 @@ replace_settings (NMRemoteConnection *self, GVariant *new_settings)
|
||||
{
|
||||
GError *error = NULL;
|
||||
|
||||
if (!nm_connection_replace_settings (NM_CONNECTION (self), new_settings, &error)) {
|
||||
g_warning ("%s: error updating connection %s settings: %s",
|
||||
__func__,
|
||||
nm_connection_get_path (NM_CONNECTION (self)),
|
||||
error->message);
|
||||
if (!_nm_connection_replace_settings ((NMConnection *) self,
|
||||
new_settings,
|
||||
NM_SETTING_PARSE_FLAGS_BEST_EFFORT,
|
||||
&error))
|
||||
g_clear_error (&error);
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -1309,9 +1309,7 @@ test_connection_invalid (void)
|
||||
FALSE,
|
||||
&path2);
|
||||
|
||||
g_test_expect_message ("libnm", G_LOG_LEVEL_WARNING, "*replace_settings: error updating connection /org/freedesktop/NetworkManager/Settings/Connection/3 settings: *");
|
||||
client = nm_client_new (NULL, &error);
|
||||
g_test_assert_expected_messages ();
|
||||
g_assert_no_error (error);
|
||||
|
||||
connections = nm_client_get_connections (client);
|
||||
@@ -1385,9 +1383,7 @@ test_connection_invalid (void)
|
||||
variant,
|
||||
FALSE);
|
||||
|
||||
g_test_expect_message ("libnm", G_LOG_LEVEL_WARNING, "*replace_settings: error updating connection /org/freedesktop/NetworkManager/Settings/Connection/3 settings: *");
|
||||
nmtst_main_loop_run (loop, 100);
|
||||
g_test_assert_expected_messages ();
|
||||
|
||||
connections = nm_client_get_connections (client);
|
||||
g_assert (connections);
|
||||
|
Reference in New Issue
Block a user