Age | Commit message (Collapse) | Author | Files | Lines |
|
plugin ABI from a single file.
svn path=/trunk/; revision=8038
|
|
"tvb_get_string()" and "tvb_get_stringz()".
svn path=/trunk/; revision=7865
|
|
svn path=/trunk/; revision=7862
|
|
remove the Start menu entries and desktop icon.
svn path=/trunk/; revision=7772
|
|
macros, and do export "except_pop()" and "except_setup_try()".
svn path=/trunk/; revision=7628
|
|
function name; make it so.
Eliminate the duplicate entry for "except_throw" and the duplicate code
for it.
svn path=/trunk/; revision=7618
|
|
plugins on platforms on which plugins need to use the table of functions
exported to plugins.
svn path=/trunk/; revision=7611
|
|
given a tvbuff/offset pair referring to the byte past the end of the
item. Use it in one place in the SMB dissector (there are plenty of
other places where it could be used as well).
svn path=/trunk/; revision=7603
|
|
exported to dissectors.
svn path=/trunk/; revision=7552
|
|
plugins.
svn path=/trunk/; revision=7423
|
|
MGCP request/response matching and
MGCPSTAT RTT calculation.
For those with MGCP captures, try
-z mgcp,rtd[,filter]
svn path=/trunk/; revision=7294
|
|
argument to "col_append_str()", const pointers; they're not modified by
the routines in question.
svn path=/trunk/; revision=6725
|
|
a const pointer as its argument.
svn path=/trunk/; revision=6700
|
|
svn path=/trunk/; revision=6630
|
|
winapi_cleanup tool written by Patrik Stridvall for the wine
project.
svn path=/trunk/; revision=6116
|
|
While we're at it, add "extern" to a bunch of function declaration the
preceding change *didn't* require to have the "extern" added.
svn path=/trunk/; revision=5995
|
|
should do if it doesn't find an EOL; if FALSE, it behaves as before,
returning values that treat the line as ending at the end of the tvbuff,
and if TRUE, it returns -1, so its caller can do segment reassembly
until it gets the EOL.
Add an option to the SMTP dissector to do segment reassembly, and do
segment reassembly of the first line.
svn path=/trunk/; revision=5891
|
|
DOCSIS support, including support for "Ethernet" captures where
the raw frame is a DOCSIS frame rather than an Ethernet
frame (some Cisco cable-modem head-end gear can send out a
trace of all traffic on an Ethernet, but what it sends are
the raw bytes of DOCSIS frames, not Ethernet frames)
Get rid of second AUTHORS entry for Devin Heitmueller, merging its item
into the older entry.
Clean up the order of some lists of plugin items.
svn path=/trunk/; revision=5861
|
|
for get_CDR_octet_seq. The one for get_CDR_octet_seq was preventing
compilation under MSVC++.
svn path=/trunk/; revision=5484
|
|
whether the length value in the TPKT header is large enough to include
that much payload - if not, report the packet as not being a TPKT
packet.
Have the heuristic Q.931 dissector supply the appropriate value.
svn path=/trunk/; revision=5457
|
|
svn path=/trunk/; revision=5400
|
|
where the pointer to "dissect_data()" was in 0.9.3; the pointer to
"dissect_data()" wasn't initialized in 0.9.3 (as the function wasn't
exported - you call it through a handle), so no plugin should have been
using it, and putting the pointer to "tcp_dissect_pdus()" in its place
means the structure offsets of all function pointers after it will be
the same in 0.9.3 and the next release, preserving binary compatibility
for plugins.
svn path=/trunk/; revision=5395
|
|
extracting PDUs from it and possibly doing reassembly. Make the COPS,
DNS, DSI, Gryphon, and SCCP dissectors use it.
Add "set_actual_length()", "tcp_dissect_pdus()",
"decode_boolean_bitfield()", "decode_numeric_bitfield()", and
"decode_enumerated_bitfield()" to the list of routines available to
dissectors on platforms where routines in the main program aren't
available to dynamically-loaded code.
Declare routines in "to_str.h" as "extern"; as I remember, that's
necessary to allow the "decode_XXX_bitfield()" routines declared therein
to be made available to plugins as per the above.
Note that new exported routines should be added to the end of the table
if that's the only change being made to the table.
Create a new "plugin_api_decls.h" header file, used to declare both the
"p_" variables and the "p_" structure members in the routine-exporting
mechanism; this reduces the number of places you have to change to
change the list of exported routines.
svn path=/trunk/; revision=5394
|
|
svn path=/trunk/; revision=5096
|
|
signature of "call_dissector()".
svn path=/trunk/; revision=4828
|
|
have a TPKT header at the beginning, so there's not need for it to have
an offset as an argument; its callers don't have to know how big the
TPKT header is (or we can put a #define in "packet-tpkt.h" for it). Get
rid of the second argument.
svn path=/trunk/; revision=4791
|
|
packets per segment.
Instead of having a routine for dissectors such as the Q.931 dissector
to call to dissect the TPKT header, have a routine that does all the
reassembly and multiple-packets-per-segment work, and have the Q.931
dissector call it. Export "is_tpkt()", and the new routine, to plugins.
Add preferences for TPKT and Q.931 reassembly.
svn path=/trunk/; revision=4778
|
|
svn path=/trunk/; revision=4760
|
|
"tvb_new_real_data()".
svn path=/trunk/; revision=4755
|
|
wrappers added to plugin header files, by Charlie Duke.
svn path=/trunk/; revision=4676
|
|
logging virtual interface, from Mike Frantzen.
svn path=/trunk/; revision=4616
|
|
variables wrap-around. Since the request/reply packets are related via
a hash based on these uniqueness variables, long NCP traces can
have mis-matches reqeust/reply records.
Thus, only do the hash-lookup for the reply packet during the first
sequential scan of the trace file. Once the pertinent info is found,
store it in the packet's private data area.
Since the memory allocated for the hash and for the structures that make
up the keys are no longer needed after the first sequential run through
the trace file, arrange to free that memory after the first sequential
run. Similar to the register_init_routine() that allows dissectors
to register callbacks for calling *before* a capture file is loaded,
set up a register_postseq_cleanup_routine() function that allows
dissectors to register callbacks for calling *after* the first
sequential run-through of the trace file is made. This is not
a *final* cleanup callback, since Ethereal will still have that trace file
open for random-access reading.
I didn't have tethereal call postseq_cleanup_all_protocols() since
tethereal doesn't keep the trace file open for random-access reading.
I could easily be swayed to make tethereal call that function, however.
svn path=/trunk/; revision=4484
|
|
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.
That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.
svn path=/trunk/; revision=4371
|
|
plugin APIs, and add the new "dissector_add_handle()".
Add an entry in the dissector table structure for
"create_dissector_handle".
svn path=/trunk/; revision=4314
|
|
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID. Associate dissector handles with
dissector table entries.
svn path=/trunk/; revision=4308
|
|
pointers used for plugins on win32.
svn path=/trunk/; revision=4247
|
|
svn path=/trunk/; revision=4199
|
|
svn path=/trunk/; revision=4150
|
|
addr_XXX p_XXX;
for all the declarations, to simplify things, as per Tomas Kukosa's
suggestion.
Fix a couple of comments.
svn path=/trunk/; revision=4149
|
|
"tvb_pbrk_guint8()".
svn path=/trunk/; revision=4121
|
|
former depends on having "guint64" and the latter depends on
"%ll[douxX]" being what's used to print 64-bit integers, and there are
platforms on which Etheeal runs that don't have "guint64" or that don't
use "%ll[douxX]" to print 64-bit integers.
Get rid of the routines to extract 64-bit integers into "gint64"s and
"guint64"s, as per Ronnie Sahlberg's suggestion, to discourage people
from writing code that won't work on all platforms; they should be using
FT_UINT64, or the routines in "int-64bit.c", instead.
svn path=/trunk/; revision=4102
|
|
Some of these changs are from Frank Singleton, some are mine.
svn path=/trunk/; revision=4035
|
|
microseconds.
Fix some "signed vs. unsigned" comparison warnings.
svn path=/trunk/; revision=3935
|
|
list of functions available to plugins.
svn path=/trunk/; revision=3906
|
|
"proto_item_set_text()" except that it appends the result of the
formatting to the item's current text, rather than replacing the item's
current text. Use it in the DNS dissector.
svn path=/trunk/; revision=3880
|
|
but, before you set the text, you throw an exception while putting stuff
under the subtree, you end up with an absolutely blank protocol tree
item, which is really gross. Instead of calling
"proto_tree_add_notext()", call "proto_tree_add_text()" with at least a
minimal label - yes, it does mean you do some work that will probably be
unnecessary, but, absent a scheme to arrange to do that work if it *is*
necessary (e.g., catching exceptions), the alternative is an ugly
protocol tree display.
svn path=/trunk/; revision=3879
|
|
table.
svn path=/trunk/; revision=3764
|
|
svn path=/trunk/; revision=3385
|
|
plugins.
svn path=/trunk/; revision=3384
|
|
the plugin-API declarations appropriately.
svn path=/trunk/; revision=3242
|