freebsd-skq/sys/security/mac
rwatson 7aa5c2497a Implement sockets support for __mac_get_fd() and __mac_set_fd()
system calls, and prefer these calls over getsockopt()/setsockopt()
for ABI reasons.  When addressing UNIX domain sockets, these calls
retrieve and modify the socket label, not the label of the
rendezvous vnode.

- Create mac_copy_socket_label() entry point based on
  mac_copy_pipe_label() entry point, intended to copy the socket
  label into temporary storage that doesn't require a socket lock
  to be held (currently Giant).

- Implement mac_copy_socket_label() for various policies.

- Expose socket label allocation, free, internalize, externalize
  entry points as non-static from mac_net.c.

- Use mac_socket_label_set() in __mac_set_fd().

MAC-aware applications may now use mac_get_fd(), mac_set_fd(), and
mac_get_peer() to retrieve and set various socket labels without
directly invoking the getsockopt() interface.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2003-11-16 23:31:45 +00:00
..
mac_framework.c Implement sockets support for __mac_get_fd() and __mac_set_fd() 2003-11-16 23:31:45 +00:00
mac_framework.h Implement mac_get_peer(3) using getsockopt() with SOL_SOCKET and 2003-11-16 20:18:24 +00:00
mac_internal.h Implement sockets support for __mac_get_fd() and __mac_set_fd() 2003-11-16 23:31:45 +00:00
mac_label.c Modify the MAC Framework so that instead of embedding a (struct label) 2003-11-12 03:14:31 +00:00
mac_net.c Implement sockets support for __mac_get_fd() and __mac_set_fd() 2003-11-16 23:31:45 +00:00
mac_pipe.c Modify the MAC Framework so that instead of embedding a (struct label) 2003-11-12 03:14:31 +00:00
mac_policy.h Implement sockets support for __mac_get_fd() and __mac_set_fd() 2003-11-16 23:31:45 +00:00
mac_process.c Modify the MAC Framework so that instead of embedding a (struct label) 2003-11-12 03:14:31 +00:00
mac_syscalls.c Implement sockets support for __mac_get_fd() and __mac_set_fd() 2003-11-16 23:31:45 +00:00
mac_system.c Modify the MAC Framework so that instead of embedding a (struct label) 2003-11-12 03:14:31 +00:00
mac_vfs.c Modify the MAC Framework so that instead of embedding a (struct label) 2003-11-12 03:14:31 +00:00