mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-08 15:58:03 +02:00
audit: use NMStrBuf in audit's build_message()
This commit is contained in:
parent
ab3546b8e1
commit
ba2bb8d741
1 changed files with 14 additions and 18 deletions
|
|
@ -11,6 +11,7 @@
|
||||||
#include <libaudit.h>
|
#include <libaudit.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "libnm-glib-aux/nm-str-buf.h"
|
||||||
#include "libnm-core-aux-intern/nm-auth-subject.h"
|
#include "libnm-core-aux-intern/nm-auth-subject.h"
|
||||||
#include "nm-config.h"
|
#include "nm-config.h"
|
||||||
#include "nm-dbus-manager.h"
|
#include "nm-dbus-manager.h"
|
||||||
|
|
@ -104,23 +105,16 @@ _audit_field_init_uint(AuditField *field, const char *name, uint val, AuditBacke
|
||||||
static char *
|
static char *
|
||||||
build_message(GPtrArray *fields, AuditBackend backend)
|
build_message(GPtrArray *fields, AuditBackend backend)
|
||||||
{
|
{
|
||||||
GString * string;
|
NMStrBuf strbuf = NM_STR_BUF_INIT(NM_UTILS_GET_NEXT_REALLOC_SIZE_232, FALSE);
|
||||||
AuditField *field;
|
guint i;
|
||||||
gboolean first = TRUE;
|
|
||||||
guint i;
|
|
||||||
|
|
||||||
string = g_string_new(NULL);
|
|
||||||
|
|
||||||
for (i = 0; i < fields->len; i++) {
|
for (i = 0; i < fields->len; i++) {
|
||||||
field = fields->pdata[i];
|
AuditField *field = fields->pdata[i];
|
||||||
|
|
||||||
if (!NM_FLAGS_ANY(field->backends, backend))
|
if (!NM_FLAGS_ANY(field->backends, backend))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (first)
|
nm_str_buf_append_required_delimiter(&strbuf, ' ');
|
||||||
first = FALSE;
|
|
||||||
else
|
|
||||||
g_string_append_c(string, ' ');
|
|
||||||
|
|
||||||
if (G_VALUE_HOLDS_STRING(&field->value)) {
|
if (G_VALUE_HOLDS_STRING(&field->value)) {
|
||||||
const char *str = g_value_get_string(&field->value);
|
const char *str = g_value_get_string(&field->value);
|
||||||
|
|
@ -128,23 +122,25 @@ build_message(GPtrArray *fields, AuditBackend backend)
|
||||||
#if HAVE_LIBAUDIT
|
#if HAVE_LIBAUDIT
|
||||||
if (backend == BACKEND_AUDITD) {
|
if (backend == BACKEND_AUDITD) {
|
||||||
if (field->need_encoding) {
|
if (field->need_encoding) {
|
||||||
char *value;
|
gs_free char *value = NULL;
|
||||||
|
|
||||||
value = audit_encode_nv_string(field->name, str, 0);
|
value = audit_encode_nv_string(field->name, str, 0);
|
||||||
g_string_append(string, value);
|
nm_str_buf_append(&strbuf, value);
|
||||||
g_free(value);
|
|
||||||
} else
|
} else
|
||||||
g_string_append_printf(string, "%s=%s", field->name, str);
|
nm_str_buf_append_printf(&strbuf, "%s=%s", field->name, str);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
#endif /* HAVE_LIBAUDIT */
|
#endif /* HAVE_LIBAUDIT */
|
||||||
g_string_append_printf(string, "%s=\"%s\"", field->name, str);
|
nm_str_buf_append_printf(&strbuf, "%s=\"%s\"", field->name, str);
|
||||||
} else if (G_VALUE_HOLDS_UINT(&field->value)) {
|
} else if (G_VALUE_HOLDS_UINT(&field->value)) {
|
||||||
g_string_append_printf(string, "%s=%u", field->name, g_value_get_uint(&field->value));
|
nm_str_buf_append_printf(&strbuf,
|
||||||
|
"%s=%u",
|
||||||
|
field->name,
|
||||||
|
g_value_get_uint(&field->value));
|
||||||
} else
|
} else
|
||||||
g_assert_not_reached();
|
g_assert_not_reached();
|
||||||
}
|
}
|
||||||
return g_string_free(string, FALSE);
|
return nm_str_buf_finalize(&strbuf, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue