Commit Graph

57 Commits

Author SHA1 Message Date
Jörg Mayer 7c4176d868 Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6117
2002-08-28 21:04:11 +00:00
Jörg Mayer 173fe5aef4 Replace the types from sys/types.h and netinet/in.h by their glib.h
equivalents for the toplevel directory. The removal of winsock2.h will
hopefully not cause any problems under MSVC++, as those files using
struct timeval still include wtap.h, which still includes winsock2.h.

svn path=/trunk/; revision=5932
2002-08-02 23:36:07 +00:00
Guy Harris 7dc9756921 Have "print_line()" take an indentation argument, and do blank
padding when printing text and use "putline" when printing PostScript.
Eliminate "hexdump", as it's just a special case of "putline".

Have "proto_tree_print_node()" just call "print_line()".

Get rid of "print_ps_hex()" - the font used for the hex dump and the
protocol tree are the same, so there's no need to switch fonts.

svn path=/trunk/; revision=5798
2002-06-29 09:45:06 +00:00
Guy Harris 2cf14082d6 Fix up a comment.
svn path=/trunk/; revision=5748
2002-06-23 23:43:32 +00:00
Guy Harris 11f786daee Display as many digits of the offset, in the hex dump, as would be
required by the largest offset value.

Get rid of trailing blanks in hex dump lines.

svn path=/trunk/; revision=5739
2002-06-22 22:31:29 +00:00
Guy Harris a7c8b73bdf Use a common routine to print protocol tree nodes as text or PostScript,
rather than having duplicate routines (the PostScript one was missing
some bug fixes in the text one).

svn path=/trunk/; revision=5731
2002-06-22 01:43:57 +00:00
Guy Harris 567aac9787 Get rid of separate "print_hex_data_text()" and "print_hex_data_ps()"
routines; instead, rename "print_hex_data_common()" to
"print_hex_data_buffer()" as it prints a buffer in hex and ASCII (or
EBCDIC), and have it take the print format as an argument.

Have it use "print_line()" to print lines, and fix "print_line()" so
that it prints a buffer *without* a newline at the end, printing the
newline itself.

svn path=/trunk/; revision=5729
2002-06-22 01:24:23 +00:00
Guy Harris 0a88caf96a In the hex dump, generate the offset at the beginning of each line in
common code, rather than in print-format-specific code, and have
"print_hex_data_common()" put out the blank line before the dump itself
rather than relying on the print-format-specific "start printing the hex
dump" code to do it.

svn path=/trunk/; revision=5728
2002-06-22 00:21:38 +00:00
Guy Harris b2277c9cfc Use common code to print the hex dump as text and PostScript.
svn path=/trunk/; revision=5727
2002-06-21 23:52:47 +00:00
Guy Harris 9e92272188 Make the hex dump when printing PostScript look the same way it does
when printing plain text.

svn path=/trunk/; revision=5726
2002-06-21 23:04:30 +00:00
Guy Harris 392a7dfc04 Get rid of the "data_src" member of the "frame_data" structure; put it
in the "packet_info" structure instead, as we don't need a pointer for
every single frame in the capture file, just for each frame for which we
currently have an open "epan_dissect_t".

svn path=/trunk/; revision=5614
2002-06-04 07:03:57 +00:00
Guy Harris ae88c45ef0 From Joerg Mayer: make a pile of stuff not used outside one source file
static, and add a new "packet-data.h" to declare "proto_data".

Display escape sequences in octal in the IAPP dissector, as is now done
in the RADIUS dissector.

svn path=/trunk/; revision=5441
2002-05-10 23:20:38 +00:00
Guy Harris 5f948e482c In the tree-printing code, we may be handed a leaf node, so don't
require that "fi->tree_type" be positive.

svn path=/trunk/; revision=5084
2002-04-02 05:07:36 +00:00
Guy Harris 5de2533f2d Start assigning ett_ values at 0, rather than 1; get rid of the reserved
ETT_NONE entry.

Initialize the "tree_type" field of a "field_info" structure to -1,
meaning "this has not been given a subtree".  Add checks before using
that field that it's in range.  That way, you have to create a subtree
before putting protocol tree items under another item.

We allocate the "tree_is_expanded" array when we've registered all
dissectors; there's no need to allocate it while we're registering
dissectors and, in fact, doing so means we leak memory (the memory for
the version we allocated while registering dissectors).

svn path=/trunk/; revision=5068
2002-04-01 02:00:53 +00:00
Guy Harris 63e8447614 From Joerg Mayer: get rid of unused arguments, and mark those that can't
be eliminated (because the function is called through a pointer, and
other functions called through the same pointer *do* use the argument)
as unused.

svn path=/trunk/; revision=5050
2002-03-31 20:57:02 +00:00
Guy Harris 435545629a Boost the maximum amount of indentation put into text output.
svn path=/trunk/; revision=4939
2002-03-14 05:41:59 +00:00
Guy Harris 6a21dc7e44 Don't give tvbuffs names; instead, give data sources names, where a
"data source" has a name and a top-level tvbuff, and frames can have a
list of data sources associated with them.

Use the tvbuff pointer to determine which data source is the data source
for a given field; this means we don't have to worry about multiple data
sources with the same name - the only thing the name does is label the
notebook tab for the display of the data source, and label the hex dump
of the data source in print/Tethereal output.

Clean up a bunch of things discovered in the process of doing the above.

svn path=/trunk/; revision=4749
2002-02-18 01:08:44 +00:00
Guy Harris 31fc804847 From Joerg Mayer: remove trailing blanks from hex dump in
print/Tethereal.

svn path=/trunk/; revision=4742
2002-02-15 11:56:10 +00:00
Guy Harris ee5ca25d31 Include files from the "epan" directory and subdirectories thereof with
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).

Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").

svn path=/trunk/; revision=4586
2002-01-21 07:37:49 +00:00
Gilbert Ramirez e1dc772471 Use new, correct method for retrieving field_info* from a proto_item*
(aka GNode*).

svn path=/trunk/; revision=4423
2001-12-18 21:31:02 +00:00
Gilbert Ramirez f14a6b8b91 Hopefully the last time I have to change my e-mail address.
svn path=/trunk/; revision=4199
2001-11-13 23:55:44 +00:00
Guy Harris b9222c0011 Various signed vs. unsigned fixes, from Joerg Mayer.
svn path=/trunk/; revision=3560
2001-06-18 01:49:17 +00:00
Guy Harris e52dd802c4 We only need to print the data corresponding to the field, so fetch only
that data with a "tvb_get_ptr()".

svn path=/trunk/; revision=3532
2001-06-08 10:07:55 +00:00
Guy Harris 2da9bb2696 When printing the contents of a raw-data field, don't use the raw data
of the current frame as the source, use the raw data of the tvbuff
that's the data source of that field.

svn path=/trunk/; revision=3531
2001-06-08 08:50:51 +00:00
Ashok Narayanan 2914e81177 Added 'text2pcap', a utility to convert text hexdumps into pcap
files. See text2pcap.1 (built from doc/text2pcap.pod) for details.

Changed 'tethereal -x' output to match hex dump format of text2pcap,
Ethereal and others.

svn path=/trunk/; revision=3421
2001-05-16 21:32:05 +00:00
Guy Harris d0608379b3 Always hand "print_line()" a string that ends with "\n".
svn path=/trunk/; revision=3184
2001-03-24 23:49:14 +00:00
Guy Harris 6e05db37f9 Put a blank line before the line identifying the data source for the
data being dumped.

svn path=/trunk/; revision=3183
2001-03-24 09:39:47 +00:00
Jeff Foster 45cde0fc88 Added named data sources printing support, written by Guy Harris
svn path=/trunk/; revision=3167
2001-03-23 18:44:20 +00:00
Gilbert Ramirez b218a8f550 Consolidate flags in struct frame_data, and add "visited" flag. Use
it in SOCKS dissector.

(Okay, how many times am I going to modify packet.h today, forcing you
to re-compile everything? :-)

svn path=/trunk/; revision=1850
2000-04-13 20:39:38 +00:00
Guy Harris 3e067b812c Fix files that had Gilbert's old e-mail address or that didn't have my
forwarding e-mail address.

svn path=/trunk/; revision=1522
2000-01-22 06:22:44 +00:00
Guy Harris 408e41d6ed "print_file()" is no longer used; nuke it.
svn path=/trunk/; revision=1430
2000-01-07 00:36:25 +00:00
Guy Harris c4a7eb6457 Printing multiple pages of PostScript wasn't as tricky as I thought; add
support for printing in PostScript to the "Print..." dialog box.

svn path=/trunk/; revision=1426
2000-01-06 07:33:35 +00:00
Gilbert Ramirez 71b7cd5031 Move GTK code out of summary.c and into gtk/summary_dlg.c
summary.c now provides a struct of info (see summary.h)

Changed the name of the summary dialogue callback (hence the change
in menu.c), and added a close button to the dialogue.

Moved #include <gtk/gtk.h> out of print.c and into prefs.h where it
was needed for GdkColor.

svn path=/trunk/; revision=1273
1999-12-10 04:21:04 +00:00
Guy Harris 5cc08a4b40 Include "util.h" to get the declaration of "EBCDIC_to_ASCII1()".
svn path=/trunk/; revision=1091
1999-11-22 08:03:31 +00:00
Gilbert Ramirez 942b69ce9a A "character encoding" variable is now set per packet. The existence
of SNA in a packet changes the character encoding from the default ASCII
to EBCDIC.

The hex-printing routines in the GUI code and in the printing code convert
to EBCDIC if appropriate.

svn path=/trunk/; revision=1089
1999-11-22 06:24:56 +00:00
Guy Harris b99cfa28c8 Warren Young's patch to add a "Print" button to the "Follow TCP Stream"
data window.

Some (belated) man page updates.

svn path=/trunk/; revision=950
1999-10-30 06:42:10 +00:00
Guy Harris e4f7809763 Add an item to the "File/Print" dialog box to ask that the full hex data
of the packet be printed (this is only done if "Print detail" is
selected; it should be grayed out of "Print summary" is selected).

If that item is selected, suppress the hex printing of uninterpreted
data items in the protocol tree.

Move some GTK+ keys not used outside of "gtk/print_dlg.c" from
"gtk/keys.h" into "gtk/print_dlg.c".

svn path=/trunk/; revision=736
1999-09-29 22:19:24 +00:00
Guy Harris 3823ab23be Add a "Expand all levels"/"Print as displayed" pair of radio buttons to
the "File/Print" dialog box; "Expand all levels" means that all levels
of the protocol tree should be printed, while "Print as displayed" means
that only those levels shown in the display should be printed.

Free the table of column widths once printing is done.

svn path=/trunk/; revision=671
1999-09-12 20:23:43 +00:00
Guy Harris 55dff94484 Add summary-vs-detail radio buttons to the print dialog box; detail
prints the protocol tree, and summary prints the fields in the summary
clist, with a header line at the beginning of the printout.

Print only packets selected by the current packet filter.

Just have "ARP" and "RARP" in the "Protocol" field for ARP packets;
whether it's a request or a reply can be seen in the "Info" field.

Add to the "Frame" section of the protocol tree the time between the
current packet and the previous displayed packet, and the packet number.
Have FT_RELATIVE_TIME fields be a "struct timeval", and display them as
seconds and fractional seconds (we didn't have any fields of that type,
and that type of time fits the delta time above).

Add an FT_DOUBLE field type (although we don't yet have anything using
it).

svn path=/trunk/; revision=666
1999-09-12 06:11:51 +00:00
Gilbert Ramirez 3c49e45cf7 More shuffling of GTK-related files to gtk subdirectory.
svn path=/trunk/; revision=635
1999-09-09 02:42:40 +00:00
Gilbert Ramirez 65c3e8d9bf Moved GTK-dependent routines for file dialogues, print dialogues, print
preferences, and menus to gtk subdirectory.

svn path=/trunk/; revision=623
1999-09-01 03:04:24 +00:00
Guy Harris 22c9ec90c8 Printing multiple frames in PostScript is a bit tricky, I think - I
think I may have to worry about page boundaries and the like - so, for
now, we make the "File/Print..." stuff print only as text.  ("Print
Packet" can still print PostScript, as always.)

We clean up a few text vs. PostScript things for printing multiple
frames, but it's still not ready for prime time.

svn path=/trunk/; revision=383
1999-07-23 21:09:25 +00:00
Guy Harris e14befef22 Fix "open_print_dest()" to do the right thing.
svn path=/trunk/; revision=379
1999-07-23 08:30:57 +00:00
Guy Harris 356a07b384 Add a "File/Print" menu item, which prints *all* the packets in the
capture to a file or printer.  This should eventually get the ability to
print either all the packets or only the packets selected by the display
filter, and possibly also the ability to print only packets M through N.

Get rid of "cur" member of "capture_file" structure; nobody used it.

There's no need to pass a pointer to a "dialog_button" variable to
"simple_dialog()" for the error boxes displayed if a file copy or move
fails; that dialog box is just a message box and has only an "OK"
button.

Put the declaration of "prefs" into "prefs.h".

svn path=/trunk/; revision=378
1999-07-23 08:29:24 +00:00
Gilbert Ramirez 0d36ec8de2 Modified the proto_register_field_array usage again. Thanks to Guy's
suggestion, this new method using a static array should use less memory
and be faster. It also has a nice side-effect of making the source-code
more readble, IMHO.

Changed the print routines to look for protocol proto_data instead of
looking at the text label as they did before, hoping that the data hex
dump field item starts with "Data (".

Added the -G keyword to ethereal to make it dump a glossary of display
filter keywords to stdout and exit. This data is then formatted with
the doc/dfilter2pod perl program to pod format, which is combined
with doc/ethereal.pod.template to create doc/ethereal.pod, from which
the ethereal manpage is created. This way we can keep the manpage up-to-date
with a list of fields that can be filtered on.

svn path=/trunk/; revision=364
1999-07-15 15:33:52 +00:00
Guy Harris f57403fe46 When printing a packet, do it from the protocol tree, not from the GTK+
tree constructed from the protocol tree:

	1) The value of "level" field of GTK+ tree items appears to
	   depend on various random things - see a change I made to
	   "packet-dns.c" a while ago, to change the order in which
	   items were put in the tree, so that DNS trees printed with
	   correct indentation - and, right now, we appear to be doing
	   *something* wrong, as some packets I printed from one file
	   here had randomly bogus indentation; I could probably track
	   the problem down and fix it, but that might just hold us
	   until we accidentally do something *else* wrong by GTK+'s
	   lights.

	   The new code provides its own tree level as it goes.

	2) The new code is independent of GTK+, so it could be used with
	   other toolkits, or with non-GUI variants of Ethereal.

	3) This may make it easier to add a "Print..." menu item to let
	   the user print packets other than the currently selected
	   packet.

Make the internal routines used to print the packet static.

For the "Print Packet" menu item, put up a message box if they haven't
yet selected a packet.

svn path=/trunk/; revision=362
1999-07-13 04:38:15 +00:00
Gilbert Ramirez 07f42b5b31 Created a new protocol tree implementation and a new display filter
mechanism that is built into ethereal. Wiretap is now used to read all
file formats. Libpcap is used only for capturing.

svn path=/trunk/; revision=342
1999-07-07 22:52:57 +00:00
Gilbert Ramirez 851d27fff1 Found some erroneous usages of gtk_signal_connect_object. I always wondered
why I had to swap fields (data = w) in some of the callback functions when
I added support for gtk+-1.1. Because of the use of gtk_signal_connect_object,
the wrong value was being sent to the callback function. We were just lucky
that with gtk+-1.0 it worked.

gtk_signal_connect_object is for use with callbacks that take one argument.
gtk_signal_connect is for use with callbacks that take two arguments.

svn path=/trunk/; revision=324
1999-06-21 19:04:35 +00:00
Gilbert Ramirez ef3dfe2077 Removed all references to gtk objects from packet*.[ch] files. They now
reference the protocol tree with struct proto_tree and struct proto_item
objects. That way, the packet decoding source code file can be used with
non-gtk packet decoders, like a curses-based ethereal, e.g. I also re-arranged
some of the information in packet.h to more appropriate places (like other
packet-*.[ch] files).

svn path=/trunk/; revision=223
1999-03-23 03:14:46 +00:00
Gerald Combs 06e5aae0e3 * Added preference file saves and reads.
svn path=/trunk/; revision=75
1998-10-28 21:38:11 +00:00