| 450 | } |
| 451 | |
| 452 | void |
| 453 | audit_arg_sockaddr(struct thread *td, int dirfd, struct sockaddr *sa) |
| 454 | { |
| 455 | struct kaudit_record *ar; |
| 456 | |
| 457 | KASSERT(td != NULL, ("audit_arg_sockaddr: td == NULL")); |
| 458 | KASSERT(sa != NULL, ("audit_arg_sockaddr: sa == NULL")); |
| 459 | |
| 460 | ar = currecord(); |
| 461 | if (ar == NULL) |
| 462 | return; |
| 463 | |
| 464 | bcopy(sa, &ar->k_ar.ar_arg_sockaddr, sa->sa_len); |
| 465 | switch (sa->sa_family) { |
| 466 | case AF_INET: |
| 467 | ARG_SET_VALID(ar, ARG_SADDRINET); |
| 468 | break; |
| 469 | |
| 470 | case AF_INET6: |
| 471 | ARG_SET_VALID(ar, ARG_SADDRINET6); |
| 472 | break; |
| 473 | |
| 474 | case AF_UNIX: |
| 475 | if (dirfd != AT_FDCWD) |
| 476 | audit_arg_atfd1(dirfd); |
| 477 | audit_arg_upath1(td, dirfd, |
| 478 | ((struct sockaddr_un *)sa)->sun_path); |
| 479 | ARG_SET_VALID(ar, ARG_SADDRUNIX); |
| 480 | break; |
| 481 | /* XXXAUDIT: default:? */ |
| 482 | } |
| 483 | } |
| 484 | |
| 485 | void |
| 486 | audit_arg_auid(uid_t auid) |
nothing calls this directly
no test coverage detected