diff options
author | Eric Paris <eparis@redhat.com> | 2008-04-18 10:12:59 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2008-04-28 06:19:22 -0400 |
commit | b556f8ad58c6e9f8f485c8cef7546e3fc82c382a (patch) | |
tree | e7a1c5ce313b6dec9727d69b08b5005dc35709a3 /kernel/auditsc.c | |
parent | f09ac9db2aafe36fde9ebd63c8c5d776f6e7bd41 (diff) |
Audit: standardize string audit interfaces
This patch standardized the string auditing interfaces. No userspace
changes will be visible and this is all just cleanup and consistancy
work. We have the following string audit interfaces to use:
void audit_log_n_hex(struct audit_buffer *ab, const unsigned char *buf, size_t len);
void audit_log_n_string(struct audit_buffer *ab, const char *buf, size_t n);
void audit_log_string(struct audit_buffer *ab, const char *buf);
void audit_log_n_untrustedstring(struct audit_buffer *ab, const char *string, size_t n);
void audit_log_untrustedstring(struct audit_buffer *ab, const char *string);
This may be the first step to possibly fixing some of the issues that
people have with the string output from the kernel audit system. But we
still don't have an agreed upon solution to that problem.
Signed-off-by: Eric Paris <eparis@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'kernel/auditsc.c')
-rw-r--r-- | kernel/auditsc.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index d7249fcdc442..0072b1d8b258 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c | |||
@@ -1095,7 +1095,7 @@ static int audit_log_single_execve_arg(struct audit_context *context, | |||
1095 | audit_log_format(*ab, "[%d]", i); | 1095 | audit_log_format(*ab, "[%d]", i); |
1096 | audit_log_format(*ab, "="); | 1096 | audit_log_format(*ab, "="); |
1097 | if (has_cntl) | 1097 | if (has_cntl) |
1098 | audit_log_hex(*ab, buf, to_send); | 1098 | audit_log_n_hex(*ab, buf, to_send); |
1099 | else | 1099 | else |
1100 | audit_log_format(*ab, "\"%s\"", buf); | 1100 | audit_log_format(*ab, "\"%s\"", buf); |
1101 | audit_log_format(*ab, "\n"); | 1101 | audit_log_format(*ab, "\n"); |
@@ -1307,7 +1307,7 @@ static void audit_log_exit(struct audit_context *context, struct task_struct *ts | |||
1307 | struct audit_aux_data_sockaddr *axs = (void *)aux; | 1307 | struct audit_aux_data_sockaddr *axs = (void *)aux; |
1308 | 1308 | ||
1309 | audit_log_format(ab, "saddr="); | 1309 | audit_log_format(ab, "saddr="); |
1310 | audit_log_hex(ab, axs->a, axs->len); | 1310 | audit_log_n_hex(ab, axs->a, axs->len); |
1311 | break; } | 1311 | break; } |
1312 | 1312 | ||
1313 | case AUDIT_FD_PAIR: { | 1313 | case AUDIT_FD_PAIR: { |
@@ -1371,8 +1371,8 @@ static void audit_log_exit(struct audit_context *context, struct task_struct *ts | |||
1371 | default: | 1371 | default: |
1372 | /* log the name's directory component */ | 1372 | /* log the name's directory component */ |
1373 | audit_log_format(ab, " name="); | 1373 | audit_log_format(ab, " name="); |
1374 | audit_log_n_untrustedstring(ab, n->name_len, | 1374 | audit_log_n_untrustedstring(ab, n->name, |
1375 | n->name); | 1375 | n->name_len); |
1376 | } | 1376 | } |
1377 | } else | 1377 | } else |
1378 | audit_log_format(ab, " name=(null)"); | 1378 | audit_log_format(ab, " name=(null)"); |