[Pkg-samba-maint] vfs_zfsacl module on Debian

Mathieu Parent math.parent at gmail.com
Sat Apr 17 17:52:36 BST 2021


Le ven. 16 avr. 2021 à 18:04, Fred Donck <fred at procolix.com> a écrit :
>
> To whom this may concern,
>
> I am looking for information on how to get the above module to work on
> Debian Bulls Eye.
>
> I am trying to get a (ZFS) client on Windows to be able to hand out
> privileges from Windows. As far as I can tell the module to cater for
> this is the one mentioned in the subject.
>
> I have noticed that this module is by default not part of the
> distribution. I have some questions about this.
>
> - Is this intentionally?

libzfslinux-dev is in contrib, and samba can't depend on it.

> - Will there be support in the near future?
> - Trying to solve my problem, made me run into compilation-errors
>    because it does not seem to compile.
>
> A simple change in the rules file:
>
> :~/work/samba-4.13.5+dfsg/debian$ diff -c rules-20210319FD rules
> *** rules-20210319FD    2021-02-09 21:00:30.000000000 +0100
> --- rules       2021-04-14 10:06:21.326931259 +0200
> ***************
> *** 5,10 ****
> --- 5,11 ----
>
>    export DEB_BUILD_MAINT_OPTIONS = hardening=+all
>    export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
> +
>    DPKG_EXPORT_BUILDFLAGS = 1
>    include /usr/share/dpkg/buildflags.mk
>    include /usr/share/dpkg/pkg-info.mk
> ***************
> *** 50,56 ****
>                  --with-utmp \
>                  --with-winbind \
>                  --with-quota \
> !
> --with-shared-modules=idmap_rid,idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_tdb2,vfs_dfs_samba4,auth_samba4,vfs_nfs4acl_xattr
> \
>                  --with-automount \
>                  --with-ldap \
>                  --with-ads \
> --- 51,57 ----
>                  --with-utmp \
>                  --with-winbind \
>                  --with-quota \
> !
> --with-shared-modules=idmap_rid,idmap_ad,idmap_adex,idmap_hash,idmap_ldap,idmap_tdb2,vfs_dfs_samba4,auth_samba4,vfs_nfs4acl_xattr,vfs_zfsacl
> \
>                  --with-automount \
>                  --with-ldap \
>                  --with-ads \
> :~/work/samba-4.13.5+dfsg/debian$
>
>
> :~/work/samba-4.13.5+dfsg/debian$ dpkg-buildpackage -us -uc
>
> This fails.
>
> ../../source3/modules/vfs_zfsacl.c:54:17: error: unknown type name ‘ace_t’
>     54 |           const ace_t *acebuf,
>        |                 ^~~~~
> ../../source3/modules/vfs_zfsacl.c: In function ‘zfs_get_nt_acl_common’:
> ../../source3/modules/vfs_zfsacl.c:93:42: error: request for member
> ‘a_type’ in something not a structure or union
>     93 |   aceprop.aceType  = (uint32_t) acebuf[i].a_type;
>        |                                          ^
> ../../source3/modules/vfs_zfsacl.c:94:42: error: request for member
> ‘a_flags’ in something not a structure or union
>     94 |   aceprop.aceFlags = (uint32_t) acebuf[i].a_flags;
>        |                                          ^
> ../../source3/modules/vfs_zfsacl.c:95:42: error: request for member
> ‘a_access_mask’ in something not a structure or union
>     95 |   aceprop.aceMask  = (uint32_t) acebuf[i].a_access_mask;
>        |                                          ^
> ../../source3/modules/vfs_zfsacl.c:96:42: error: request for member
> ‘a_who’ in something not a structure or union
>     96 |   aceprop.who.id   = (uint32_t) acebuf[i].a_who;
>        |                                          ^
> ../../source3/modules/vfs_zfsacl.c:100:27: error: ‘ACE_EVERYONE’
> undeclared (first use in this function)
>    100 |       (aceprop.aceFlags & ACE_EVERYONE) &&
>        |                           ^~~~~~~~~~~~
> ../../source3/modules/vfs_zfsacl.c:100:27: note: each undeclared
> identifier is reported only once for each function it appears in
> ../../source3/modules/vfs_zfsacl.c:101:27: error: ‘ACE_INHERITED_ACE’
> undeclared (first use in this function); did you mean
> ‘SMB_ACE4_INHERITED_ACE’?
>    101 |       (aceprop.aceFlags & ACE_INHERITED_ACE))
>        |                           ^~~~~~~~~~~~~~~~~
>        |                           SMB_ACE4_INHERITED_ACE
> ../../source3/modules/vfs_zfsacl.c:114:22: error: request for member
> ‘a_flags’ in something not a structure or union
>    114 |   special = acebuf[i].a_flags & (ACE_OWNER|ACE_GROUP|ACE_EVERYONE);
>        |                      ^
> ../../source3/modules/vfs_zfsacl.c:114:34: error: ‘ACE_OWNER’ undeclared
> (first use in this function); did you mean ‘ACL_OTHER’?
>    114 |   special = acebuf[i].a_flags & (ACE_OWNER|ACE_GROUP|ACE_EVERYONE);
>        |                                  ^~~~~~~~~
>        |                                  ACL_OTHER
> ../../source3/modules/vfs_zfsacl.c:114:44: error: ‘ACE_GROUP’ undeclared
> (first use in this function); did you mean ‘ACL_GROUP’?
>    114 |   special = acebuf[i].a_flags & (ACE_OWNER|ACE_GROUP|ACE_EVERYONE);
>        |                                            ^~~~~~~~~
>        |                                            ACL_GROUP
>
>
>
> ace_t is defined in /usr/include/libspl/sys/acl.h.
>
> Is there a way to get this fixed?

Maybe add libzfslinux-dev to Build-depends (in debian/control)?


> Thanks for any hint.
>
> Best regards
> --
>
> fred donck
>
> _______________________________________________
> Pkg-samba-maint mailing list
> Pkg-samba-maint at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-samba-maint


Regards
-- 
Mathieu Parent



More information about the Pkg-samba-maint mailing list