bsm_token.c (155192) | bsm_token.c (156291) |
---|---|
1/* 2 * Copyright (c) 2004 Apple Computer, Inc. 3 * Copyright (c) 2005 SPARTA, Inc. 4 * All rights reserved. 5 * 6 * This code was developed in part by Robert N. M. Watson, Senior Principal 7 * Scientist, SPARTA, Inc. 8 * --- 16 unchanged lines hidden (view full) --- 25 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 29 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 30 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 * POSSIBILITY OF SUCH DAMAGE. 32 * | 1/* 2 * Copyright (c) 2004 Apple Computer, Inc. 3 * Copyright (c) 2005 SPARTA, Inc. 4 * All rights reserved. 5 * 6 * This code was developed in part by Robert N. M. Watson, Senior Principal 7 * Scientist, SPARTA, Inc. 8 * --- 16 unchanged lines hidden (view full) --- 25 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 29 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 30 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 31 * POSSIBILITY OF SUCH DAMAGE. 32 * |
33 * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#7 $ 34 * $FreeBSD: head/sys/security/audit/audit_bsm_token.c 155192 2006-02-01 20:01:18Z rwatson $ | 33 * $P4: //depot/projects/trustedbsd/audit3/sys/security/audit/audit_bsm_token.c#9 $ 34 * $FreeBSD: head/sys/security/audit/audit_bsm_token.c 156291 2006-03-04 17:00:55Z rwatson $ |
35 */ 36 37#include <sys/types.h> | 35 */ 36 37#include <sys/types.h> |
38#ifdef __APPLE__ 39#include <compat/endian.h> 40#else /* !__APPLE__ */ | |
41#include <sys/endian.h> | 38#include <sys/endian.h> |
42#endif /* __APPLE__*/ | |
43#include <sys/socket.h> 44#include <sys/time.h> 45 46#include <sys/ipc.h> 47#include <sys/libkern.h> 48#include <sys/malloc.h> 49#include <sys/un.h> 50 --- 271 unchanged lines hidden (view full) --- 322 token_t *t; 323 u_char *dptr = NULL; 324 u_int32_t type = AF_INET6; 325 326 GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 5 * sizeof(u_int32_t)); 327 328 ADD_U_CHAR(dptr, AUT_IN_ADDR_EX); 329 ADD_U_INT32(dptr, type); | 39#include <sys/socket.h> 40#include <sys/time.h> 41 42#include <sys/ipc.h> 43#include <sys/libkern.h> 44#include <sys/malloc.h> 45#include <sys/un.h> 46 --- 271 unchanged lines hidden (view full) --- 318 token_t *t; 319 u_char *dptr = NULL; 320 u_int32_t type = AF_INET6; 321 322 GET_TOKEN_AREA(t, dptr, sizeof(u_char) + 5 * sizeof(u_int32_t)); 323 324 ADD_U_CHAR(dptr, AUT_IN_ADDR_EX); 325 ADD_U_INT32(dptr, type); |
330 ADD_U_INT32(dptr, internet_addr->__u6_addr.__u6_addr32[0]); 331 ADD_U_INT32(dptr, internet_addr->__u6_addr.__u6_addr32[1]); 332 ADD_U_INT32(dptr, internet_addr->__u6_addr.__u6_addr32[2]); 333 ADD_U_INT32(dptr, internet_addr->__u6_addr.__u6_addr32[3]); | 326 ADD_MEM(dptr, internet_addr, sizeof(*internet_addr)); |
334 335 return (t); 336} 337 338/* 339 * token ID 1 byte 340 * ip header 20 bytes 341 */ --- 518 unchanged lines hidden (view full) --- 860 /* 861 * In Darwin, sin6_family is one octet, but BSM defines the token 862 * to store two. So we copy in a 0 first. 863 */ 864 ADD_U_CHAR(dptr, 0); 865 ADD_U_CHAR(dptr, so->sin6_family); 866 867 ADD_U_INT16(dptr, so->sin6_port); | 327 328 return (t); 329} 330 331/* 332 * token ID 1 byte 333 * ip header 20 bytes 334 */ --- 518 unchanged lines hidden (view full) --- 853 /* 854 * In Darwin, sin6_family is one octet, but BSM defines the token 855 * to store two. So we copy in a 0 first. 856 */ 857 ADD_U_CHAR(dptr, 0); 858 ADD_U_CHAR(dptr, so->sin6_family); 859 860 ADD_U_INT16(dptr, so->sin6_port); |
868 ADD_U_INT32(dptr, so->sin6_addr.__u6_addr.__u6_addr32[0]); 869 ADD_U_INT32(dptr, so->sin6_addr.__u6_addr.__u6_addr32[1]); 870 ADD_U_INT32(dptr, so->sin6_addr.__u6_addr.__u6_addr32[2]); 871 ADD_U_INT32(dptr, so->sin6_addr.__u6_addr.__u6_addr32[3]); | 861 ADD_MEM(dptr, &so->sin6_addr, sizeof(so->sin6_addr)); |
872 873 return (t); 874 875} 876 877token_t * 878au_to_sock_inet(struct sockaddr_in *so) 879{ --- 107 unchanged lines hidden (view full) --- 987au_to_subject_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, 988 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) 989{ 990 991 return (au_to_subject32_ex(auid, euid, egid, ruid, rgid, pid, sid, 992 tid)); 993} 994 | 862 863 return (t); 864 865} 866 867token_t * 868au_to_sock_inet(struct sockaddr_in *so) 869{ --- 107 unchanged lines hidden (view full) --- 977au_to_subject_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, 978 gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) 979{ 980 981 return (au_to_subject32_ex(auid, euid, egid, ruid, rgid, pid, sid, 982 tid)); 983} 984 |
995#if !defined(_KERNEL) && !defined(KERNEL) | 985#if !defined(_KERNEL) && !defined(KERNEL) && defined(HAVE_AUDIT_SYSCALLS) |
996/* 997 * Collects audit information for the current process 998 * and creates a subject token from it 999 */ 1000token_t * 1001au_to_me(void) 1002{ 1003 auditinfo_t auinfo; --- 178 unchanged lines hidden --- | 986/* 987 * Collects audit information for the current process 988 * and creates a subject token from it 989 */ 990token_t * 991au_to_me(void) 992{ 993 auditinfo_t auinfo; --- 178 unchanged lines hidden --- |