[PATCH v3 0/6] cifs-utils: plugin interface for name/SID/UID/GID mapping

Jeff Layton jlayton at samba.org
Wed Jan 2 04:32:21 MST 2013


On Thu, 20 Dec 2012 07:50:27 -0500
Jeff Layton <jlayton at samba.org> wrote:

> This is the third official posting of this patchset.
> 
> The main change since the last set is that the sid_to_id and id_to_sid
> calls have been changed to allow the mapping of multiple SIDs or IDs at
> once. The existing tools only need to map one at a time, but this
> anticipates the eventual need to map multiple IDs efficiently if and
> when RichACL support is merged into the kernel.
> 
> Also with this redesign, we can now handle IDMAP_BOTH properly as Metze
> suggested. The plugin API now passes back a type and the caller can
> decide how to handle the result.
> 
> Note that while working on this last iteration, it's become clear to me
> that the ACL handling code in the kernel is mis-designed in how it
> handles ownership. It's possible for files to be owned by groups under
> windows, and in that case the primary group owner may not be filled out.
> The kernel does not account for this possibility.
> 
> Fixing that will take a fundamental redesign, probably including a new
> upcall. I think this patchset represents the best we can do short of
> that.
> 
> Jeff Layton (6):
>   cifs-utils: struct cifs_sid definition to new cifsidmap.h header
>   cifs-utils: new plugin architecture for ID mapping code
>   cifs-utils: convert setcifsacl to use the plugin interface
>   cifs-utils: add autoconf test for WBC_ID_TYPE_BOTH
>   cifs-utils: convert cifs.idmap to use plugin interface
>   cifs-utils: add a manpage for idmapwb
> 
>  Makefile.am      |  45 +++++++--
>  aclocal/idmap.m4 |  15 +++
>  cifs.idmap.8.in  |  22 ++--
>  cifs.idmap.c     | 161 ++++++++++++++---------------
>  cifsacl.h        |  12 +--
>  cifsidmap.h      | 168 +++++++++++++++++++++++++++++++
>  configure.ac     |  13 +++
>  getcifsacl.1     |  58 -----------
>  getcifsacl.1.in  |  59 +++++++++++
>  getcifsacl.c     |  98 ++++++++----------
>  idmap_plugin.c   | 150 +++++++++++++++++++++++++++
>  idmap_plugin.h   |  57 +++++++++++
>  idmapwb.8.in     | 148 +++++++++++++++++++++++++++
>  idmapwb.c        | 301 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
>  idmapwb.pod      |  26 +++++
>  setcifsacl.1     | 111 --------------------
>  setcifsacl.1.in  | 113 +++++++++++++++++++++
>  setcifsacl.c     |  70 +++----------
>  18 files changed, 1231 insertions(+), 396 deletions(-)
>  create mode 100644 cifsidmap.h
>  delete mode 100644 getcifsacl.1
>  create mode 100644 getcifsacl.1.in
>  create mode 100644 idmap_plugin.c
>  create mode 100644 idmap_plugin.h
>  create mode 100644 idmapwb.8.in
>  create mode 100644 idmapwb.c
>  create mode 100644 idmapwb.pod
>  delete mode 100644 setcifsacl.1
>  create mode 100644 setcifsacl.1.in
> 

This set has now been merged.

I'll probably cut a new release within the next few days, so if you
have cifs-utils patches it might be a good idea to go ahead and post
them.

-- 
Jeff Layton <jlayton at samba.org>


More information about the samba-technical mailing list