static void generate_process32ex_record(const char *directory, const char *record_filename, u_int32_t type) { token_t *process32ex_token; char *buf; buf = (char *)malloc(strlen(record_filename) + 6); if (type == AU_IPv6) { inet_pton(AF_INET6, "fe80::1", process32_tid_addr.at_addr); process32_tid_addr.at_type = AU_IPv6; sprintf(buf, "%s%s", record_filename, "-IPv6"); } else { process32_tid_addr.at_addr[0] = inet_addr("127.0.0.1"); process32_tid_addr.at_type = AU_IPv4; sprintf(buf, "%s%s", record_filename, "-IPv4"); } process32ex_token = au_to_process32_ex(process32_auid, process32_euid, process32_egid, process32_ruid, process32_rgid, process32_pid, process32_sid, &process32_tid_addr); if (process32ex_token == NULL) err(EX_UNAVAILABLE, "au_to_process32_ex"); write_record(directory, buf, process32ex_token, AUE_NULL); free(buf); }
token_t * au_to_process_ex(au_id_t auid, uid_t euid, gid_t egid, uid_t ruid, gid_t rgid, pid_t pid, au_asid_t sid, au_tid_addr_t *tid) { return (au_to_process32_ex(auid, euid, egid, ruid, rgid, pid, sid, tid)); }