[Pkg-samba-maint] vfs_zfsacl module on Debian
    Fred Donck 
    fred at procolix.com
       
    Wed Apr 14 09:23:10 BST 2021
    
    
  
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?
- 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?
Thanks for any hint.
Best regards
--
fred donck
    
    
More information about the Pkg-samba-maint
mailing list