* Defines for smb packet dissection
* Copyright 1999, Richard Sharpe <rsharpe@ns.aus.com>
*
- * $Id: smb.h,v 1.45 2002/08/30 23:49:22 sharpe Exp $
+ * $Id: smb.h,v 1.54 2003/12/18 00:18:55 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
#ifndef _SMB_H
#define _SMB_H
+extern gboolean sid_name_snooping;
+
/* SMB command codes, from the SNIA CIFS spec. */
+extern const value_string smb_cmd_vals[];
+extern const value_string trans2_cmd_vals[];
+extern const value_string nt_cmd_vals[];
#define SMB_COM_CREATE_DIRECTORY 0x00
#define SMB_COM_DELETE_DIRECTORY 0x01
#define SMBE_eas_didnt_fit 275 /* Extended attributes didn't fit */
#define SMBE_eas_nsup 282 /* Extended attributes not supported */
#define SMBE_notify_buf_small 1022 /* Buffer too small to return change notify. */
+#define SMBE_serverunavailable 1722/* Server unavailable */
#define SMBE_unknownipc 2142
#define SMBE_noipc 66 /* don't support ipc */
#define SMBE_sharebufexc 36 /* A sharing buffer has been exceeded */
#define SMBE_diskfull 39
+/* the information we need to keep around for NT transatcion commands */
+typedef struct {
+ int subcmd;
+} smb_nt_transact_info_t;
+
+/* the information we need to keep around for transaction2 commands */
+typedef struct {
+ int subcmd;
+ int info_level;
+ gboolean resume_keys; /* if "return resume" keys set in T2 FIND_FIRST request */
+} smb_transact2_info_t;
+
/*
* The information we need to save about a request in order to show the
* frame number of the request in the dissection of the reply.
guint32 frame_req, frame_res;
nstime_t req_time;
guint16 flags;
- int cmd;
+ guint8 cmd;
void *extra_info;
} smb_saved_info_t;
/* these two tables are used to match requests with responses */
GHashTable *unmatched;
GHashTable *matched;
- /* this tables is used by DCERPC over SMB reassembly*/
- GHashTable *dcerpc_fid_to_frame;
+
/* This table is used to track TID->services for a conversation */
GHashTable *tid_service;
+ gboolean raw_ntlmssp; /* Do extended security exc use raw ntlmssp */
} conv_tables_t;
typedef struct smb_info {
- int cmd;
+ guint8 cmd;
int tid, pid, uid, mid;
gboolean unicode; /* Are strings in this SMB Unicode? */
gboolean request; /* Is this a request? */
gboolean unidir;
- gboolean raw_ntlmssp; /* Do extended security exc use raw ntlmssp */
int info_level;
int info_count;
smb_saved_info_t *sip; /* smb_saved_info_t, if any, for this */
int offset, gboolean setstate);
extern gboolean smb_dcerpc_reassembly;
-extern GHashTable *dcerpc_fragment_table;
/*
* NT and DOS error codes used by other dissectors.