summaryrefslogtreecommitdiff
path: root/source4/ntvfs/posix
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2008-05-23 00:07:12 +1000
committerAndrew Tridgell <tridge@samba.org>2008-05-23 00:07:12 +1000
commitec7a6ee8ab25f4550a68b286d9eba32b955a73a1 (patch)
treedba67687708bbb9f13d171df9193b28adf796429 /source4/ntvfs/posix
parent8fc9c71a06c49bd449b754405e0c937681f07f50 (diff)
downloadsamba-ec7a6ee8ab25f4550a68b286d9eba32b955a73a1.tar.gz
samba-ec7a6ee8ab25f4550a68b286d9eba32b955a73a1.tar.bz2
samba-ec7a6ee8ab25f4550a68b286d9eba32b955a73a1.zip
fix make test for EAs again
- go back to 4 byte alignment until I work out the rules that Vista wants more exactly - add the zero sized EA handling for SMB2 more generically (This used to be commit 326b69bc8064cbea357864cecd6bd27b50c57184)
Diffstat (limited to 'source4/ntvfs/posix')
-rw-r--r--source4/ntvfs/posix/pvfs_fileinfo.c5
-rw-r--r--source4/ntvfs/posix/pvfs_qfileinfo.c4
2 files changed, 5 insertions, 4 deletions
diff --git a/source4/ntvfs/posix/pvfs_fileinfo.c b/source4/ntvfs/posix/pvfs_fileinfo.c
index 4c383ed45d..e35f42e955 100644
--- a/source4/ntvfs/posix/pvfs_fileinfo.c
+++ b/source4/ntvfs/posix/pvfs_fileinfo.c
@@ -75,6 +75,11 @@ NTSTATUS pvfs_fill_dos_info(struct pvfs_state *pvfs, struct pvfs_filename *name,
name->dos.alloc_size = pvfs_round_alloc_size(pvfs, name->st.st_size);
name->dos.nlink = name->st.st_nlink;
name->dos.ea_size = 4;
+ if (pvfs->ntvfs->ctx->protocol == PROTOCOL_SMB2) {
+ /* SMB2 represents a null EA with zero bytes */
+ name->dos.ea_size = 0;
+ }
+
name->dos.file_id = (((uint64_t)name->st.st_dev)<<32) | name->st.st_ino;
name->dos.flags = 0;
diff --git a/source4/ntvfs/posix/pvfs_qfileinfo.c b/source4/ntvfs/posix/pvfs_qfileinfo.c
index 102660a0bf..6e3092b744 100644
--- a/source4/ntvfs/posix/pvfs_qfileinfo.c
+++ b/source4/ntvfs/posix/pvfs_qfileinfo.c
@@ -298,10 +298,6 @@ static NTSTATUS pvfs_map_fileinfo(struct pvfs_state *pvfs,
(name->dos.attrib & FILE_ATTRIBUTE_DIRECTORY)? 1 : 0;
info->all_info2.out.file_id = name->dos.file_id;
info->all_info2.out.ea_size = name->dos.ea_size;
- if (info->all_info2.out.ea_size == 4) {
- /* SMB2 uses zero for a empty EA set */
- info->all_info2.out.ea_size = 0;
- }
info->all_info2.out.access_mask = 0; /* only set by qfileinfo */
info->all_info2.out.position = 0; /* only set by qfileinfo */
info->all_info2.out.mode = 0; /* only set by qfileinfo */