Exemple #1
0
static int
send_trigger(int trigger)
{
	mach_port_t     serverPort;
	kern_return_t	error;

	error = host_get_audit_control_port(mach_host_self(), &serverPort);
	if (error != KERN_SUCCESS) {
		if (geteuid() != 0) {
			errno = EPERM;
			perror("audit requires root privileges"); 
		} else 
			mach_error("Cannot get auditd_control Mach port:",
			    error);
		return (-1);
	}

	error = auditd_control(serverPort, trigger);
	if (error != KERN_SUCCESS) {
		mach_error("Error sending trigger: ", error);
		return (-1);
	}
	
	return (0);
}
Exemple #2
0
/*
 * Do all the real work.
 * Send a message to the audit daemon and check the return code.
 */
void process(int flags)
{
	kern_return_t retcode;
	retcode = auditd_control(serverPort, flags);
	if(retcode != KERN_SUCCESS) {
		mach_error("error doing IPC: ", retcode);
		exit(1);
	}
	printf("Client call successful\n");
}