Add level 261 to search. Found using Samba4 tester.
authorJeremy Allison <jra@samba.org>
Mon, 18 Aug 2003 21:38:33 +0000 (21:38 +0000)
committerJeremy Allison <jra@samba.org>
Mon, 18 Aug 2003 21:38:33 +0000 (21:38 +0000)
Jeremy.
(This used to be commit 4ee99d1c412ecc77541c988f6795ae3cb89907b8)

source3/include/trans2.h
source3/smbd/trans2.c

index eb5b1bc79f9273e3299242a98baaac734f309986..168e6477210db65c64c005469488e81aaf745d1e 100644 (file)
@@ -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
index f56d2dff2206352634bd1f153dd37df01e473a96..56c9de2b14e502c67a8418ef47bd8e36b54fea5a 100644 (file)
@@ -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())