Commit Graph

145 Commits

Author SHA1 Message Date
Guy Harris e5c09b21aa Use get_timedelta() to get the difference between two times.
svn path=/trunk/; revision=15455
2005-08-20 02:15:02 +00:00
Gerald Combs 88f6cd56ee Restore pinfo->private_data after calling another dissector, in case it gets
overwritten.  Fixes bug 367.

svn path=/trunk/; revision=15435
2005-08-19 18:28:50 +00:00
Ulf Lamping 495eb1b788 snprintf -> g_snprintf
svn path=/trunk/; revision=15398
2005-08-17 23:10:28 +00:00
Ronnie Sahlberg 75f38fa0a5 add SetFileInfo level 1013 SetDispositionInfo decoding
svn path=/trunk/; revision=15374
2005-08-16 08:40:06 +00:00
Ronnie Sahlberg c30eeef7d8 some more gmemchunk -> se_alloc() updates
there are only 5 gmemchunks left   but they have different litetime for their allocations   than the 100+   ones that have been removed.

The remaining 5 should be converted some other way.




svn path=/trunk/; revision=15328
2005-08-13 01:29:31 +00:00
Ronnie Sahlberg ec3ab9ec3e rename ep_tvb_get_string() to tvb_get_ephemeral_string() asnd update the documentation in README.developer
svn path=/trunk/; revision=15270
2005-08-10 13:41:13 +00:00
Guy Harris 7b31da8b11 DissectorError is not supposed to be directly thrown; one should use the
various DISSECTOR_ macros, so the error message includes an indication
of the problem, and the file and line number.

svn path=/trunk/; revision=15237
2005-08-06 04:01:38 +00:00
Gerald Combs b992c73391 In packet-frame.c, don't free static memory when we throw a
DissectorError.  In packet-kerberos.c, restore pinfo->private_data if
we throw an exception, which keeps the SMB dissector from throwing
a DissectorError.  Initialize variables in other places to squelch
valgrind warnings.

svn path=/trunk/; revision=15235
2005-08-06 03:43:42 +00:00
Jörg Mayer 69dcb66cd9 More char -> const char warning fixes
svn path=/trunk/; revision=15218
2005-08-05 00:23:22 +00:00
Ronnie Sahlberg 0d7a2abbc7 some more memification of tvb_get_string() no obvious memleaks fixed this time :-(
svn path=/trunk/; revision=15131
2005-07-28 09:47:28 +00:00
Ronnie Sahlberg 9f6a3801d9 minor fix to add required alignment for AueryPathInfo level 0x107
it decodes "better"   but might still be broken since none of the packets I have match any of the "standards"




svn path=/trunk/; revision=14952
2005-07-19 08:58:20 +00:00
Guy Harris ab797734dd Get rid of the private "my_match_strval()" routine in many dissectors;
add a "match_strval_idx()" routine that does the same thing, and have
"match_strval()" call it.

Make those routines, and "val_to_str()", return a "const" pointer. 
Update dissectors as necessary to squelch compiler warnings produced by
that.

Use "val_to_str()" rather than using "match_strval()" and then, if the
result is null, substituting a specific string.  Clean up some other
"match_strval()"/"val_to_str()" usages.

Add a null pointer check in the NDPS dissector's "attribute_value()"
routine, as it's not clear that "global_attribute_name" won't be null at
that point.

Make some global variables in the AFS4INT dissector local.

Make some routines not used outside the module they're in static.

Make some tables "static const".

Clean up white space.

Fix Gerald's address in some files.

svn path=/trunk/; revision=14786
2005-06-26 19:56:52 +00:00
Ulf Lamping debc4cd849 packet-smb.c(14406) : warning C4090: 'return' : different 'const' qualifiers
svn path=/trunk/; revision=14780
2005-06-26 11:21:39 +00:00
Ulf Lamping e2c3b60280 add a generated toplevel line between the TCP protocol and the desegmented content, to better understand what's going on while desegmenting.
We'll have to add similar mechanisms for other protocols as well...

svn path=/trunk/; revision=14527
2005-06-02 18:52:55 +00:00
Ulf Lamping 5c4f877031 bugfix (fuzz_tested): t2i can be zero, test at all places before using it
svn path=/trunk/; revision=14526
2005-06-02 18:44:17 +00:00
Ulf Lamping e8c5cd2342 don't go into an (almost) endless loop, if si->info_count is -1, which is the default value. Seems to be a general bug worth to thought about, but I don't know the SMB internals and this bugfix should work anyway.
Found this by a privately fuzzed capture file (sorry, can't give it away)

svn path=/trunk/; revision=14501
2005-05-30 21:10:21 +00:00
Ulf Lamping feb55854c7 fix #215: the field hf_smb_print_spool_file_name used the wrong type, use FT_STRINGZ to add a string
svn path=/trunk/; revision=14482
2005-05-30 03:10:37 +00:00
Gerald Combs 7effa95f95 Throw an exception if AndXOffset is less than the current offset. Fixes bug
163.  I'm not sure if this fix is entirely correct, but it doesn't appear to
have affected any SMB captures here adversely.

svn path=/trunk/; revision=14365
2005-05-14 19:13:02 +00:00
Gerald Combs fe5561715b Don't try to feed a null pointer to strncmp(). Fixes bug 158.
Shouldn't the number of fuzz bugs decrease asymptotically at some
point?

svn path=/trunk/; revision=14306
2005-05-04 17:02:56 +00:00
Gerald Combs 1111832d96 In all functions that require smb_info data, throw an exception if we
can't fetch it.  Fix a few more null pointer dereferences.  Fixes bug 79.

svn path=/trunk/; revision=14149
2005-04-20 16:23:22 +00:00
Gerald Combs 83f3aa6e08 Add an extra_info_type field to smb_extra_info_t so that we can make
sure we're not referencing a fid when we think we're referencing an
smb_nt_transact_info_t pointer.  (A fuzzed capture I have triggers
this behavior).


svn path=/trunk/; revision=14107
2005-04-16 21:54:32 +00:00
Gerald Combs 5f4347c46d Add a bunch of tvb_ensure_bytes_exist() calls. Some of these may not be
neccessary -- someone more knowledgeable about the SMB dissector may want
to check this.  Throw a ReportedBoundsError instead of exiting.

svn path=/trunk/; revision=14077
2005-04-14 19:43:00 +00:00
Gerald Combs 3056b9e17d Add a tvb_ensure_bytes_exist().
svn path=/trunk/; revision=13968
2005-03-29 15:38:11 +00:00
Guy Harris e41c4740c9 Handle XNS IDP socket numbers.
Handle SMB-over-SPP.

svn path=/trunk/; revision=13635
2005-03-06 20:13:58 +00:00
Lars Roland ec9ca01616 Move the following files from /trunk to /trunk/epan:
asn1.[ch]
follow.[ch]
ptvcursor.[ch]
reassemble.[ch]
xmlstub.[ch]

fix #include statements accordingly.

svn path=/trunk/; revision=13366
2005-02-09 23:38:00 +00:00
Anders Broman 851ecd2ac4 From Jon Ringle:
1) Added a setup_frame parameter to conversation_t
2) Used the conversation_t next to maintain a list of conversations with the 
same src/dest tuple but different setup_frame number.
3) Changed the signature of find_conversation() and conversation_new() to pass 
in the frame number.
4) Adjusted packet-sdp to select RTP conversation if both m=audio and m=image 
are present, and T.38 conversation if only m=image is present. I expect that 
RTP/T.38 dissecting to be better, but I don't have a way to generate T.38 
packets.

svn path=/trunk/; revision=13243
2005-02-02 20:07:03 +00:00
Ulf Lamping 78ff68d4b5 a lot of warnings removed, most of them about pointer to int casts without using the appropriate GLib macros
svn path=/trunk/; revision=12832
2004-12-25 13:49:30 +00:00
Richard Sharpe 8190410fb3 Clean up one more instance of 8-byte timestamps in SMB. Have to work on
the 4-byte ones soon.


svn path=/trunk/; revision=12818
2004-12-22 19:44:42 +00:00
Richard Sharpe 80e3a2ed9c Add a dissection for the GET_NETWORK_FILE_OPEN_INFO and make some stuff that
we do in several places into a subroutine. We need to do it also with the 
4-byte time stamps that are dissected all over the place. 

I had thought that that last unknown in the returned structure might be 
a count of the number of clients that have the file open, but a simple test
suggests that that is not the case.


svn path=/trunk/; revision=12812
2004-12-22 02:40:33 +00:00
Ronnie Sahlberg 9f87afbca5 mark some fields as GENERATED fields
svn path=/trunk/; revision=12771
2004-12-19 03:30:46 +00:00
Ronnie Sahlberg 7def0aa70c the mid values in smb are too unreliable for request/response matching since they wrap so quickly.
This has the effect that if you have a capture file with a hole in it, sa say when snoop or similar stops capturing packets for a while while writing the data to disk   you often end up with a packet just after the hole that is a response packet  and which ethereal mistakenly matches with a request/response from before the hole.


now,  when the first response is seen to a request   remove the entry from the unmatched table so that no other response can match the same request.



svn path=/trunk/; revision=12770
2004-12-19 03:19:53 +00:00
Guy Harris 6e10679910 Move smb.trans2.cmd and smb.nt.function near the top of the hf[] array,
so they show up near the top of the list of fields in the dialog box for
adding a field to a filter - those are probably quite likely to be used
in filter expressions where you don't happen to remember the name of the
field, and those should show up at the top so you don't have to scroll
through the entire list of fields to find them.  (I suspect most other
fields either will rarely be filtered on at all, or would be filtered
only mainly with the "Match" or "Prepare" filter items, where you don't
need to know the name or even the text of the field.)

svn path=/trunk/; revision=12489
2004-11-05 21:39:31 +00:00
Guy Harris 915fe77f75 From Laurent Constantin: fix a (presumed) cut-and-pasteo.
svn path=/trunk/; revision=12342
2004-10-18 17:17:38 +00:00
Guy Harris 5f57d42dac Handle continuation replies to transactions better - try to match them
up with the original request, without matching unrelated replies with
that request.

svn path=/trunk/; revision=12145
2004-09-30 01:04:33 +00:00
Guy Harris 6472876ab3 Move the tap infrastructure to the epan directory.
svn path=/trunk/; revision=12128
2004-09-29 00:06:36 +00:00
Guy Harris bbe7f89742 Move prefs.c and prefs.h into the epan subdirectory.
svn path=/trunk/; revision=12115
2004-09-27 22:55:15 +00:00
Ronnie Sahlberg 4d1dd8df41 Fix the InfoQueryEASize infolevel for SetPathInfo and QueryPathInfo SMB's
svn path=/trunk/; revision=11821
2004-08-24 09:07:04 +00:00
Guy Harris c68f62210f Add "tvb_get_ntoh64()" and "tvb_get_letoh64()" routines to fetch 64-bit
integers.

Make FT_INT64 and FT_UINT64 add numerical values, rather than byte-array
values, to the protocol tree, and add routines to add specified 64-bit
integer values to the protocol tree.

Use those routines in the RSVP dissector.

svn path=/trunk/; revision=11796
2004-08-22 00:31:58 +00:00
Ulf Lamping cf22aa8bbc cast define of TIME_T_MIN and TIME_T_MAX to (time_t), as MSVC seems to have problems with this definition and throws a warning "convert negative constant to unsigned integer"
svn path=/trunk/; revision=11753
2004-08-16 17:18:04 +00:00
Guy Harris 7af1c37cae From Ronnie Sahlberg: update the fs attributes to be more complete and
correctly dissected.

svn path=/trunk/; revision=11752
2004-08-16 07:59:18 +00:00
Guy Harris 16b5c67a2b Note that the CIFS spec claims that the service name string in Tree
Connect AndX is always ASCII; we don't assume it is - the spec may very
well be wrong.

svn path=/trunk/; revision=11726
2004-08-12 21:32:20 +00:00
Guy Harris 13bb12c4f1 Move a bunch of stuff that's more Windows-related than SMB-related to
"packet-windows-common.[ch]".

svn path=/trunk/; revision=11592
2004-08-03 02:28:49 +00:00
Guy Harris 1ef3caa637 Move the NTLMv2 blob stuff back into packet-ntlmssp.c - it's more
NTLMSSP-related than SMB-related, and documents about NTLMSSP talk about
it, so it's a little more convenient to keep all that stuff together -
and export it through a packet-ntlmssp.h header.

svn path=/trunk/; revision=11585
2004-08-02 23:14:32 +00:00
Guy Harris bbbe995ddb Use "format_text()" on strings to be put into the Info column and the
display representation of items in the protocol tree, so we don't get
hosed by non-printable characters.

svn path=/trunk/; revision=11489
2004-07-23 22:39:08 +00:00
Gilbert Ramirez 669db206cb Move dissectors to epan/dissectors directory.
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.

Adjust #include lines in files that include packet-*.h
files.

svn path=/trunk/; revision=11410
2004-07-18 18:06:47 +00:00