From 34964273ee5f808eae601e32cb23275a8988e3e1 Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Wed, 20 Apr 2016 12:10:55 +0200 Subject: audit: log changed properties when updating a connection The main purpose of audit logging is to understand who did what to the system configuration, so it is useful to log also the list of changed properties when a connection is updated: op="connection-update" uuid="2f3e48fc-5f47-41d9-9278-d2871378df43" name="pppoe1" args="pppoe.username,pppoe.password" <======== pid=9523 uid=1001 result="success" --- src/nm-audit-manager.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/nm-audit-manager.c') diff --git a/src/nm-audit-manager.c b/src/nm-audit-manager.c index 728575f663..7096e81934 100644 --- a/src/nm-audit-manager.c +++ b/src/nm-audit-manager.c @@ -233,10 +233,10 @@ nm_audit_manager_audit_enabled (NMAuditManager *self) void _nm_audit_manager_log_connection_op (NMAuditManager *self, const char *file, guint line, const char *func, const char *op, NMSettingsConnection *connection, - gboolean result, gpointer subject_context, const char *reason) + gboolean result, const char *args, gpointer subject_context, const char *reason) { gs_unref_ptrarray GPtrArray *fields = NULL; - AuditField uuid_field = { }, name_field = { }; + AuditField uuid_field = { }, name_field = { }, args_field = { }; g_return_if_fail (op); @@ -252,6 +252,11 @@ _nm_audit_manager_log_connection_op (NMAuditManager *self, const char *file, gui g_ptr_array_add (fields, &name_field); } + if (args) { + _audit_field_init_string (&args_field, "args", args, FALSE, BACKEND_ALL); + g_ptr_array_add (fields, &args_field); + } + _audit_log_helper (self, fields, file, line, func, op, result, subject_context, reason); } -- cgit v1.2.1