diff options
-rw-r--r-- | source3/include/trans2.h | 1 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 12 |
2 files changed, 10 insertions, 3 deletions
diff --git a/source3/include/trans2.h b/source3/include/trans2.h index 2ccf83478b..eb5b1bc79f 100644 --- a/source3/include/trans2.h +++ b/source3/include/trans2.h @@ -224,6 +224,7 @@ Byte offset Type name description #define SMB_QUERY_FILE_ALL_INFO 0x107 #define SMB_QUERY_FILE_ALT_NAME_INFO 0x108 #define SMB_QUERY_FILE_STREAM_INFO 0x109 +#define SMB_QUERY_COMPRESSION_INFO 0x10b #define SMB_FIND_FILE_DIRECTORY_INFO 0x101 #define SMB_FIND_FILE_FULL_DIRECTORY_INFO 0x102 diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index a911bb5dde..8364c4b509 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1932,6 +1932,14 @@ static int call_trans2qfilepathinfo(connection_struct *conn, SIVAL(pdata,l1_attrFile+2,4); /* this is what OS2 does */ break; + case SMB_INFO_IS_NAME_VALID: + if (tran_call == TRANSACT2_QFILEINFO) { + /* os/2 needs this ? really ?*/ + return ERROR_DOS(ERRDOS,ERRbadfunc); + } + data_size = 0; + break; + case SMB_INFO_QUERY_EAS_FROM_LIST: data_size = 24; put_dos_date2(pdata,0,c_time); @@ -1947,9 +1955,6 @@ static int call_trans2qfilepathinfo(connection_struct *conn, SIVAL(pdata,0,data_size); break; - case 6: - return ERROR_DOS(ERRDOS,ERRbadfunc); /* os/2 needs this */ - case SMB_FILE_BASIC_INFORMATION: case SMB_QUERY_FILE_BASIC_INFO: @@ -2121,6 +2126,7 @@ static int call_trans2qfilepathinfo(connection_struct *conn, } break; + case SMB_QUERY_COMPRESSION_INFO: case SMB_FILE_COMPRESSION_INFORMATION: SOFF_T(pdata,0,file_size); SIVAL(pdata,8,0); /* ??? */ |