diff options
| author | Paul M Roberts <Paul.M.Roberts@Sun.COM> | 2009-07-30 16:15:07 +0100 |
|---|---|---|
| committer | Paul M Roberts <Paul.M.Roberts@Sun.COM> | 2009-07-30 16:15:07 +0100 |
| commit | 8780f632c8794e526157dc18c87834b2cc4f6592 (patch) | |
| tree | d6be36d33818d65aea78455910f19d31044d6df7 | |
| parent | c87b8fc5c906791122d9de2dab7eeb51f2e91049 (diff) | |
| download | illumos-joyent-8780f632c8794e526157dc18c87834b2cc4f6592.tar.gz | |
PSARC 2007/701 EOF and removal of auditconfig -[gs]etfsize
6704828 PSARC/2007/701: kernel-based audit statistic feature (-[gs]etfsize) should be EOF'd and removed
| -rw-r--r-- | usr/src/cmd/auditconfig/auditconfig.c | 57 | ||||
| -rw-r--r-- | usr/src/uts/common/c2/audit.h | 12 | ||||
| -rw-r--r-- | usr/src/uts/common/c2/audit_kernel.h | 4 | ||||
| -rw-r--r-- | usr/src/uts/common/c2/audit_syscalls.c | 49 | ||||
| -rw-r--r-- | usr/src/uts/common/c2/audit_zone.c | 6 |
5 files changed, 4 insertions, 124 deletions
diff --git a/usr/src/cmd/auditconfig/auditconfig.c b/usr/src/cmd/auditconfig/auditconfig.c index 444a95a7c2..f3e48f18cf 100644 --- a/usr/src/cmd/auditconfig/auditconfig.c +++ b/usr/src/cmd/auditconfig/auditconfig.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -74,7 +74,6 @@ enum commands { AC_ARG_GETCOND, AC_ARG_GETCWD, AC_ARG_GETESTATE, - AC_ARG_GETFSIZE, AC_ARG_GETKAUDIT, AC_ARG_GETKMASK, AC_ARG_GETPINFO, @@ -92,7 +91,6 @@ enum commands { AC_ARG_SETAUDIT, AC_ARG_SETAUID, AC_ARG_SETCLASS, - AC_ARG_SETFSIZE, AC_ARG_SETKAUDIT, AC_ARG_SETKMASK, AC_ARG_SETPMASK, @@ -161,7 +159,6 @@ static struct arg_entry arg_table[] = { { "-getcond", "", AC_ARG_GETCOND}, { "-getcwd", "", AC_ARG_GETCWD}, { "-getestate", "event", AC_ARG_GETESTATE}, - { "-getfsize", "", AC_ARG_GETFSIZE}, { "-getkaudit", "", AC_ARG_GETKAUDIT}, { "-getkmask", "", AC_ARG_GETKMASK}, { "-getpinfo", "pid", AC_ARG_GETPINFO}, @@ -180,7 +177,6 @@ static struct arg_entry arg_table[] = { AC_ARG_SETAUDIT}, { "-setauid", "auid [cmd]", AC_ARG_SETAUID}, { "-setclass", "event audit_flags", AC_ARG_SETCLASS}, - { "-setfsize", "filesize", AC_ARG_SETFSIZE}, { "-setkaudit", "type IP_address", AC_ARG_SETKAUDIT}, { "-setkmask", "audit_flags", AC_ARG_SETKMASK}, { "-setpmask", "pid audit_flags", AC_ARG_SETPMASK}, @@ -284,8 +280,6 @@ static void do_setqdelay(char *delay); static void do_setqhiwater(char *hiwater); static void do_setqlowater(char *lowater); static void do_setstat(void); -static void do_getfsize(void); -static void do_setfsize(char *size); static void str2mask(char *mask_str, au_mask_t *mp); static void str2tid(char *tid_str, au_tid_addr_t *tp); static void strsplit(char *s, char *p1, char *p2, char c); @@ -564,19 +558,6 @@ parse_args(char **argv) str2mask(*argv, &mask); break; - case AC_ARG_GETFSIZE: - break; - - case AC_ARG_SETFSIZE: - ++argv; - if (!*argv) - exit_usage(1); - if (!strisnum(*argv)) { - exit_error(gettext( - "Invalid hiwater specified.")); - } - break; - default: exit_error(gettext("Internal error #1.")); break; @@ -867,13 +848,6 @@ do_args(char **argv) do_setumask(auid_str, audit_flags); } break; - case AC_ARG_GETFSIZE: - do_getfsize(); - break; - case AC_ARG_SETFSIZE: - ++argv; - do_setfsize(*argv); - break; default: exit_error(gettext("Internal error #2.")); @@ -1447,21 +1421,6 @@ do_gettermid(void) */ static void -do_getfsize(void) -{ - au_fstat_t fstat; - - eauditon(A_GETFSIZE, (caddr_t)&fstat, 0); - (void) printf(gettext("Maximum file size %d, current file size %d\n"), - fstat.af_filesz, fstat.af_currsz); -} - -/* - * The returned value is for the global zone unless AUDIT_PERZONE is - * set. - */ - -static void do_lsevent(void) { register au_event_ent_t *evp; @@ -1770,20 +1729,6 @@ do_setqlowater(char *lowater) eauditon(A_SETQCTRL, (caddr_t)&qctrl, 0); } -/* - * AUDIT_PERZONE set: valid in all zones - * AUDIT_PERZONE not set: valid in global zone only - */ - -static void -do_setfsize(char *size) -{ - au_fstat_t fstat; - - fstat.af_filesz = atol(size); - eauditon(A_SETFSIZE, (caddr_t)&fstat, 0); -} - static void eauditon(int cmd, caddr_t data, int length) { diff --git a/usr/src/uts/common/c2/audit.h b/usr/src/uts/common/c2/audit.h index 05e11099ca..4ab4ad610e 100644 --- a/usr/src/uts/common/c2/audit.h +++ b/usr/src/uts/common/c2/audit.h @@ -250,8 +250,6 @@ typedef au_id_t auid_t; #define A_SETCLASS 23 /* set audit event to class mapping */ #define A_GETPINFO 24 /* get audit info for an arbitrary pid */ #define A_SETPMASK 25 /* set preselection mask for an given pid */ -#define A_SETFSIZE 26 /* set audit file size */ -#define A_GETFSIZE 27 /* get audit file size */ #define A_GETPINFO_ADDR 28 /* get audit info for an arbitrary pid */ #define A_GETKAUDIT 29 /* get kernel audit characteristics */ #define A_SETKAUDIT 30 /* set kernel audit characteristics */ @@ -435,16 +433,6 @@ struct audit_stat { }; typedef struct audit_stat au_stat_t; -/* - * Secondary stat structure for file size stuff. The stat structure was - * not combined to preserve the semantics of the 5.1 - 5.3 A_GETSTAT call - */ -struct audit_fstat { - unsigned int af_filesz; - unsigned int af_currsz; -}; -typedef struct audit_fstat au_fstat_t; - /* get kernel audit context dependent on AUDIT_PERZONE policy */ #define GET_KCTX_PZ (audit_policy & AUDIT_PERZONE) ?\ curproc->p_zone->zone_audit_kctxt :\ diff --git a/usr/src/uts/common/c2/audit_kernel.h b/usr/src/uts/common/c2/audit_kernel.h index f7d59881c2..9e145fffd0 100644 --- a/usr/src/uts/common/c2/audit_kernel.h +++ b/usr/src/uts/common/c2/audit_kernel.h @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -315,8 +315,6 @@ struct au_kcontext { struct auditinfo_addr auk_info; kmutex_t auk_eagain_mutex; /* door call retry */ kcondvar_t auk_eagain_cv; - kmutex_t auk_fstat_lock; /* audit file statistics lock */ - au_fstat_t auk_file_stat; /* file statistics */ taskq_t *auk_taskq; /* output thread */ diff --git a/usr/src/uts/common/c2/audit_syscalls.c b/usr/src/uts/common/c2/audit_syscalls.c index b503a66da6..2e930f12b3 100644 --- a/usr/src/uts/common/c2/audit_syscalls.c +++ b/usr/src/uts/common/c2/audit_syscalls.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -1822,46 +1822,6 @@ setpmask(caddr_t data) return (0); } -static int -getfsize(caddr_t data) -{ - au_fstat_t fstat; - au_kcontext_t *kctx = GET_KCTX_PZ; - - mutex_enter(&(kctx->auk_fstat_lock)); - fstat.af_filesz = kctx->auk_file_stat.af_filesz; - fstat.af_currsz = kctx->auk_file_stat.af_currsz; - mutex_exit(&(kctx->auk_fstat_lock)); - - if (copyout(&fstat, data, sizeof (au_fstat_t))) - return (EFAULT); - - return (0); -} - -static int -setfsize(caddr_t data) -{ - au_fstat_t fstat; - au_kcontext_t *kctx; - - if (!(audit_policy & AUDIT_PERZONE) && !INGLOBALZONE(curproc)) - return (EINVAL); - - kctx = GET_KCTX_NGZ; - - if (copyin(data, &fstat, sizeof (au_fstat_t))) - return (EFAULT); - - if ((fstat.af_filesz != 0) && (fstat.af_filesz < AU_MIN_FILE_SZ)) - return (EINVAL); - - mutex_enter(&(kctx->auk_fstat_lock)); - kctx->auk_file_stat.af_filesz = fstat.af_filesz; - mutex_exit(&(kctx->auk_fstat_lock)); - - return (0); -} /* * The out of control system call * This is audit kitchen sink aka auditadm, aka auditon @@ -1882,7 +1842,6 @@ auditctl( case A_GETCAR: case A_GETCLASS: case A_GETCWD: - case A_GETFSIZE: case A_GETKAUDIT: case A_GETKMASK: case A_GETPINFO: @@ -1963,12 +1922,6 @@ auditctl( case A_SETPMASK: result = setpmask(data); break; - case A_SETFSIZE: - result = setfsize(data); - break; - case A_GETFSIZE: - result = getfsize(data); - break; default: result = EINVAL; break; diff --git a/usr/src/uts/common/c2/audit_zone.c b/usr/src/uts/common/c2/audit_zone.c index 9b311d33da..dedc943f23 100644 --- a/usr/src/uts/common/c2/audit_zone.c +++ b/usr/src/uts/common/c2/audit_zone.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2008 Sun Microsystems, Inc. All rights reserved. + * Copyright 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -81,8 +81,6 @@ au_zone_init(zoneid_t zone) /* locks and cv's */ - mutex_init(&(kctx->auk_fstat_lock), NULL, MUTEX_DEFAULT, NULL); - mutex_init(&(kctx->auk_eagain_mutex), NULL, MUTEX_DEFAULT, NULL); cv_init(&(kctx->auk_eagain_cv), NULL, CV_DRIVER, NULL); @@ -128,8 +126,6 @@ au_zone_destroy(zoneid_t zone, void *arg) ASSERT(kctx->auk_auditstate == AUC_NOAUDIT); - mutex_destroy(&(kctx->auk_fstat_lock)); - mutex_destroy(&(kctx->auk_eagain_mutex)); cv_destroy(&(kctx->auk_eagain_cv)); |
