diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-05-23 00:07:12 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-05-23 00:07:12 +1000 |
commit | ec7a6ee8ab25f4550a68b286d9eba32b955a73a1 (patch) | |
tree | dba67687708bbb9f13d171df9193b28adf796429 /source4/ntvfs | |
parent | 8fc9c71a06c49bd449b754405e0c937681f07f50 (diff) | |
download | samba-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')
-rw-r--r-- | source4/ntvfs/posix/pvfs_fileinfo.c | 5 | ||||
-rw-r--r-- | source4/ntvfs/posix/pvfs_qfileinfo.c | 4 |
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 */ |