diff options
author | Jeremy Allison <jra@samba.org> | 2003-08-18 21:38:33 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2003-08-18 21:38:33 +0000 |
commit | fdf78a499750a439701068c7a11a65482af2103c (patch) | |
tree | 0753bc03756e18dbb4210e8c669d6bb942d4b244 /source3 | |
parent | 292a1e2d965361ac0522c143521e7515224cf643 (diff) | |
download | samba-fdf78a499750a439701068c7a11a65482af2103c.tar.gz samba-fdf78a499750a439701068c7a11a65482af2103c.tar.bz2 samba-fdf78a499750a439701068c7a11a65482af2103c.zip |
Add level 261 to search. Found using Samba4 tester.
Jeremy.
(This used to be commit 4ee99d1c412ecc77541c988f6795ae3cb89907b8)
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/trans2.h | 2 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 22 |
2 files changed, 24 insertions, 0 deletions
diff --git a/source3/include/trans2.h b/source3/include/trans2.h index eb5b1bc79f..168e647721 100644 --- a/source3/include/trans2.h +++ b/source3/include/trans2.h @@ -230,6 +230,8 @@ Byte offset Type name description #define SMB_FIND_FILE_FULL_DIRECTORY_INFO 0x102 #define SMB_FIND_FILE_NAMES_INFO 0x103 #define SMB_FIND_FILE_BOTH_DIRECTORY_INFO 0x104 +#define SMB_FIND_FILE_LEVEL_261 0x105 +#define SMB_FIND_FILE_LEVEL_262 0x106 #define SMB_SET_FILE_BASIC_INFO 0x101 #define SMB_SET_FILE_DISPOSITION_INFO 0x102 diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index f56d2dff22..56c9de2b14 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -761,6 +761,27 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, p = pdata + len; break; + case SMB_FIND_FILE_LEVEL_261: + p += 4; + SIVAL(p,0,reskey); p += 4; + put_long_date(p,cdate); p += 8; + put_long_date(p,adate); p += 8; + put_long_date(p,mdate); p += 8; + put_long_date(p,mdate); p += 8; + SOFF_T(p,0,file_size); + SOFF_T(p,8,allocation_size); + p += 16; + SIVAL(p,0,nt_extmode); + p += 4; + len = srvstr_push(outbuf, p + 20, fname, -1, STR_TERMINATE_ASCII); + SIVAL(p, 0, len); + p += 20 + len; /* Strlen, EA size. Unknown 0 1 2, string itself */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); + p = pdata + len; + break; + /* CIFS UNIX Extension. */ case SMB_FIND_FILE_UNIX: @@ -893,6 +914,7 @@ close_if_end = %d requires_resume_key = %d level = %d, max_data_bytes = %d\n", case SMB_FIND_FILE_FULL_DIRECTORY_INFO: case SMB_FIND_FILE_NAMES_INFO: case SMB_FIND_FILE_BOTH_DIRECTORY_INFO: + case SMB_FIND_FILE_LEVEL_261: break; case SMB_FIND_FILE_UNIX: if (!lp_unix_extensions()) |