--- bsd/conf/MASTER.orig 2007-10-29 20:59:23.000000000 -0700 +++ bsd/conf/MASTER 2009-10-09 01:37:42.000000000 -0700 @@ -446,5 +446,6 @@ pseudo-device sdt 1 init sdt_init # pseudo-device systrace 1 init systrace_init # pseudo-device fbt 1 init fbt_init # pseudo-device profile_prvd 1 init profile_init # +options RAW4ALL --- bsd/kern/uipc_socket.c.orig 2007-10-29 20:58:55.000000000 -0700 +++ bsd/kern/uipc_socket.c 2009-10-09 01:37:03.000000000 -0700 @@ -515,11 +515,15 @@ TAILQ_INIT(&so->so_comp); so->so_type = type; if (p != 0) { so->so_uid = kauth_cred_getuid(kauth_cred_get()); +#ifdef RAW4ALL + if (!suser(kauth_cred_get(), NULL) || prp -> pr_type == SOCK_RAW) +#else if (!suser(kauth_cred_get(), NULL)) +#endif /* RAW4ALL */ so->so_state = SS_PRIV; } so->so_proto = prp; #ifdef __APPLE__ so->so_rcv.sb_flags |= SB_RECV; /* XXX */