Commit Graph

2280 Commits

Author SHA1 Message Date
Guy Harris 352f8f1603 "capture_child" isn't declared or defined if HAVE_LIBPCAP isn't defined;
check it only if HAVE_LIBPCAP is defined.

svn path=/trunk/; revision=2315
2000-08-21 01:52:57 +00:00
Laurent Deniel e0a8d41556 Add a popup menu for the hexdump window. For now, it has only the
common items but let's prepare the future (e.g. Match selected)...

svn path=/trunk/; revision=2314
2000-08-20 21:55:58 +00:00
Laurent Deniel ccdbb6ca6d Cleaning (remove comment and tcp_extra_data).
svn path=/trunk/; revision=2313
2000-08-20 20:48:55 +00:00
Laurent Deniel 475fd9fdf9 Fix a comment.
svn path=/trunk/; revision=2312
2000-08-20 19:40:47 +00:00
Laurent Deniel b77c53270f "ascend" was not working as display filter...
svn path=/trunk/; revision=2311
2000-08-20 19:16:39 +00:00
Laurent Deniel 7440dd0ec8 - proto_bgp was not added in protocol tree, so "bgp" was not
working as display filter...

- add display filters.

svn path=/trunk/; revision=2310
2000-08-20 18:10:12 +00:00
Laurent Deniel e74040c295 - do not issue the font warning if in the child process (used for real time
capture) since it has already been done at GUI startup.

- fix a font name in warning message.

svn path=/trunk/; revision=2309
2000-08-20 15:38:50 +00:00
Laurent Deniel b634f019f4 SMTP is Simple *Mail* Transfer Protocol not Message.
Add [OLD_]CHECK_DISPLAY_AS_DATA call.

svn path=/trunk/; revision=2308
2000-08-20 15:25:17 +00:00
Guy Harris c1214ede33 Use "memset()" to zero byte arrays, and "memcpy" to copy into them.
When copying IPv4 or IPv6 addresses, copy the minimum of the number of
bytes in the source and the destination, so that if the prefix length is
bogus, we don't overwrite the buffer.

"tvb_get_ptr()" returns a "guint8 *"; give the variable to which its
value is assigned that type.

svn path=/trunk/; revision=2307
2000-08-20 09:07:16 +00:00
Guy Harris 2f2614652a When the Win32 GTK+ constructs fake XLFD names for Windows fonts, it
uses "normal" rather than "medium" as the weight name for normal-weight
fonts; map "normal", as well as "medium", to "bold" when constructing
the name of the bold version of a font.

svn path=/trunk/; revision=2306
2000-08-20 09:02:29 +00:00
Guy Harris ad934375fa Remove references to the "-b" option from the usage messages, as that
option has been removed.

svn path=/trunk/; revision=2305
2000-08-20 08:08:30 +00:00
Guy Harris e697eb8e9f Instead of having the normal-weight and bold fonts set separately,
generate the name of the boldface font from the Roman font; if the two
fonts don't have the same widths, the display will look weird when a
field is selected, and it's a bit of a pain for the user to have to
select *two* fonts.

On UNIX/X, default to
"-*-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-*-" rather than to
"-*-lucidatypewriter-medium-r-normal-*-*-120-*-*-*-*-iso8859-1" - some
Linux distributions appear to lack the Lucida typewriter font.

Add a "gui.font_name" preference to the preferences file, specifying the
normal-weight font to use.  Have it settable from the "GUI" tab in the
Preferences dialog box - the "Font..." button, when clicked, pops up a
font selection dialog box.

If we either can't open the selected font or the boldfaced version of
the font, default to "6x13" and "6x13bold" as fallbacks - the former
will probably be "fixed", and the latter would be "fixedbold" if X
actually created such an alias, but it doesn't so we use "6x13bold"
instead.

svn path=/trunk/; revision=2304
2000-08-20 07:53:45 +00:00
Guy Harris 2962655ac5 This is an SMTP dissector, not a BXXP dissector; fix the comment at the
beginning.

Pass "pinfo->fd", not "fd", to "p_get_proto_data()", so that it'll
continue to work even when tvbuffified.

Use "strchr()", not "index()" - "strchr()" is in the ANSI C standard,
and may be in some systems that don't have "index()", whereas those
systems that had "index()" but not "strchr()" got with the ANSI C
program a while ago.

Use "old_dissector_add()" and "old_dissector_delete()" to register and
unregister the SMTP dissector, as it's not yet been tvbuffified.

svn path=/trunk/; revision=2303
2000-08-20 02:16:23 +00:00
Richard Sharpe fe7540783e Added packet-smtp.c and modified packet.c to include code that was never
finished ...

The SMTP dissection is a good start, but does not handle the message
body at all ...

On to that next.

svn path=/trunk/; revision=2302
2000-08-19 23:06:51 +00:00
Richard Sharpe 0d41da6914 Adding the first part of packet-smtp.c ...
This needs some additional parts, and points to the
need for a dissector for the ident protocol, but I want to
try to automatically generate that ...

svn path=/trunk/; revision=2301
2000-08-19 23:00:06 +00:00
Laurent Deniel 9110dda9dc Add Mbit/sec to the summary window.
svn path=/trunk/; revision=2300
2000-08-19 21:36:51 +00:00
Laurent Deniel 8d95269d34 Fix buffer overflow on zlib uncompression errors.
svn path=/trunk/; revision=2299
2000-08-19 18:31:23 +00:00
Laurent Deniel 8bc95e98e4 Fix potential buffer overflows.
svn path=/trunk/; revision=2298
2000-08-19 18:20:59 +00:00
Laurent Deniel 69dce2464b - fix potential buffer overflow problems.
- fix potential memory allocation problems (e.g. if PF_DIR is changed
  to a longer string).

- add some #defines.

svn path=/trunk/; revision=2297
2000-08-19 17:53:02 +00:00
Guy Harris d62f730035 Michael Tuexen's patch to add "sctp.port" as a dissector table so that
protocols running atop SCTP can register themselves with a particular
SCTP port number.

Also, clean up the credits for him - there were two entries, one for
some initial SCTP support in "ipprotostr()" and in the capture dialog,
and one for the SCTP dissector itself - the latter subsumes the former,
so just keep the latter.

svn path=/trunk/; revision=2296
2000-08-19 08:37:43 +00:00
Guy Harris b0e0ec1763 Michael Tuexen's changes to define a port type for SCTP ports, handle
SCTP ports in "col_set_port()", and add a "get_sctp_port()" routine to
resolve SCTP port numbers to services.

Also, make the "get_XXX_port()" routines format the port number as an
unsigned integer, rather than a signed integer, if the service name for
the port isn't found (the port number passed in is unsigned).

svn path=/trunk/; revision=2295
2000-08-19 08:26:04 +00:00
Jun-ichiro itojun Hagino e2eb846d0f avoid pointer typecast, which leads to unaligned access.
svn path=/trunk/; revision=2294
2000-08-18 15:52:02 +00:00
Laurent Deniel 9c05ee2741 - remove ^M
- add CHECK_DISPLAY_AS_DATA()

svn path=/trunk/; revision=2293
2000-08-18 15:45:30 +00:00
Gilbert Ramirez 729f85b1ad Add Zebra dissector from Jochen.
svn path=/trunk/; revision=2292
2000-08-18 15:26:52 +00:00
Laurent Deniel e72d4317ed - move some #preprocessor directives at the fisrt column.
- do not silently ignore plugins with incomplete symbols
  or non compilable filter (but report the error to the user).

svn path=/trunk/; revision=2291
2000-08-18 14:22:20 +00:00
Laurent Deniel f395740875 Modify the Gryphon plugin code in order to avoid an abort when the
plugin is enabled -> disabled -> re-enabled due to the fact that
the protocol registration is performed at each plugin_init() call
(and there is no protocol cleanup like with dfilter_cleanup).

Now we use the proto_xxx static variable to check if it is the first
activation or not (in this case, the proto_register_xxx routines are
not called.

svn path=/trunk/; revision=2290
2000-08-18 13:47:59 +00:00
Jun-ichiro itojun Hagino 73fae332dc add dissector for draft-ietf-ipngwg-icmp-name-lookups-06.txt
(icmp node information query).  not finished yet - need DNS decoding.
for DNS name queries/replies.

svn path=/trunk/; revision=2289
2000-08-18 12:05:27 +00:00
Jun-ichiro itojun Hagino 1304e78cec A6 records are now RFC 2874 (not i-d)
svn path=/trunk/; revision=2288
2000-08-18 09:05:02 +00:00
Laurent Deniel c06276085e Add a comment about the use of prefs_register_module() in protocol dissectors
(the name should match the one specified at the proto_register_protocol() call).

svn path=/trunk/; revision=2287
2000-08-17 21:02:10 +00:00
Gilbert Ramirez 9e2ab759e5 Add comments about pointers.
svn path=/trunk/; revision=2286
2000-08-17 17:16:02 +00:00
Guy Harris 170f561bf2 Don't catch the "delete_event" signal for the "Help" window - we just
need to catch the "destroy" event, and have its handler clear the global
help window pointer.

That means that the "Close" button callback also need not clear that
pointer, it merely needs to destroy the widget; given that we're now
always passing it a pointer to the widget as the "data" argument, we
just have it destroy that widget.

svn path=/trunk/; revision=2285
2000-08-17 08:17:38 +00:00
Guy Harris da88c237c2 It was silly of me to require that "forget_scrolled_window()" be called
explicitly; the right thing to do was to have
"remember_scrolled_window()" catch the "destroy" signal on the scrolled
window widget, and have the handler for that signal forget the scrolled
window.

Doing that obviates the need to have creators of scrolled windows keep
track of the windows they have and forget them when they're destroyed.

The signal for a "the window manager has requested that this window go
away" event is "delete_event", not "delete-event"; fix the
"gtk_signal_connect()" calls that were using "delete-event".

svn path=/trunk/; revision=2284
2000-08-17 07:56:44 +00:00
Laurent Deniel ec5366cede Fix a long standing bug in the scrolled window handling in follow TCP stream
which make ethereal aborts if the preferences were modified (or cancel) after
the TCP window was closed.

Fix the same bug in the other scrolled window handling (help & protocols).

(forget_scrolled_window() was not called at the window closure).

svn path=/trunk/; revision=2283
2000-08-16 21:08:48 +00:00
Laurent Deniel e4c5d20f3a The "Edit:protocols..." window is now sorted.
svn path=/trunk/; revision=2282
2000-08-16 20:14:24 +00:00
Laurent Deniel df89199498 - remove "Match Selected" from the packet list popup menu.
- reorganise a bit the two right click popup menus :

  . the first part is common to the packet list and protocol tree menus
  . the second part is window-specific.

 (if we had a popup menu for the hexdump window, that would be the same).

svn path=/trunk/; revision=2281
2000-08-16 19:15:11 +00:00
Guy Harris c8cb7ffb19 In "set_plist_sel_browse()", don't unselect the current packet if the
selection mode of the packet list window isn't actually going to be
changed - it's a bit annoying to have the protocol tree window clear out
from under you if all you've done is pop up the Edit->Preferences dialog
and cancelled it (or accepted it without changing any GUI preference).

svn path=/trunk/; revision=2280
2000-08-15 22:22:35 +00:00
Guy Harris 75a756e881 Rename the "Properties" pop-up menu item "Protocol Properties", to make
it clearer what properties it lets you edit.  (Perhaps it should say
"Edit Protocol Properties", to make it even clearer?)

svn path=/trunk/; revision=2279
2000-08-15 21:35:34 +00:00
Guy Harris a0d9061db6 Get rid of an unused variable.
svn path=/trunk/; revision=2278
2000-08-15 21:27:46 +00:00
Laurent Deniel e559d013fc Oups. Forgot some set_menus_for_selected_tree_row calls.
svn path=/trunk/; revision=2277
2000-08-15 21:03:55 +00:00
Laurent Deniel 55d80b7bec Fix a problem with const char *
svn path=/trunk/; revision=2276
2000-08-15 20:53:31 +00:00
Laurent Deniel 5a326952de Implements the "Properties" menu item which displays the preferences window
at the correct notebook page when a particular protocol (which has registered
some preferences) is selected in the tree view.

- add set_menus_for_selected_tree_row() in menu.[ch]

- add prefs_is_registered_protocol() and
      prefs_get_title_by_name() in prefs.[ch]

svn path=/trunk/; revision=2275
2000-08-15 20:46:17 +00:00
Laurent Deniel e784cb0c0f Remove the IPv6 restriction for the Follow TCP stream feature.
svn path=/trunk/; revision=2274
2000-08-15 18:44:52 +00:00
Mike Hall 32eb1e4b8a The caplen and iplen are not always going to be equal. Need to use > and <= instead of != ==.
svn path=/trunk/; revision=2273
2000-08-15 18:19:06 +00:00
Uwe Girlich 2452ceac2b Much cleaner tvb start code for file handle dissection.
svn path=/trunk/; revision=2272
2000-08-14 13:21:15 +00:00
Uwe Girlich c6097bf684 Reversed the latest changes for protocol enable/disable in RPC sub-dissectors.
The RPC layer itself handles all this stuff.

svn path=/trunk/; revision=2271
2000-08-14 11:36:04 +00:00
Guy Harris 364ec7fa05 PPP/WAN captures work on Windows 9x, so speak of them not working only
on NT/2000.

Refer to Tethereal, not to Ethereal, in the long explanations of capture
problems in Tethereal.

svn path=/trunk/; revision=2270
2000-08-14 08:36:41 +00:00
Uwe Girlich 78871aef3a proto_is_protocol_enabled() test for sub-dissectors made here already.
svn path=/trunk/; revision=2269
2000-08-14 07:47:19 +00:00
Laurent Deniel 5a5e16ced7 Add the "Edit:Protocols..." feature which currently only implements
the following:

It is now possible to enable/disable a particular protocol decoding
(i.e. the protocol dissector is void or not). When a protocol
is disabled, it is displayed as Data and of course, all linked
sub-protocols are disabled as well.

Disabling a protocol could be interesting:

- in case of buggy dissectors
- in case of wrong heuristics
- for performance reasons
- to decode the data as another protocol (TODO)

Currently (if I am not wrong), all dissectors but NFS can be disabled
(and dissectors that do not register protocols :-)

I do not like the way the RPC sub-dissectors are disabled (in the
sub-dissectors) since this could be done in the RPC dissector itself,
knowing the sub-protocol hfinfo entry (this is why, I've not modified
the NFS one yet).

Two functions are added in proto.c :

gboolean proto_is_protocol_enabled(int n);
void proto_set_decoding(int n, gboolean enabled);

and two MACROs which can be used in dissectors:

OLD_CHECK_DISPLAY_AS_DATA(index, pd, offset, fd, tree)
CHECK_DISPLAY_AS_DATA(index, tvb, pinfo, tree)

See also the XXX in proto_dlg.c and proto.c around the new functions.

svn path=/trunk/; revision=2268
2000-08-13 14:20:32 +00:00
Laurent Deniel cc36f0b931 Add the "Edit:Protocols..." feature which currently only implements
the following:

It is now possible to enable/disable a particular protocol decoding
(i.e. the protocol dissector is void or not). When a protocol
is disabled, it is displayed as Data and of course, all linked
sub-protocols are disabled as well.

Disabling a protocol could be interesting:

- in case of buggy dissectors
- in case of wrong heuristics
- for performance reasons
- to decode the data as another protocol (TODO)

Currently (if I am not wrong), all dissectors but NFS can be disabled
(and dissectors that do not register protocols :-)

I do not like the way the RPC sub-dissectors are disabled (in the
sub-dissectors) since this could be done in the RPC dissector itself,
knowing the sub-protocol hfinfo entry (this is why, I've not modified
the NFS one yet).

Two functions are added in proto.c :

gboolean proto_is_protocol_enabled(int n);
void proto_set_decoding(int n, gboolean enabled);

and two MACROs which can be used in dissectors:

OLD_CHECK_DISPLAY_AS_DATA(index, pd, offset, fd, tree)
CHECK_DISPLAY_AS_DATA(index, tvb, pinfo, tree)

See also the XXX in proto_dlg.c and proto.c around the new functions.

svn path=/trunk/; revision=2267
2000-08-13 14:09:15 +00:00
Guy Harris db31ba13c8 Cope with some of the *other* oddities that Linux ISDN appears to stick
at the beginning of packets.

svn path=/trunk/; revision=2266
2000-08-13 08:53:51 +00:00