Print this page
NEX-13644 File access audit logging
Reviewed by: Gordon Ross <gordon.ross@nexenta.com>
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Saso Kiselkov <saso.kiselkov@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>

*** 19,28 **** --- 19,30 ---- * CDDL HEADER END */ /* * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. + * + * Copyright 2018 Nexenta Systems, Inc. All rights reserved. */ /* * Main processor for auditreduce. * Mproc() is the entry point for this module. It is the only visible
*** 805,819 **** /* Are we finished? */ if (flags == checkflags) return (0); } /* ! * So, we haven't seen all that we need to see. Reject record. */ ! return (-1); } /* * .func check_order - Check temporal sequence. --- 807,831 ---- /* Are we finished? */ if (flags == checkflags) return (0); } + /* let PAD_FAILURE satisfy success/failure selection */ + if ((flags & M_SORF) != 0 && (checkflags & M_SORF) == 0 && + (((global_class & mask.am_success) != 0 && + (id_modifier & PAD_FAILURE) == 0) || + ((global_class & mask.am_failure) != 0 && + (id_modifier & PAD_FAILURE) != 0))) { + checkflags |= M_SORF; + } + + /* ! * If we haven't seen all that we need to see, reject the record. */ ! return ((checkflags == flags) ? 0 : -1); } /* * .func check_order - Check temporal sequence.