The HP-UX compilers don't like non-constant initializers (C99'ism).
Patch attached for plugins/mate/mate_setup.c.
Fix a few warnings (change some () to (void))
svn path=/trunk/; revision=13274
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=13245
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=13244
make rules must be indented with one or more tabs - no spaces, just
tabs. I seem to remember a Stu Feldman quote somewhere in which he
apologized for that requirement....
svn path=/trunk/; revision=13011
- renamed analyze_frame() into mate_analyze_frame().
- prepare mate to be statically linked
- use report_open_failure() , report_read_failure() and
report_failure() in case there's an error while loading the config
- some cleanup in mate_util.c
- some fixes and cleanup in examples and matelib
svn path=/trunk/; revision=13001
A new patch for mate
- changed the default config file name to ""
- avoid trying to confgure mate when the config filename is ""
- add filename and line to config errors, that way one can actually
find errors in config files
- teady up the config error strings ( made them uniform )
- fixed a crash when missing index AVPs (Name,For,On etc) in config AVPLS
- make sure we do not delete the config AVPs and AVPLs to avoid
references to unsubscribed strings been left arround
- fixed the len on LoALs
- changed the way loal_from_file reports an error.
- matelib/sip.mate was missing the Name in a PduDef (from Julien Leproust)
- matelib/h225_ras had a wrong field name (from Julien Leproust)
At this point mate is silent when it's not expressely configured by the user.
From me:
reduce compiler noise on MSVC
svn path=/trunk/; revision=12985
Another patch for mate:
- adds a "GopTree={TRUE|FALSE}" attribute to Gogs
- changes "ShowPduTree={NoTree|PduTree|FrameTree}"
- adds "implicit stop" to Gops with no Stop declared
svn path=/trunk/; revision=12968
conversation, use the "index" member of the conversation_t - that lets
you get a value that fits in a guint, but without provoking the warning
you might get from a compiler if you cast a pointer to the conversation
to a guint.
svn path=/trunk/; revision=12916
- moved gop and gog indexes into gopcfgs, which is a propedeutic
change for upcoming changes in the way gops are to be grouped
- changed the way gog-keys are kept in memory
- every gopkey attribute is copied into the gop->extras to avoid
redundancy in the configuration
- added timers to gogs mate.gog_type.StartTime and mate.gog_type.Time
- fixed a bug in scs_subscribe that mangled some strings
- minor interface improvement to scs propedeutic to having types avp
values in a future
- changed medium and large into mate_medium and mate_large in the
scs_collection
- fixed Mode=Replace in Transforms, now it works
- fixed a crash at reinit due to impropper initialization of mate_items
svn path=/trunk/; revision=12902
the #ifdefs.
Don't use "%ll[doux]" - not all platforms use "ll" as the length
specifier for 64-bit integers in formats. Use PRI[doux]64 instead, to
handle platforms where some other length specifier is used.
svn path=/trunk/; revision=12874
- fixes crash at reinit when DiscardPduData=TRUE: check if there's an
avpl before deleting it.
- mate.pdu_type.RelativeTime had a dual use, add
mate.pdu_type.TimeInGop and leave the other alone.
- other fixes related to times (they now seem to be right)
- scs_subscribe doesn't use g_malloc anymore. it uses GMemChunks
(I had to rename two GMemChunks to make MSVC happy)
- fixes crash at reinit when DiscardPduData=TRUE: check if there's an
avpl before deleting it.
- mate.pdu_type.RelativeTime had a dual use, add
mate.pdu_type.TimeInGop and leave the other alone.
- other fixes related to times (they now seem to be right)
- fixed few things at reinit:
- reset last_id
- remove the nodes in the items hash tables
svn path=/trunk/; revision=12820
From Luis Ontanon:
- moves mate configuration from proto_register to proto_register_handoff
- add the config file protocol preference
- every item (gop,gog,pdu) has it's own ett
- the tap doesn't do nothing, it just primes the tree
- analyze_frame() what once was the tap now is called by the dissector
- should work with tethereal now (to be tested)
svn path=/trunk/; revision=12763
regenerated all dissectors
fixed the choice/sequence struct to use unsigned entities for class and tag
(to reduce some compiler warning and because it should be signed quantities)
svn path=/trunk/; revision=12740
- make rd static (no purpose for it to be global)
- remove outdated comments
- add "PduCriteria" feature (as already stated in the wiki)
- add "DiscardUnassignedPdu" feature (as already stated in the wiki)
- removed ".Id" from abbrev for "mate.item_name"
- in radius.mate: Don't use the port to determine the Gop key.
svn path=/trunk/; revision=12735
As suggested by Martin Regner:
- Use strtod() instead of strtof()
From Luis Ontanon:
- changes the id of mate items to be integer (the old string ID
imposed a lenght limit and as mate fileds had become dynamic it makes
no more sense anymore)
- fixes a huge avp leak on reinit (every avp object was leaked when a
new file was loaded)
- adds the "Lib" AVP to the Action=Include AVPL to include definitions
>from matelib
- rename mate.[dll/so] to zzmate.[dll/so] so it gets initialized as
the very last protocol (so that fields from every dissector can be
used).
svn path=/trunk/; revision=12728
MATE -- Meta Analysis and Tracing Engine
Won't be compiled by default.
It is still not possible to link the plugin on Win32.
svn path=/trunk/; revision=12716
Ethernet frames, one for encapsulated frames that include an FCS and one
for encapsulated frames that don't include an FCS. Use the appropriate
versions.
In the ISL dissector, do the same sort of processing we do in the
Ethernet dissector to figure out whether the frame has a trailer or not
and whether it has an FCS or not.
svn path=/trunk/; revision=12593
- enable Windows' ShellExecute command to call Ethereal without specifying
the installation path (a new key added in the registry)
- decode 2 more options in the OPSI plugin.
svn path=/trunk/; revision=12363
address table if we don't need the plugin address table, so as to catch
plugin dissectors that don't directly include stuff they need -
eventually, the plugin address table stuff should completely go away, so
we don't want dissectors depending on it.
Fix those dissectors caught by this.
Don't include "simple_dialog.h" in the ASN.1 dissector - it doesn't use
it.
svn path=/trunk/; revision=12140
converted to pointers to null strings (see prefs.c for an explanation).
Initialize "current_asn1" to a mallocated null string.
That lets us use "strcmp()" to compare asn1_filename and current_asn1.
We already do that with asn1_pduname and current_pduname, so use
"strcmp()" for them as well.
Call "build_pdu_tree()" if we haven't yet built a PDU tree, even if the
PDU type preference hasn't changed.
Don't register with any of the ports unless we have a PDU tree, so we
don't try to dissect with a null PDU tree pointer.
Before constructing a PDU tree, if we already have a PDU tree, free it.
When we free data_nodes, free the data attached to the nodes.
Make a bunch of stuff static.
svn path=/trunk/; revision=12045
and as plugin dissectors shouldn't be linked with GTK+ (so that they
don't depend on Ethereal being built with a particular version of GTK+ -
Ethereal is packaged for Windows in both GTK+ 1.3[.x] and 2.x versions -
and so that they can work with Tethereal, which doesn't use GTK+).
svn path=/trunk/; revision=11840
check for it in the Gryphon plugin.
Use "tvb_get_ntoh64()" to fetch the time stamp, and format it similarly
to the way absolute date/time time stamps are formatted.
svn path=/trunk/; revision=11800
preferences to the new multi-port ones, so that, instead of complaining
when the old preferences were seen, we make the port be the one port in
the new preference.
Make the "message_win" "generic ASN.1" preference an obsolete
preference, so we silently ignore it rather than complaining about it.
svn path=/trunk/; revision=11623
include of <resolv.h> in any system header file gets the system
<resolv.h> (needed for builds on Tru64 with GTK+ 1.2[.x]).
svn path=/trunk/; revision=11615
add SCTP support;
allow more than one port number to be specified;
add recovery from garbled or incomplete ASN.1 messages.
svn path=/trunk/; revision=11572
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
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.
svn path=/trunk/; revision=11400
(plugins/mgcp/packet-mgcp.c), initially for the ConnectionParameters(P),
and updates/adds some specification references.
This patch makes the sub parameter values filterable as numbers and
may allow for improved MGCP statistics in the future.
svn path=/trunk/; revision=11033
convenient to put into a command line (no capital letters, no spaces to
require quotes), and one that's a detailed description for use in the
UI. Allow either of them in the preferences file or "-o" option; use
the detailed description in the UI, and also use it when writing the
preferences out, so that the preference will be readable by older
versions of Ethereal (assuming the preference existed in that version).
Update "README.developer" to give more detail about an enum_val_t (and
to put the _t in), and to give a more detailed description of the
"radio_buttons" argument to "prefs_register_enum_preference()".
svn path=/trunk/; revision=10982
add a config.nmake option to control whether to build
libethereal.dll or not;
remove "./wiretap" from PATH to prevent problems due to
wrongly-loaded files;
build dissector.lib with MSVC;
move "print.c" and "ps.c" to the dissector helpers, as "print.c"
imports variables from packet-frame.c and packet-data.c, which
are in libethereal;
move "g711.c" out of the dissector helpers, as they're used only
by Ethereal in a tap, not in Tethereal or in any dissector;
add a .def file for libethereal;
arrange to declare global variables exported from libethereal
with "__declspec(dllimport)" when building programs that import
those variables;
update the NSIS installer.
Make the "configure" script define ETH_VAR_IMPORT as "extern".
svn path=/trunk/; revision=10834
errors to the user. Use that, rather than "g_warning()", in the
Diameter dissector to report errors reading the dictionary.
Make the format argument to "simple_dialog()" a "const" pointer.
Fix up the read-error message in Tethereal to end with a newline.
If a simple dialog is requested before the main window or the
capture-control window is popped up, queue it up and pop the queued
messages up once the main or capture-control window is displayed.
svn path=/trunk/; revision=10616
line to every Makefile.am file for a given plugin XXX:
XXX_la_LIBADD = -L../../epan -lethereal @GLIB_LIBS@
This way symbols defined in libethereal and GLib are resolved when linking
the plugin dissector modules.
svn path=/trunk/; revision=10601
nth-grandparent-up for a protocol tree item and to get the last item
created by the BER dissector (that API and the new names for the
universal tags were supplied by him - the checkin item didn't give him
credit).
svn path=/trunk/; revision=10491
support them.
From Ronnie Sahlberg: Kerberos updates with new constants from the
current draft, decryption and dissection of Kerberos blobs, and changes
to work with the changed BER dissector.
svn path=/trunk/; revision=10479
that dissectors should call to report file open and read errors, and
have "report_open_failure()" and "report_read_failure()" call through
those pointers, rather than being defined and exported by the
application using libethereal - instead, the application would define
those functions and pass pointers to them to 'epan_init()".
Move "report_err.h" to the epan directory, as the functions it declares
are now part of the libethereal API.
svn path=/trunk/; revision=10470
have to worry about overflowing a buffer; thanks to Stefan Esser for
catching that one. (It also means we handle it if there's no '\0' at
the end.)
svn path=/trunk/; revision=10341
Update README.plugins to use ENABLE_STATIC instead of __ETHEREAL_STATIC__
Update some plugins, that were created after my changes according to the
outdated docs.
Changed occurrences of
G_MODULE_EXPORT void plugin_reg_handoff(void)
into
G_MODULE_EXPORT void
plugin_reg_handoff(void)
as the one line Python version doesn't work with the Python of Suse 9.0
svn path=/trunk/; revision=10281
read errors; there are separate implementations for Ethereal (pops up an
alert box) and Tethereal (prints an error message).
Use those routines in the ASN.1 dissector.
svn path=/trunk/; revision=10152
the ASN.1 file if the pathname is the old default file pathname, with
the last component preceded by "/" rather than "\", to suppress
complaints if you have a preferences file saved under the old regime.
svn path=/trunk/; revision=10118
scrolled_window_new().
added gtk_scrolled_window_set_policy(AUTOMATIC,AUTOMATIC) to
scrolled_window_new()
added GTK2's gtk_scrolled_window_set_shadow(GTK_SHADOW_IN)
to every place needed
svn path=/trunk/; revision=9999
type in the IrLAP control field - on most UNIXes the dissector should be
able to use the table from the main program, but that doesn't currently
work on Windows.
svn path=/trunk/; revision=9717
tables, for use in the top-level item for the control field, for
unnumbered frame function codes for commands and responses. If the
argument is null, default to the standard tables.
Use "dissect_xdlc_control()" and the #defines from "xdlc.h" for IrDA.
Use the reported length rather than the data length in the IrDA
dissector when iterating over the data in an IrDA packet.
Make "dissect_xid()" update the column information as well as the
protocol tree. Put the slot number into the protocol tree only for
command frames - "the slot number field is undefined in discovery XID
response frames", to quote the IrLAP spec.
svn path=/trunk/; revision=9716
tables, for use in the top-level item for the control field, for
unnumbered frame function codes for commands and responses. If the
argument is null, default to the standard tables.
Use "dissect_xdlc_control()" and the #defines from "xdlc.h" for IrDA.
Use the reported length rather than the data length in the IrDA
dissector when iterating over the data in an IrDA packet.
Make "dissect_xid()" update the column information as well as the
protocol tree. Put the slot number into the protocol tree only for
command frames - "the slot number field is undefined in discovery XID
response frames", to quote the IrLAP spec.
svn path=/trunk/; revision=9715
tables, for use in the top-level item for the control field, for
unnumbered frame function codes for commands and responses. If the
argument is null, default to the standard tables.
Use "dissect_xdlc_control()" and the #defines from "xdlc.h" for IrDA.
Use the reported length rather than the data length in the IrDA
dissector when iterating over the data in an IrDA packet.
Make "dissect_xid()" update the column information as well as the
protocol tree. Put the slot number into the protocol tree only for
command frames - "the slot number field is undefined in discovery XID
response frames", to quote the IrLAP spec.
svn path=/trunk/; revision=9713
dissectors assume a two's-complement machine (we offer our apologies to
those trying to run it on sign-magnitude IBM 7090/7094's and one's
complement Univac/Unisys 11xx machines :-)).
svn path=/trunk/; revision=9584
pointers to hf_ values, so the subfields of the control field are put
into the protocol tree as filterable items. Change the protocols that
use it appropriately.
Export "dissect_xdlc_control()" to plugins.
svn path=/trunk/; revision=9531
packet-irda.c:453:1: warning: C++ style comments are not allowed in ISO C90
packet-irda.c:453:1: warning: (this will be reported only once per input file)
(+ several more // disabling debug output)
svn path=/trunk/; revision=9377
From Anders Broman: patches to various makefiles and configure scripts
to build the V5UA dissector, and patches to make it compile.
From me: .cvsignore file, and NSIS patches.
svn path=/trunk/; revision=9311
than32 bits risks overflow problems).
Use "gint" for tvbuff lengths.
Use -1 for uses of "tvb_length_remaining()" that mean "the rest of the
tvbuff"; use "tvb_reported_length_remaining()" for "the rest of the
packet.
Clean up the handling of the DOCSIS payload.
svn path=/trunk/; revision=9267
than32 bits risks overflow problems).
Use a "gint" as the length of the vsif TLV, as that's what
"tvb_length_remaining()" returns.
svn path=/trunk/; revision=9266
protocol tree stuff not use GNodes means that the ASN.1 plugin now needs
to be explicitly linked against GLib in order to get access to the GNode
routines, otherwise you get errors from the run-time linker.
svn path=/trunk/; revision=9173
like "decode_enumerated_bitfield()" but handles value_string tables
containing values as they appear in the bitfield rather than as they
appear in the item containing the bitfield.
svn path=/trunk/; revision=9134
Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()"
take a "protocol_t *" as an argument, so they don't have to look up the
"protocol_t" - this will probably speed them up considerably, and
they're called on almost every dissector handoff.
Get rid of a number of "proto_is_protocol_enabled()" calls that aren't
necessary (dissectors called through handles, including those called
through dissector tables, or called as heuristic dissectors, aren't even
called if their protocol isn't enabled).
Change some direct dissector calls to go through handles.
svn path=/trunk/; revision=9002
Make "proto_is_protocol_enabled()" and "proto_get_protocol_short_name()"
take a "protocol_t *" as an argument, so they don't have to look up the
"protocol_t" - this will probably speed them up considerably, and
they're called on almost every dissector handoff.
Get rid of a number of "proto_is_protocol_enabled()" calls that aren't
necessary (dissectors called through handles, including those called
through dissector tables, or called as heuristic dissectors, aren't even
called if their protocol isn't enabled).
Change some direct dissector calls to go through handles.
svn path=/trunk/; revision=8979
typedef enum _foo foo;
enum _foo {
...
};
You have to define the enum before using it in a typedef. (If I had my
ANSI C89 standard handy, I could say whether that was legal ANSI C or
not.)
svn path=/trunk/; revision=8918
* Added a new function get_file_in_temp() to
epan/filesystem.c. This because of asn1.dll plugin which
had code to write to a log-file "c:\temp\ethereal.log". I feel
this patch makes this safer; I don't even have a c:\temp dir.
* Patched packet-asn1.c to use get_file_in_temp().
* Added some #undef to packet-snmp.c to silence gcc.
* Changed "%u" -> "%lu" formats in util.c
Rename get_file_in_temp() to get_tempfile_path() to match other function
names.
svn path=/trunk/; revision=8859
ENOENT when trying to open the SNACC file, and the file we're trying to
open is the default file, don't print a warning.
Fix some typoes.
svn path=/trunk/; revision=8806
recurse into subdirectories doing "nmake -f Makefile.nmake distclean".
Have "nmake -f Makefile.nmake clean" not remove stuff that "make clean"
doesn't remove (such as Flex/Bison output and config.h files) - and have
"nmake -f Makefile.nmake distclean" remove stuff that "make distclean"
removes, including "tethereal-tap-register.c" and
"ethereal-tap-register.c".
svn path=/trunk/; revision=8672
/* XXX This code is neither Endianess independent, nor will it work
* on platforms that do not support the *optional* guin64 type
*/
svn path=/trunk/; revision=8626
Added two new "well known destinations": SD_IOPWR AND SD_UTIL.
Added logic to dissect the CMD_SET_TIME command.
Added an alterate destination for the CMD_PGM_START command.
Added logic to dissect the CMD_SCHED_MSG_REPLACE command.
Added logic to dissect the CMD_USDT_REGISTER command.
Added logic to dissect the CMD_USDT_SET_FUNCTIONAL command.
Added logic to dissect the following commands
CMD_IOPWR_GETINP
CMD_IOPWR_GETLATCH
CMD_IOPWR_CLRLATCH
CMD_IOPWR_GETOUT
CMD_IOPWR_SETOUT
CMD_IOPWR_SETBIT
CMD_IOPWR_CLRBIT
CMD_IOPWR_GETPOWER
CMD_UTIL_SET_INIT_STRATEGY
CMD_UTIL_GET_INIT_STRATEGY
Added the ability to recongnize more IOCTLS. (For the SJA1000 driver, LIN
and power drivers.)
Added the ability to recognize more card types.
Added dissection of more fields for CMD_SCHED_TX command.
Bug fixes and general updating.
svn path=/trunk/; revision=8607
Remove the internal packet-per.c functions
"dissect_per_length_determinant()" and
"dissect_per_normally_small_nonnegative_whole_number()" from the
plugin API, as they shouldn't be used outside the PER dissector.
Remove the H.225/H.245 functions
"dissect_h225_TransportAddress()" and
"dissect_h245_NonStandardParameter()" from the plugin API until
we really need them in plugins.
Add the string dissector table functions to the plugin API.
svn path=/trunk/; revision=8532
- get rid of ...-static.o files in the build process (now done via
config.h instead of compiler flag)
- make packet-rtnet link statically (remove one unused function, rename
another one)
svn path=/trunk/; revision=8389
translate MEGACO error codes to descriptions, and show the media
descriptor differently.
"tvb_new_subset(tvb,0,tvb_length(tvb),-1)" returns a tvbuff equivalent
to "tvb"; don't bother calling "tvb_new_subset()".
svn path=/trunk/; revision=8353
"tvb_new_subset(tvb, 0, -1, -1)", which is equivalent to just "tvb" -
it's creating a "subset" that includes the entire tvbuff. Don't bother
with the "tvb_new_subset()" call.
svn path=/trunk/; revision=8341