Deleted Added
sdiff udiff text old ( 155192 ) new ( 156291 )
full compact
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 $
35 */
36
37#include <sys/types.h>
38#ifdef __APPLE__
39#include <compat/endian.h>
40#else /* !__APPLE__ */
41#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);
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]);
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);
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]);
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
995#if !defined(_KERNEL) && !defined(KERNEL)
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 ---