aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/security/audit/audit_bsm.c17
-rw-r--r--sys/security/audit/bsm_token.c2
2 files changed, 16 insertions, 3 deletions
diff --git a/sys/security/audit/audit_bsm.c b/sys/security/audit/audit_bsm.c
index 6cd96ebe092f..4654b607aea5 100644
--- a/sys/security/audit/audit_bsm.c
+++ b/sys/security/audit/audit_bsm.c
@@ -542,6 +542,11 @@ kaudit_to_bsm(struct kaudit_record *kar, struct au_record **pau)
kau_write(rec, tok);
UPATH1_TOKENS;
}
+ if (ARG_IS_VALID(kar, ARG_SADDRINET6)) {
+ tok = au_to_sock_inet128((struct sockaddr_in6 *)
+ &ar->ar_arg_sockaddr);
+ kau_write(rec, tok);
+ }
break;
case AUE_BIND:
@@ -571,7 +576,11 @@ kaudit_to_bsm(struct kaudit_record *kar, struct au_record **pau)
kau_write(rec, tok);
UPATH1_TOKENS;
}
- /* XXX Need to handle ARG_SADDRINET6 */
+ if (ARG_IS_VALID(kar, ARG_SADDRINET6)) {
+ tok = au_to_sock_inet128((struct sockaddr_in6 *)
+ &ar->ar_arg_sockaddr);
+ kau_write(rec, tok);
+ }
break;
case AUE_BINDAT:
@@ -602,7 +611,11 @@ kaudit_to_bsm(struct kaudit_record *kar, struct au_record **pau)
kau_write(rec, tok);
UPATH1_TOKENS;
}
- /* XXX Need to handle ARG_SADDRINET6 */
+ if (ARG_IS_VALID(kar, ARG_SADDRINET6)) {
+ tok = au_to_sock_inet128((struct sockaddr_in6 *)
+ &ar->ar_arg_sockaddr);
+ kau_write(rec, tok);
+ }
break;
case AUE_SOCKET:
diff --git a/sys/security/audit/bsm_token.c b/sys/security/audit/bsm_token.c
index f704f75c17df..ccf7ab7d2cc8 100644
--- a/sys/security/audit/bsm_token.c
+++ b/sys/security/audit/bsm_token.c
@@ -1065,7 +1065,7 @@ au_to_sock_inet128(struct sockaddr_in6 *so)
ADD_U_CHAR(dptr, 0);
ADD_U_CHAR(dptr, so->sin6_family);
- ADD_U_INT16(dptr, so->sin6_port);
+ ADD_MEM(dptr, &so->sin6_port, sizeof(uint16_t));
ADD_MEM(dptr, &so->sin6_addr, 4 * sizeof(uint32_t));
return (t);