max that systrace(4) allows).
Only need to use SYSTR_POLICY_ASSIGN once
Change check_syscall() -> find_handler() and have it return the
handler instead of just running it. We need this since handler now
have two parts: one part that generates and answer and another that
gets called after the answer is accepted (to do logging).
Add some missing check_exec for emul execv
o Replaced uid in struct childinfo with struct passwd * (for runas)
o new_child() now takes a parent pid so the runas info can be inherited
o Added find_child() to lookup a child by its pid
o update_child() now fills in a struct passwd
o Converted the big if/else mess in set_policy to a switch
o Syscalls that change uid are now "ask" so we get SYSTR_MSG_UGID events
Make initialized global for simplicity
If STRIOCATTACH returns EBUSY we are already being traced
Check for user_args == NULL in setproctitle() call
Add missing calls to STRIOCANSWER
facility (OpenBSD, NetBSD, Linux w/ patches) sudo can intercept exec
calls and check the exec args against the sudoers file.
In other words, sudo can now control subcommands and shell escapes.