diff options
author | Andrew Tridgell <tridge@samba.org> | 2008-05-22 14:49:21 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2008-05-22 14:49:21 +1000 |
commit | dec930448f957aca7e70e975221a2ac060819b2e (patch) | |
tree | a6084ea1214bc480a5be3632a0efc76451f4159e /source4 | |
parent | 8f599b3781dac43c47b064d9bafc89e389b7c0db (diff) | |
download | samba-dec930448f957aca7e70e975221a2ac060819b2e.tar.gz samba-dec930448f957aca7e70e975221a2ac060819b2e.tar.xz samba-dec930448f957aca7e70e975221a2ac060819b2e.zip |
fixed parsing of the SMB2 ALL_INFO qfileinfo level
(This used to be commit a7be5ba22e0cf2c61501f5a05e64673f31ba145c)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/libcli/raw/interfaces.h | 3 | ||||
-rw-r--r-- | source4/libcli/raw/rawfileinfo.c | 3 | ||||
-rw-r--r-- | source4/smb_server/blob.c | 3 |
3 files changed, 6 insertions, 3 deletions
diff --git a/source4/libcli/raw/interfaces.h b/source4/libcli/raw/interfaces.h index 3370021d48e..bae0e67b02e 100644 --- a/source4/libcli/raw/interfaces.h +++ b/source4/libcli/raw/interfaces.h @@ -684,7 +684,8 @@ union smb_fileinfo { uint32_t ea_size; uint32_t access_mask; uint64_t position; - uint64_t mode; + uint32_t mode; + uint32_t alignment_requirement; struct smb_wire_string fname; } out; } all_info2; diff --git a/source4/libcli/raw/rawfileinfo.c b/source4/libcli/raw/rawfileinfo.c index 71900be49cd..0ea5a93606d 100644 --- a/source4/libcli/raw/rawfileinfo.c +++ b/source4/libcli/raw/rawfileinfo.c @@ -243,7 +243,8 @@ NTSTATUS smb_raw_fileinfo_passthru_parse(const DATA_BLOB *blob, TALLOC_CTX *mem_ parms->all_info2.out.ea_size = IVAL(blob->data, 0x48); parms->all_info2.out.access_mask = IVAL(blob->data, 0x4C); parms->all_info2.out.position = BVAL(blob->data, 0x50); - parms->all_info2.out.mode = BVAL(blob->data, 0x58); + parms->all_info2.out.mode = IVAL(blob->data, 0x58); + parms->all_info2.out.alignment_requirement = IVAL(blob->data, 0x5C); smbcli_blob_pull_string(NULL, mem_ctx, blob, &parms->all_info2.out.fname, 0x60, 0x64, STR_UNICODE); return NT_STATUS_OK; diff --git a/source4/smb_server/blob.c b/source4/smb_server/blob.c index 8834c4483c1..65cdd2aea64 100644 --- a/source4/smb_server/blob.c +++ b/source4/smb_server/blob.c @@ -503,7 +503,8 @@ NTSTATUS smbsrv_push_passthru_fileinfo(TALLOC_CTX *mem_ctx, SIVAL(blob->data, 0x48, st->all_info2.out.ea_size); SIVAL(blob->data, 0x4C, st->all_info2.out.access_mask); SBVAL(blob->data, 0x50, st->all_info2.out.position); - SBVAL(blob->data, 0x58, st->all_info2.out.mode); + SIVAL(blob->data, 0x58, st->all_info2.out.mode); + SIVAL(blob->data, 0x5C, st->all_info2.out.alignment_requirement); BLOB_CHECK(smbsrv_blob_append_string(mem_ctx, blob, st->all_info2.out.fname.s, 0x60, default_str_flags, |