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 --- |