summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2015-07-15 14:44:45 +0200
committerBeniamino Galvani <bgalvani@redhat.com>2015-08-04 09:32:12 +0200
commit532ed38a3c98722362c35dab66426b63e700e874 (patch)
tree31ee5be69b78ed83467adf2ad414d71d1d4b31d2
parentf834a08d0b70b5258866ece0c780db88697440cc (diff)
downloadNetworkManager-532ed38a3c98722362c35dab66426b63e700e874.tar.gz
settings: add audit support
-rw-r--r--src/nm-manager.c1
-rw-r--r--src/settings/nm-settings.c14
-rw-r--r--src/settings/nm-settings.h1
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,