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 | |
| 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)
| -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())  | 
