sets errno to 0 when we can't open a file. This resurrected the annoying
"C:\Program Files\Ethereal\asn1/default.tt" error in the ASN.1 plugin,
since we depended on errno being set to ENOENT. Move some logic around
to account for this.
svn path=/trunk/; revision=18073
while this should improve performance by unmeasurably little it does have the sideeffect that once we finish the rewrite tcp analysis might actually work and work well even for tcp over tcp tunnelling.
this also means that if you include packet-tcp.h you also need to include emem.h .
svn path=/trunk/; revision=17681
include fails as we don't do -Iwiretap.
If we have it, include <sys/stat.h> in epan/filesystem.c - we need it
for stat() and the macros and structures it uses.
svn path=/trunk/; revision=16410
to do this, I've added file_util.h to wiretap (would file_compat.h be a better name?), and provide compat_macros like eth_open() instead of open(). While at it, move other file related things there, like #include <io.h>, definition of O_BINARY and alike, so it's all in one place.
deleted related things from config.h.win32
As of these massive changes, I'm almost certain that this will break the Unix build. I'll keep an eye on the buildbot so hopefully everything is working again soon.
svn path=/trunk/; revision=16403
-use g_snprintf instead of sprintf and snprintf
-use g_strdup_printf where appropriate
-remove #include "snprintf.h" (as only g_snprintf should be used)
-replace some more alloc/realloc/calloc/free with their glib pendants
svn path=/trunk/; revision=15264
range implementation.
Make string preferences "const", to squelch compiler warnings, and make
other variables and arguments "const" to match.
Port numbers are unsigned; display them as such.
svn path=/trunk/; revision=15037
it serves the same purpose as the register routine in a built-in
dissector, and don't require all dissectors to have one, as they might
just be taps.
Get rid of the stats tree's init routine, as it's just a tap, and as it
doesn't do anything.
Update the idl2eth Python script to generate plugins with register routines.
svn path=/trunk/; revision=13644
Introduce a new init routine for plugins,
which does not take the plugin api table as an
argument and allows etheral to distinguish
between plugins using the old and the new api.
Update README.plugins accordingly
Change all g_warnings() in epan/plugins.c to report_failue().
On windows we do not have a log console open while
loading the plugins, because a log console cannot be opened before the prefs have been read. Thus g_warnings()
does not work for reporting problems with plugins.
svn path=/trunk/; revision=13596
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
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
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
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
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
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
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