diff options
author | Beniamino Galvani <bgalvani@redhat.com> | 2015-07-15 14:44:45 +0200 |
---|---|---|
committer | Beniamino Galvani <bgalvani@redhat.com> | 2015-08-04 09:32:12 +0200 |
commit | 532ed38a3c98722362c35dab66426b63e700e874 (patch) | |
tree | 31ee5be69b78ed83467adf2ad414d71d1d4b31d2 | |
parent | f834a08d0b70b5258866ece0c780db88697440cc (diff) | |
download | NetworkManager-532ed38a3c98722362c35dab66426b63e700e874.tar.gz |
settings: add audit support
-rw-r--r-- | src/nm-manager.c | 1 | ||||
-rw-r--r-- | src/settings/nm-settings.c | 14 | ||||
-rw-r--r-- | src/settings/nm-settings.h | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/src/nm-manager.c b/src/nm-manager.c index 698cfcde17..b14c26267f 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -3250,6 +3250,7 @@ activation_add_done (NMSettings *self, NMSettingsConnection *new_connection, GError *error, DBusGMethodInvocation *context, + NMAuthSubject *subject, gpointer user_data) { AddAndActivateInfo *info = user_data; diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index ba5035a513..e0e3af64ce 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -75,6 +75,7 @@ #include "nm-agent-manager.h" #include "nm-connection-provider.h" #include "nm-config.h" +#include "nm-audit-manager.h" #include "NetworkManagerUtils.h" #include "nm-dispatcher.h" @@ -1229,7 +1230,7 @@ pk_add_cb (NMAuthChain *chain, callback_data = nm_auth_chain_get_data (chain, "callback-data"); subject = nm_auth_chain_get_data (chain, "subject"); - callback (self, added, error, context, callback_data); + callback (self, added, error, context, subject, callback_data); /* Send agent-owned secrets to the agents */ if (!error && added && nm_settings_has_connection (self, (NMConnection *) added)) @@ -1371,7 +1372,7 @@ nm_settings_add_connection_dbus (NMSettings *self, done: if (error) - callback (self, NULL, error, context, user_data); + callback (self, NULL, error, context, subject, user_data); g_clear_error (&error); g_clear_object (&subject); @@ -1382,12 +1383,17 @@ impl_settings_add_connection_add_cb (NMSettings *self, NMSettingsConnection *connection, GError *error, DBusGMethodInvocation *context, + NMAuthSubject *subject, gpointer user_data) { - if (error) + if (error) { dbus_g_method_return_error (context, error); - else + nm_audit_log_connection_op (NM_AUDIT_OP_CONN_ADD, NULL, FALSE, subject, error->message); + } else { dbus_g_method_return (context, nm_connection_get_path (NM_CONNECTION (connection))); + nm_audit_log_connection_op (NM_AUDIT_OP_CONN_ADD, NM_CONNECTION (connection), TRUE, + subject, NULL); + } } static void diff --git a/src/settings/nm-settings.h b/src/settings/nm-settings.h index f28d010bdf..4afa4dc250 100644 --- a/src/settings/nm-settings.h +++ b/src/settings/nm-settings.h @@ -87,6 +87,7 @@ typedef void (*NMSettingsAddCallback) (NMSettings *settings, NMSettingsConnection *connection, GError *error, DBusGMethodInvocation *context, + NMAuthSubject *subject, gpointer user_data); void nm_settings_add_connection_dbus (NMSettings *self, |