Print this page
NEX-15035 Allow user ACE in ACL to match SID in token extra SIDs
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
NEX-15035 Allow user ACE in ACL to match SID in token extra SIDs
Reviewed by: Roman Strashkin <roman.strashkin@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/fs/zfs/sys/zfs_fuid.h
          +++ new/usr/src/uts/common/fs/zfs/sys/zfs_fuid.h
↓ 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 + *
       25 + * Copyright 2017 Nexenta Systems, Inc.  All rights reserved.
  24   26   */
  25   27  
  26   28  #ifndef _SYS_FS_ZFS_FUID_H
  27   29  #define _SYS_FS_ZFS_FUID_H
  28   30  
  29   31  #ifdef _KERNEL
  30   32  #include <sys/kidmap.h>
  31   33  #include <sys/sid.h>
  32   34  #include <sys/dmu.h>
  33   35  #include <sys/zfs_vfsops.h>
↓ open down ↓ 70 lines elided ↑ open up ↑
 104  106      uint64_t, uint64_t, zfs_fuid_type_t);
 105  107  extern void zfs_fuid_destroy(zfsvfs_t *);
 106  108  extern uint64_t zfs_fuid_create_cred(zfsvfs_t *, zfs_fuid_type_t,
 107  109      cred_t *, zfs_fuid_info_t **);
 108  110  extern uint64_t zfs_fuid_create(zfsvfs_t *, uint64_t, cred_t *, zfs_fuid_type_t,
 109  111      zfs_fuid_info_t **);
 110  112  extern void zfs_fuid_map_ids(struct znode *zp, cred_t *cr,
 111  113      uid_t *uid, uid_t *gid);
 112  114  extern zfs_fuid_info_t *zfs_fuid_info_alloc(void);
 113  115  extern void zfs_fuid_info_free(zfs_fuid_info_t *);
      116 +extern boolean_t zfs_user_in_cred(zfsvfs_t *, uint64_t, cred_t *);
 114  117  extern boolean_t zfs_groupmember(zfsvfs_t *, uint64_t, cred_t *);
 115  118  void zfs_fuid_sync(zfsvfs_t *, dmu_tx_t *);
 116  119  extern int zfs_fuid_find_by_domain(zfsvfs_t *, const char *domain,
 117  120      char **retdomain, boolean_t addok);
 118  121  extern const char *zfs_fuid_find_by_idx(zfsvfs_t *zfsvfs, uint32_t idx);
 119  122  extern void zfs_fuid_txhold(zfsvfs_t *zfsvfs, dmu_tx_t *tx);
 120  123  #endif
 121  124  
 122  125  char *zfs_fuid_idx_domain(avl_tree_t *, uint32_t);
 123  126  void zfs_fuid_avl_tree_create(avl_tree_t *, avl_tree_t *);
 124  127  uint64_t zfs_fuid_table_load(objset_t *, uint64_t, avl_tree_t *, avl_tree_t *);
 125  128  void zfs_fuid_table_destroy(avl_tree_t *, avl_tree_t *);
 126  129  
 127  130  #ifdef  __cplusplus
 128  131  }
 129  132  #endif
 130  133  
 131  134  #endif  /* _SYS_FS_ZFS_FUID_H */
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX