summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/aparser/cifs.struct28
1 files changed, 23 insertions, 5 deletions
diff --git a/source3/aparser/cifs.struct b/source3/aparser/cifs.struct
index 554bb82a99..7274ce60f6 100644
--- a/source3/aparser/cifs.struct
+++ b/source3/aparser/cifs.struct
@@ -724,8 +724,7 @@ typedef struct _R_TRANS {
}
} R_TRANS;
-typedef struct _Q_NT_CREATE_ANDX{
- uint8 wcount;
+typedef struct _Q_NT_CREATE_ANDX_24 {
ANDX_INFO andx;
uint8 reserved;
uint16 name_len;
@@ -736,20 +735,29 @@ typedef struct _Q_NT_CREATE_ANDX{
ULONG attribs;
ULONG sharing;
ULONG creat_disp;
+ ULONG creat_options;
ULONG impersonation;
uint8 sec_flags;
uint16 count;
uint8 name[name_len];
-} Q_NT_CREATE_ANDX;
+} Q_NTCREATE_ANDX_24;
-typedef struct {
+typedef struct _Q_NTCREATE_ANDX{
uint8 wcount;
+ union ctr[wcount] {
+ case 24 Q_NTCREATE_ANDX_24 q24;
+ }
+} Q_NTCREATE_ANDX;
+
+typedef struct {
+ ANDX_INFO andx;
uint8 oplock_level;
uint16 fid;
ULONG action;
TIME create_time;
+ TIME access_time;
TIME write_time;
TIME change_time;
ULONG ext_attribs;
@@ -760,8 +768,16 @@ typedef struct {
uint8 directory;
uint16 count;
+ uint8 none[count];
+
+} R_NTCREATE_ANDX_34;
-} R_NT_CREATE_ANDX;
+typedef struct _R_NTCREATE_ANDX{
+ uint8 wcount;
+ union ctr[wcount] {
+ case 34 R_NTCREATE_ANDX_34 q34;
+ }
+} R_NTCREATE_ANDX;
typedef struct {
ULONG smbhdr;
@@ -797,6 +813,7 @@ typedef struct _R_SMB {
case 117 R_TCON_ANDX r117;
case 128 R_DSKATTR r128;
case 160 R_NTTRANS r160;
+ case 162 R_NTCREATE_ANDX r162;
}
} R_SMB;
@@ -818,6 +835,7 @@ typedef struct _Q_SMB {
case 117 Q_TCON_ANDX q117;
case 128 Q_DSKATTR q128;
case 160 Q_NTTRANS q160;
+ case 162 Q_NTCREATE_ANDX q162;
}
} Q_SMB;