I am sponsoring the following fast-track for myself.  This case
introduces a new feature into ZFS to support Access Based Enumeration
within our SMB server.  Requested binding is patch/micro.

Template Version: @(#)sac_nextcase 1.68 02/23/09 SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         ZFS support for Access Based Enumeration
    1.2. Name of Document Author/Supplier:
         Author:  Timothy Haley
    1.3  Date of This Document:
        20 April, 2009
4. Technical Description

OVERVIEW

        Windows file servers support a feature called Access Based
        Enumeration (ABE), which, when enabled, filters the response
        to readdir requests such that the consumer only sees files and
        directories (folders) to which the consumer has access.  ABE
        support has been requested in RFE 6802734 to support Windows
        interoperability.  Access is defined as having any of the
        permissions assignable via chmod(1M) and described in acl(5).
        There are currently 14 such permissions[1].

        The filtering only applies to data returned by the file system's
        VOP_READDIR() function.  If the entity defined by the cred_t
        lacks access to a directory entry, that entry is omitted from
        the returned dirent data.  A caller to the VOP requests ABE
        filtering by bitwise OR-ing V_RDDIR_ACCFILTER into the flags
        passed to VOP_READDIR().

        A new VFS feature flag (see PSARC 2007/227) VFSFT_ACCESS_FILTER
        will be added to support ABE, which is set by a file system to
        indicate that it implements access based filtering.  A file
        system that does not implement the feature may still receive the
        V_RDDIR_ACCFILTER flag in a call to its VOP_READDIR() and should
        ignore it.

        Note: While it is possible for consumers of VOP_READDIR() to
        perform an access check on each directory entry it is significantly
        more efficient to implement this feature within the file system.

        ABE feature support is also testable using pathconf(2) with a name
        argument of _PC_ACCESS_FILTERING.  If the path or file descriptor
        refers to a directory within a file system that supports
        VFSFT_ACCESS_FILTER, a non-zero value is returned, otherwise zero
        is returned.

        [1] The currently defined permissions are
        read_data/list_directory, write_data/add_file,
        append_data/add_subdirectory, read_xattr, write_xattr,
        execute, read_attributes, write_attributes,
        delete,delete_child, read_acl, write_acl, write_owner, and
        synchronize.

PROPOSED MAN PAGE CHANGES

*** pathconf_2.rogi     Mon Mar 16 16:25:45 2009
--- pathconf_2  Mon Mar 16 13:54:29 2009
***************
*** 64,69 ****
--- 64,71 ----
      |___________________________|________________________|______________|
      | {XATTR_EXISTS}            |  _PC_XATTR_EXISTS      |  1           |
      |___________________________|________________________|______________|
+     | {ACCESS_FILTERING}        |  _PC_ACCESS_FILTERING  |  12          |
+     |___________________________|________________________|______________|
      | _POSIX_CHOWN_RESTRICTED   |  _PC_CHOWN_RESTRICTED  |  7           |
      |___________________________|________________________|______________|
      | _POSIX_NO_TRUNC           |  _PC_NO_TRUNC          |  3, 4        |
***************
*** 145,150 ****
--- 147,157 ----
                not specify the minimum hole size but still reports
                holes.
  
+          12.  If path or fildes refers to a directory, and the file
+               system in which the directory resides supports access
+               filtering, a non-zero value is returned.  Otherwise, 0
+               is returned.
+ 
  RETURN VALUES
       If name is an invalid value, both pathconf() and fpathconf()
       return -1 and errno is set to indicate the error.

6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                ON
    6.5. ARC review type: FastTrack
    6.6. ARC Exposure: open


Reply via email to