diff -ruN samba-3.0.25c.orig/source/Makefile.in samba-3.0.25c/source/Makefile.in --- samba-3.0.25c.orig/source/Makefile.in 2007-06-19 19:11:39.000000000 +0200 +++ samba-3.0.25c/source/Makefile.in 2007-08-24 19:37:22.000000000 +0200 @@ -1437,9 +1437,9 @@ @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_EXPAND_MSDFS_OBJ) \ @SONAMEFLAG@`basename $@` -bin/afsacl.@SHLIBEXT@: $(VFS_AFSACL_OBJ:.o=.po) +bin/afsacl.@SHLIBEXT@: $(VFS_AFSACL_OBJ) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_AFSACL_OBJ:.o=.po) \ + @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_AFSACL_OBJ) \ @SONAMEFLAG@`basename $@` bin/posixacl.@SHLIBEXT@: $(VFS_POSIXACL_OBJ) diff -ruN samba-3.0.25c.orig/source/modules/vfs_afsacl.c samba-3.0.25c/source/modules/vfs_afsacl.c --- samba-3.0.25c.orig/source/modules/vfs_afsacl.c 2007-05-11 00:09:35.000000000 +0200 +++ samba-3.0.25c/source/modules/vfs_afsacl.c 2007-08-24 19:36:12.000000000 +0200 @@ -532,7 +532,7 @@ static uint32 nt_to_afs_dir_rights(const char *filename, const SEC_ACE *ace) { uint32 result = 0; - uint32 rights = ace->info.mask; + uint32 rights = ace->access_mask; uint8 flags = ace->flags; struct static_dir_ace_mapping *m; @@ -540,12 +540,12 @@ for (m = &ace_mappings[0]; m->afs_rights != 9999; m++) { if ( (ace->type == m->type) && (ace->flags == m->flags) && - (ace->info.mask == m->mask) ) + (ace->access_mask == m->mask) ) return m->afs_rights; } DEBUG(1, ("AFSACL FALLBACK: 0x%X 0x%X 0x%X %s %X\n", - ace->type, ace->flags, ace->info.mask, filename, rights)); + ace->type, ace->flags, ace->access_mask, filename, rights)); if (rights & (GENERIC_ALL_ACCESS|WRITE_DAC_ACCESS)) { result |= PRSFS_READ | PRSFS_WRITE | PRSFS_INSERT | @@ -573,7 +573,7 @@ static uint32 nt_to_afs_file_rights(const char *filename, const SEC_ACE *ace) { uint32 result = 0; - uint32 rights = ace->info.mask; + uint32 rights = ace->access_mask; if (rights & (GENERIC_READ_ACCESS|FILE_READ_DATA)) { result |= PRSFS_READ; @@ -589,7 +589,7 @@ static size_t afs_to_nt_acl(struct afs_acl *afs_acl, struct files_struct *fsp, uint32 security_info, - struct security_descriptor **ppdesc) + SEC_DESC **ppdesc) { SEC_ACE *nt_ace_list; DOM_SID owner_sid, group_sid; @@ -695,7 +695,7 @@ static BOOL nt_to_afs_acl(const char *filename, uint32 security_info_sent, - struct security_descriptor *psd, + SEC_DESC *psd, uint32 (*nt_to_afs_rights)(const char *filename, const SEC_ACE *ace), struct afs_acl *afs_acl) @@ -715,7 +715,7 @@ dacl = psd->dacl; for (i = 0; i < dacl->num_aces; i++) { - SEC_ACE *ace = &(dacl->ace[i]); + SEC_ACE *ace = &(dacl->aces[i]); const char *dom_name, *name; enum lsa_SidType name_type; char *p; @@ -831,7 +831,7 @@ } static size_t afs_get_nt_acl(struct files_struct *fsp, uint32 security_info, - struct security_descriptor **ppdesc) + SEC_DESC **ppdesc) { struct afs_acl acl; size_t sd_size; @@ -885,7 +885,7 @@ static BOOL afs_set_nt_acl(vfs_handle_struct *handle, files_struct *fsp, uint32 security_info_sent, - struct security_descriptor *psd) + SEC_DESC *psd) { struct afs_acl old_afs_acl, new_afs_acl; struct afs_acl dir_acl, file_acl; @@ -986,14 +986,14 @@ static size_t afsacl_fget_nt_acl(struct vfs_handle_struct *handle, struct files_struct *fsp, int fd, uint32 security_info, - struct security_descriptor **ppdesc) + SEC_DESC **ppdesc) { return afs_get_nt_acl(fsp, security_info, ppdesc); } static size_t afsacl_get_nt_acl(struct vfs_handle_struct *handle, struct files_struct *fsp, const char *name, uint32 security_info, - struct security_descriptor **ppdesc) + SEC_DESC **ppdesc) { return afs_get_nt_acl(fsp, security_info, ppdesc); }