summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/trans2.h1
-rw-r--r--source3/smbd/trans2.c12
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); /* ??? */