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>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/auditreduce/token.c
          +++ new/usr/src/cmd/auditreduce/token.c
↓ open down ↓ 13 lines elided ↑ open up ↑
  14   14   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
       24 + *
  24   25   * Copyright 2012 Milan Jurik. All rights reserved.
       26 + * Copyright 2018 Nexenta Systems, Inc.  All rights reserved.
  25   27   */
  26   28  
  27   29  
  28   30  /*
  29   31   * Token processing for auditreduce.
  30   32   */
  31   33  
  32   34  #include <locale.h>
  33   35  #include <sys/zone.h>
  34   36  #include "auditr.h"
↓ open down ↓ 1972 lines elided ↑ open up ↑
2007 2009  /* ARGSUSED */
2008 2010  int
2009 2011  useofpriv_token(adr_t *adr)
2010 2012  {
2011 2013          char    flag;
2012 2014  
2013 2015          adrm_char(adr, &flag, 1);
2014 2016          skip_string(adr);
2015 2017          return (-1);
2016 2018  }
     2019 +
     2020 +/*
     2021 + * Format of access_mask token:
     2022 + *      access_mask             adr_u_int32
     2023 + */
     2024 +int
     2025 +access_mask_token(adr_t *adr)
     2026 +{
     2027 +        uint32_t access;
     2028 +
     2029 +        adrm_u_int32(adr, &access, 1);
     2030 +        return (-1);
     2031 +}
     2032 +
     2033 +/*
     2034 + * Format of wsid token:
     2035 + *      wsid                    adr_string
     2036 + */
     2037 +int
     2038 +wsid_token(adr_t *adr)
     2039 +{
     2040 +        if ((flags & M_OBJECT) != 0 && (obj_flag == OBJ_WSID)) {
     2041 +                char *sid;
     2042 +
     2043 +                get_string(adr, &sid);
     2044 +                if (strncmp(wsid, sid, 256) == 0) /* SMB_SID_STRSZ */
     2045 +                        checkflags |= M_OBJECT;
     2046 +                free(sid);
     2047 +        } else {
     2048 +                skip_string(adr);
     2049 +        }
     2050 +        return (-1);
     2051 +}
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX