Deleted Added
full compact
audit_worker.c (159332) audit_worker.c (162380)
1/*
2 * Copyright (c) 1999-2005 Apple Computer, Inc.
3 * Copyright (c) 2006 Robert N. M. Watson
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 13 unchanged lines hidden (view full) ---

22 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 * POSSIBILITY OF SUCH DAMAGE.
29 *
1/*
2 * Copyright (c) 1999-2005 Apple Computer, Inc.
3 * Copyright (c) 2006 Robert N. M. Watson
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:

--- 13 unchanged lines hidden (view full) ---

22 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
27 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 * POSSIBILITY OF SUCH DAMAGE.
29 *
30 * $FreeBSD: head/sys/security/audit/audit_worker.c 159332 2006-06-06 08:43:27Z rwatson $
30 * $FreeBSD: head/sys/security/audit/audit_worker.c 162380 2006-09-17 17:52:57Z csjp $
31 */
32
33#include <sys/param.h>
34#include <sys/condvar.h>
35#include <sys/conf.h>
36#include <sys/file.h>
37#include <sys/filedesc.h>
38#include <sys/fcntl.h>

--- 279 unchanged lines hidden (view full) ---

318 struct au_record *bsm;
319 au_class_t class;
320 au_event_t event;
321 int error, ret;
322 au_id_t auid;
323 int sorf;
324
325 if ((ar->k_ar_commit & AR_COMMIT_USER) &&
31 */
32
33#include <sys/param.h>
34#include <sys/condvar.h>
35#include <sys/conf.h>
36#include <sys/file.h>
37#include <sys/filedesc.h>
38#include <sys/fcntl.h>

--- 279 unchanged lines hidden (view full) ---

318 struct au_record *bsm;
319 au_class_t class;
320 au_event_t event;
321 int error, ret;
322 au_id_t auid;
323 int sorf;
324
325 if ((ar->k_ar_commit & AR_COMMIT_USER) &&
326 (ar->k_ar_commit & AR_PRESELECT_TRAIL)) {
326 (ar->k_ar_commit & AR_PRESELECT_USER_TRAIL)) {
327 error = audit_record_write(audit_vp, audit_cred, audit_td,
328 ar->k_udata, ar->k_ulen);
329 if (error && audit_panic_on_write_fail)
330 panic("audit_worker: write error %d\n", error);
331 else if (error)
332 printf("audit_worker: write error %d\n", error);
333 }
327 error = audit_record_write(audit_vp, audit_cred, audit_td,
328 ar->k_udata, ar->k_ulen);
329 if (error && audit_panic_on_write_fail)
330 panic("audit_worker: write error %d\n", error);
331 else if (error)
332 printf("audit_worker: write error %d\n", error);
333 }
334
334 if ((ar->k_ar_commit & AR_COMMIT_USER) &&
335 if ((ar->k_ar_commit & AR_COMMIT_USER) &&
335 (ar->k_ar_commit & AR_PRESELECT_PIPE))
336 (ar->k_ar_commit & AR_PRESELECT_USER_PIPE))
336 audit_pipe_submit_user(ar->k_udata, ar->k_ulen);
337
337 audit_pipe_submit_user(ar->k_udata, ar->k_ulen);
338
338 if (!(ar->k_ar_commit & AR_COMMIT_KERNEL))
339 if (!(ar->k_ar_commit & AR_COMMIT_KERNEL) ||
340 ((ar->k_ar_commit & AR_PRESELECT_PIPE) == 0 &&
341 (ar->k_ar_commit & AR_PRESELECT_TRAIL) == 0))
339 return;
340
341 auid = ar->k_ar.ar_subj_auid;
342 event = ar->k_ar.ar_event;
343 class = au_event_class(event);
344 if (ar->k_ar.ar_errno == 0)
345 sorf = AU_PRS_SUCCESS;
346 else

--- 20 unchanged lines hidden (view full) ---

367 audit_td, bsm->data, bsm->len);
368 if (error && audit_panic_on_write_fail)
369 panic("audit_worker: write error %d\n",
370 error);
371 else if (error)
372 printf("audit_worker: write error %d\n",
373 error);
374 }
342 return;
343
344 auid = ar->k_ar.ar_subj_auid;
345 event = ar->k_ar.ar_event;
346 class = au_event_class(event);
347 if (ar->k_ar.ar_errno == 0)
348 sorf = AU_PRS_SUCCESS;
349 else

--- 20 unchanged lines hidden (view full) ---

370 audit_td, bsm->data, bsm->len);
371 if (error && audit_panic_on_write_fail)
372 panic("audit_worker: write error %d\n",
373 error);
374 else if (error)
375 printf("audit_worker: write error %d\n",
376 error);
377 }
378
375 if (ar->k_ar_commit & AR_PRESELECT_PIPE)
376 audit_pipe_submit(auid, event, class, sorf,
377 ar->k_ar_commit & AR_PRESELECT_TRAIL, bsm->data,
378 bsm->len);
379 kau_free(bsm);
380}
381
382/*

--- 149 unchanged lines hidden ---
379 if (ar->k_ar_commit & AR_PRESELECT_PIPE)
380 audit_pipe_submit(auid, event, class, sorf,
381 ar->k_ar_commit & AR_PRESELECT_TRAIL, bsm->data,
382 bsm->len);
383 kau_free(bsm);
384}
385
386/*

--- 149 unchanged lines hidden ---