Commit Graph

57 Commits

Author SHA1 Message Date
Michael Mann 1e0405a3a3 Remove SMB's use of private_data and just pass the data through all of the dissection functions
svn path=/trunk/; revision=52856
2013-10-25 23:59:30 +00:00
Bill Meier 2ac134b3c5 whitespace fixes; mostly: remove trailing blanks
svn path=/trunk/; revision=52591
2013-10-13 19:56:52 +00:00
Evan Huus 7dbc052d78 More dissectors to wmem. There are no more dissectors using se_tree now, just a
few other places.

svn path=/trunk/; revision=51622
2013-09-01 01:00:11 +00:00
Alexis La Goutte a4eb0a12ed From Jose Pico via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8377 NEW FEATURE IMPLEMENTED: SMB2 SUPPORT FOR EXPORT->OBJECTS->SMB
Added functionality:
- SMB2 support for Export->Objects->SMB
- support for SMB_COM_CREATE, SMB_COM_OPEN, SMB_COM_READ and SMB_COM_WRITE commands
- Ability to choose between File Id and full file name as identifier for file re-building. Implemented as an option under Edit->Preferences->Protocols->SMB and Edit->Preferences->Protocols->SMB2.

Other minor changes and fixes:
- Full filename in file
- Inclusion of IP of SMB server when treeid name (i.e. hostname) is not known
- UTF-8 filenames encoding before passing them to Export Object Window
- Re-written insert_chunk function of export_object_smb.c to make it easier to debug
- Fixed of an error in insert_chunk function of export_object_smb.c (the verification of next free_chunk was always skipped after deleting one free_chunk).
- Removed duplicated code by inserting the function feed_eo_smb in packet-smb.c and packet-smb2.c
- Changed the label of Export->Objects->SMB menu into Export->Objects->SMB/SMB2

svn path=/trunk/; revision=48210
2013-03-09 08:44:14 +00:00
Balint Reczey 1ebdb2e521 Export libwireshark symbols using WS_DLL_PUBLIC define
Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
2013-03-01 23:53:11 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Anders Broman 99e919bf8b From Richard Sharpe:
packet-smb.c does not properly handle NT TRANSACT requests (and probably TRANSACT and TRANSACT2 requests)

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7351

svn path=/trunk/; revision=43347
2012-06-19 06:24:30 +00:00
Bill Meier c4b4394936 From Stefan Metzmacher: Support for SMB 2.22 features;
"Patches to add most things for SMB 2.22"

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6394

svn path=/trunk/; revision=39205
2011-10-01 01:57:38 +00:00
Guy Harris 375b1bf4b4 Give some routines used for info levels that appear both in set and get
names beginning with dissect_qspi_, and give some of them names with the
info level structure in them rather than the SNIA CIFS specification
section number.

Have separate routines for SMB_INFO_STANDARD and SMB_INFO_QUERY_EA_SIZE;
SMB_INFO_STANDARD is specified differently in the SNIA CIFS
specification and the MS-CIFS specification, and some captures have the
SNIA CIFS version, with the EA length and some have the MS-CIFS version
without it.  The dissector for SMB_INFO_STANDARD will dissect it if it's
there and not say "this structure is truncated" if it's not there.

Rename dissect_qfi_SMB_FILE_ALTERNATE_NAME_INFO() to
dissect_qfi_SMB_FILE_NAME_INFO(), as it also dissects
SMB_QUERY_FILE_NAME_INFO.

Merge the dissectors for SMB_FILE_ALLOCATION_INFO and
SMB_SET_FILE_ALLOCATION_INFO, and for SMB_FILE_END_OF_FILE_INFO and
SMB_SET_FILE_END_OF_FILE_INFO, as the structures are the same.

Dissect some presumed "passthrough info levels" the same way the
corresponding official SMB infos are dissected.

Expand some comments for info level dissectors to give the MS-CIFS
section number and to give some other details.
 
If an info level is truncated, put in an expert info error.

If we don't know about a given info level, just dissect the body as
"Information level unknown", rather than having it dissected as an
"unknown information" trailer.

svn path=/trunk/; revision=37297
2011-05-19 16:22:21 +00:00
Bill Meier f543357d14 Use value_string_ext fcns to access certain value_string arrays.
svn path=/trunk/; revision=34692
2010-10-29 20:22:02 +00:00
Anders Broman 9c9db7d4d4 From CaL Turney:
Add support for well-known SIDs/RIDs and option to display in hex.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5286

svn path=/trunk/; revision=34613
2010-10-22 05:15:25 +00:00
Guy Harris 9a45206220 Dissect SMB_FILE_ATTRIBUTES, when used as file attributes rather than
search attributes, as a 16-bit quantity, with only the bits specified by
section 2.2.1.2.4 of [MS-CIFS].  Use dissect_file_ext_attr() in all
cases where we're dissecting SMB_EXT_FILE_ATTR, as specified by section
2.2.1.2.3 of [MS-CIFS].

svn path=/trunk/; revision=33753
2010-08-10 07:04:20 +00:00
Guy Harris c81cbe1842 Go back to 64-bit sizes, but, before passing those sizes to
g_try_malloc() or g_try_realloc(), check whether they fit in a gsize
and:

	if not, just pretend the allocation failed;

	if so, cast them to gsize to squelch compiler warnings.

svn path=/trunk/; revision=33239
2010-06-16 18:28:28 +00:00
Stig Bjørlykke 111a5963fe Use gsize for file offset.
svn path=/trunk/; revision=33237
2010-06-16 17:45:25 +00:00
Stig Bjørlykke e915e93532 From David Perez & Jose Pico from Taddong S.L. via bug 4451:
This functionality keeps track of all SMB objects contained in a capture,
and is able to export to a file a full or partial captured file that has
been transfered through the SMB protocol. In a partial capture, the holes
produced by the non-captured information are filled out with zeros.
It includes the needed modifications of the SMB dissector in the way it keeps
track of the opened SMB files and also to feed the eo_smb tap listener.

svn path=/trunk/; revision=33227
2010-06-15 14:03:49 +00:00
Ronnie Sahlberg 0536955ab3 track smb dialects between negprot request to the responses so we can
show the name of the selected dialect in the response and not just the 
index


svn path=/trunk/; revision=26263
2008-09-24 16:16:01 +00:00
Bill Meier b52d95d591 #include <emem.h> not req'd
svn path=/trunk/; revision=26091
2008-08-26 01:28:50 +00:00
Stephen Fisher 75c18967f4 Fix Windows build-bot warnings:
packet-smb.c(5479) : error C2220: warning treated as error - no object file generated
packet-smb.c(5479) : warning C4244: '=' : conversion from 'unsigned short ' to 'unsigned char ', possible loss of data
packet-smb.c(5480) : warning C4244: '=' : conversion from 'unsigned short ' to 'unsigned char ', possible loss of data
 

svn path=/trunk/; revision=22134
2007-06-18 20:14:07 +00:00
Ronnie Sahlberg f74d20b142 track filenames between rename requests and responses to make it easier to
diagnose why a rename failed


svn path=/trunk/; revision=22122
2007-06-17 23:58:01 +00:00
Ronnie Sahlberg 0adc338017 remember locking info between requests and repsonses so it is easier to
diagnose why an operation returned an error


svn path=/trunk/; revision=22121
2007-06-17 20:57:34 +00:00
Ronnie Sahlberg bc33880788 show the filename that was to be deleted in the Delete reply
svn path=/trunk/; revision=21897
2007-05-22 23:05:25 +00:00
Ronnie Sahlberg 050a0508e1 remember the object name from a QUERY_PATH_INFO and show it as a
generated item in the response.

also show the infolevel in the response as a generated item


svn path=/trunk/; revision=21880
2007-05-22 03:33:51 +00:00
Ronnie Sahlberg 196ed78ce8 add the disposition to the data we store for how a fid is opened
svn path=/trunk/; revision=21873
2007-05-22 01:26:32 +00:00
Ronnie Sahlberg 52143e84d0 add tracking of OFFSET/LENGTH to reads/writes so we can easily see in a failed read/write
what offset/length was requested


svn path=/trunk/; revision=21858
2007-05-21 07:17:36 +00:00
Ronnie Sahlberg 7a68b1be72 track FIDs on a per transaction (request+response) basis and make sure the FID is printed
in both packets of a transaction.

this makes filters such as "smb.file==foo.txt" work much better since they now show both 
the read/write request and also the response packets.
this is similar to what we already do in nfs for filehandles



svn path=/trunk/; revision=21856
2007-05-21 03:44:49 +00:00
Ronnie Sahlberg f43afbaf35 add more tracking of FID properties
track create_flags, access_mask, file_attributes, share_access and 
create options for all FIDs


svn path=/trunk/; revision=21743
2007-05-10 20:53:35 +00:00
Ronnie Sahlberg e5e23150ab prettify dissection of FIDs,
put the filename, if known, on the fid expansion line

also place a "generated" fid in failed ntcreateandx so it is easier to 
quickly see which file the ntcreateandx failed for


svn path=/trunk/; revision=21739
2007-05-10 02:34:06 +00:00
Ronnie Sahlberg 0eae1cc0bd add dissection of smb1 ioctl data by tying it into the dissectors for
ioctl data that already exists for smb2


svn path=/trunk/; revision=21713
2007-05-07 09:07:29 +00:00
Guy Harris 65b4512fe3 As with other types of extra info, tag the UID extra info. Don't add
stuff to the UID tree unless it's UID stuff.

Also, as we appear to allow for null domain and account information in
dissect_smb_uid(), check for null information before trying to add it to
the top-level item.

svn path=/trunk/; revision=21597
2007-04-26 19:44:18 +00:00
Ronnie Sahlberg 3a0cdfb42b add a missing change from the previous commit
svn path=/trunk/; revision=21548
2007-04-24 05:09:53 +00:00
Stephen Fisher d565967b58 From Peter Johansson:
Fix warnings


svn path=/trunk/; revision=21214
2007-03-26 21:16:21 +00:00
Ronnie Sahlberg d08c190fe0 track fid types between NT TRans QUERY_SECURITY_DESCRIPTOR and dissect the ACEs properly
svn path=/trunk/; revision=18926
2006-08-16 09:22:36 +00:00
Ronnie Sahlberg 0902016b42 add a type field for the fid tracking structure and initialize it to UNKNOWN
when files are opened using NTCreateAndX  and if we recognize the type   set the type field to either FILE, DIR or PIPE

This is useful to know when dissecting things like security descriptors since it tells us how to dissect the specific bits of the access mask.


Only do this for NTCreateAndX for now.   It is trivial to add similar tracking to some of the older   obsolete   calls used to open fids    but no clients ever use those old calls any more.





svn path=/trunk/; revision=18922
2006-08-16 08:00:46 +00:00
Ronnie Sahlberg 8ce8e719e0 rename some structures and defines from the se_tree to the emem_tree prefix
svn path=/trunk/; revision=18894
2006-08-14 08:29:29 +00:00
Gerald Combs f7e38bd5e6 Change ETH_VAR_IMPORT to WS_VAR_IMPORT. Try to fix a duplicate variable
definition in the Catapult DCT2000 code.

svn path=/trunk/; revision=18524
2006-06-20 18:30:54 +00:00
Ronnie Sahlberg 75030295d1 add tracking of TID -> sharenames
reuse the recent structure for fid->filename mappings since the problemspace is virtually the same


(go to tired of trying to find the sharename in 10mpacket traces with 1000s of shares)



svn path=/trunk/; revision=18516
2006-06-19 09:44:15 +00:00
Ronnie Sahlberg 986085204d add infrastructure to make tracking of fid->filename easy to implement and use
svn path=/trunk/; revision=18514
2006-06-19 07:39:19 +00:00
Ronnie Sahlberg d76b58cbfb track smb FIDFs when tehy are opened and closed.
add an expansion to the fid that display which frame itr was opened in and when it was closed.



someone may want to add tracking of actual filenames here as well.   i am not sure i need that feature myself   so ...



svn path=/trunk/; revision=18512
2006-06-18 05:45:40 +00:00
Ronnie Sahlberg a5db166102 rename add_fid() to dissect_smb_fid() as a firsdt step towards adding tracking of filename/openedframe/closedframe tracking for smb fids
svn path=/trunk/; revision=18506
2006-06-18 01:58:34 +00:00
Ronnie Sahlberg feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00
Ronnie Sahlberg baed8f0888 add dissection of
SMB/SetFileInfo level 1023
SMB2/SetInfo/FILE_INFO level 0x17

FILE_PIPE_INFO   infolevel


svn path=/trunk/; revision=17195
2006-02-07 08:48:51 +00:00
Ronnie Sahlberg 55beaa37cf add endoffile infolevel
svn path=/trunk/; revision=16607
2005-11-26 21:59:48 +00:00
Ronnie Sahlberg f699f011fc more infolevels
svn path=/trunk/; revision=16606
2005-11-26 21:44:37 +00:00
Ronnie Sahlberg d149d98fc3 assume the four bytes after the fid in notify request is the completion mask
svn path=/trunk/; revision=16596
2005-11-26 00:34:22 +00:00
Ronnie Sahlberg 704abdc0e5 add some more infolevels
svn path=/trunk/; revision=16585
2005-11-25 08:02:40 +00:00
Ronnie Sahlberg 261aade300 add dissection of the smb2 impersionationlevel field
svn path=/trunk/; revision=16581
2005-11-25 06:19:41 +00:00
Ronnie Sahlberg c76c376968 some info level updates
svn path=/trunk/; revision=16580
2005-11-25 06:04:11 +00:00
Ronnie Sahlberg cfc56af514 some info level updates
svn path=/trunk/; revision=16579
2005-11-25 05:41:00 +00:00
Ronnie Sahlberg 3f047721a3 dissect some more infolevels
svn path=/trunk/; revision=16543
2005-11-18 07:31:18 +00:00
Ronnie Sahlberg 3afd94f519 add dissection of more infolevels for smb2
svn path=/trunk/; revision=16539
2005-11-17 22:30:19 +00:00