Return to audit.c CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / sudo / plugins / sudoers |
1.1 ! misho 1: /* ! 2: * Copyright (c) 2009-2010 Todd C. Miller <Todd.Miller@courtesan.com> ! 3: * ! 4: * Permission to use, copy, modify, and distribute this software for any ! 5: * purpose with or without fee is hereby granted, provided that the above ! 6: * copyright notice and this permission notice appear in all copies. ! 7: * ! 8: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ! 9: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ! 10: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ! 11: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ! 12: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ! 13: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ! 14: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ! 15: */ ! 16: ! 17: #include <config.h> ! 18: ! 19: #include <sys/types.h> ! 20: #include <stdio.h> ! 21: #ifdef STDC_HEADERS ! 22: # include <stdlib.h> ! 23: # include <stddef.h> ! 24: #else ! 25: # ifdef HAVE_STDLIB_H ! 26: # include <stdlib.h> ! 27: # endif ! 28: #endif /* STDC_HEADERS */ ! 29: #include <stdarg.h> ! 30: ! 31: #include "missing.h" ! 32: #include "logging.h" ! 33: ! 34: #ifdef HAVE_BSM_AUDIT ! 35: # include "bsm_audit.h" ! 36: #endif ! 37: #ifdef HAVE_LINUX_AUDIT ! 38: # include "linux_audit.h" ! 39: #endif ! 40: ! 41: void ! 42: audit_success(char *exec_args[]) ! 43: { ! 44: if (exec_args == NULL) ! 45: return; ! 46: ! 47: #ifdef HAVE_BSM_AUDIT ! 48: bsm_audit_success(exec_args); ! 49: #endif ! 50: #ifdef HAVE_LINUX_AUDIT ! 51: linux_audit_command(exec_args, 1); ! 52: #endif ! 53: } ! 54: ! 55: void ! 56: audit_failure(char *exec_args[], char const *const fmt, ...) ! 57: { ! 58: va_list ap; ! 59: ! 60: if (exec_args == NULL) ! 61: return; ! 62: ! 63: va_start(ap, fmt); ! 64: #ifdef HAVE_BSM_AUDIT ! 65: bsm_audit_failure(exec_args, fmt, ap); ! 66: #endif ! 67: #ifdef HAVE_LINUX_AUDIT ! 68: linux_audit_command(exec_args, 0); ! 69: #endif ! 70: va_end(ap); ! 71: }