aboutsummaryrefslogtreecommitdiffstats
path: root/gtk
AgeCommit message (Collapse)AuthorFilesLines
2001-12-13Fix up the comment on "set_main_window_name()" (I'm not sure why I putGuy Harris1-15/+51
that note in about KWM, unless I was noting that the title bar entry for a window has the window title rather than the icon title, but, as we're setting both, I'm not sure it's relevant), and change the name of its argument, as it's used to set both the window and icon titles. Add some more information to the comments for "reactivate_window()" and "window_icon_realize_cb()". svn path=/trunk/; revision=4394
2001-12-12Go nuts with the 3D logo.Gerald Combs10-15/+77
Add a routine to ui_util.c that sets a window's icon pixmap to a 16x16 version of the 3D logo. Call the routine for each window that is created. This has been tested with kwm and Sawfish (which expect a 16x16 icon), but we may have to come up with a better solution for other window managers (e.g. olwm and mwm). Add a 3D exclamation point image. Replace the exclamation point and Ethereal logo images used in simple_dialog() with their 3D counterparts. Remove the old icons from the source distribution. svn path=/trunk/; revision=4390
2001-12-12From Motonori Shindo:Guy Harris1-3/+3
fix a bogus batch mode inference rule of make, so that "vc60.pdb" files are created in the proper directory; delete ".pdb" files in a "nmake -f Makefile.nmake clean"; include the text2pcap and mergecap ".pdb" files in the Windows binary distribution. svn path=/trunk/; revision=4385
2001-12-12From Motonori Shindo: add a cast of "ip" to "guint8 *" so pointerGuy Harris1-2/+2
arithmetic can be done on it. svn path=/trunk/; revision=4384
2001-12-10Put in a comment indicating that even loading a one-byte field from anGuy Harris1-1/+12
unaligned data structure could get an unaligned load fault on Alpha. svn path=/trunk/; revision=4381
2001-12-10Test the link-layer type of the frame being looked at, not theGuy Harris1-7/+6
currently-selected frame - they're not necessarily the same. svn path=/trunk/; revision=4380
2001-12-10Use the encapsulation type of the current frame to decide whatGuy Harris1-11/+27
link-layer header it has. svn path=/trunk/; revision=4379
2001-12-10Get rid of the stuff to use bitfields to dissect IP and TCP headers -Guy Harris1-62/+12
bitfields are a pain to use when dealing with structures with a fixed layout in memory (you have to worry about bit order, for example). Don't assume that the Ethernet header is aligned on a 2-byte boundary - use "pntohs()" to extract stuff from it. (Perhaps C will force it onto a 2-byte boundary, but why take chances, and why leave the code vulnerable to changes outside this module?) Don't assume that the pointers to the IP and TCP headers are nicely aligned - use "memcpy()", not structure assignment, to copy the headers. (They're probably *not* nicely aligned on platforms that require 4-byte alignment of 4-byte integral quantities; the code was dumping core on SPARC with an alignment error.) Don't even make those pointers be pointers to structures, as that may cause the C compiler to generate in-line 4-byte loads and stores for "memcpy()" (in fact, it *did* do so with GCC 2.95.1 on SPARC), which has the same problem as structure assignment. Don't test the IP protocol number twice when handling PPP. svn path=/trunk/; revision=4378
2001-12-10Change a printf() error message to a simple_dialog() error message.Gilbert Ramirez1-2/+4
svn path=/trunk/; revision=4377
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"Guy Harris1-2/+2
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=4370
2001-12-09Check for invalid maximum packet count values.Guy Harris1-2/+6
svn path=/trunk/; revision=4368
2001-12-09From Gordon McKinney: make IP-over-PPP work with the TCP graph code.Guy Harris1-3/+15
svn path=/trunk/; revision=4367
2001-12-09On Win32, a GUI application apparently can't use "popen()" (itGuy Harris1-1/+42
"returns an invalid file handle, if used in a Windows program, that will cause the program to hang indefinitely"), so we can't use a pipe to a print command to print to a printer. Eventually, we should try to use the native Win32 printing API for this (and also use various UNIX printing APIs, when present?). For now, we support only printing to a file in Windows. svn path=/trunk/; revision=4366
2001-12-08Give the help window a title.Guy Harris1-1/+2
svn path=/trunk/; revision=4361
2001-12-08TCP time-sequence, round-trip time, and throughput graphs, from PavelGuy Harris5-2/+3806
Mores. svn path=/trunk/; revision=4360
2001-12-08Attach a descriptive name field type and base to dissector tables; thatGuy Harris1-6/+42
specifies how the selector values used as keys in those tables are to be displayed, and the title to use when displaying the table. Use that information in the code to display the initial and current entries of various dissector tables. Have the dissector for BACnet APDUs register itself by name, and have the BACnet NPDU dissector call it iff the BAC_CONTROL_NET bit isn't set, rather than doing it with a dissector table. svn path=/trunk/; revision=4358
2001-12-06Handle the case of the initial, or current, dissector handle for aGuy Harris1-3/+9
particular port number being null. svn path=/trunk/; revision=4347
2001-12-06Remove proto_tree from capture_file and PacketWinData, since theyGilbert Ramirez3-16/+13
already contain a pointer to an epan_dissect_t, which contains the proto_tree. Routines calling epan_dissect_new() do not create their own proto_tree via proto_tree_create_root(); instead, they pass a boolean to epan_dissect_new() telling it whether it should create the root proto_tree. svn path=/trunk/; revision=4343
2001-12-06Don't update the "Save As..." dialog box if it doesn't exist.Guy Harris1-7/+22
Update some comments. svn path=/trunk/; revision=4342
2001-12-06Make the "Save only marked frames" button in the "Save As..." dialog boxGuy Harris3-14/+56
sensitive only if there *are* marked frames. svn path=/trunk/; revision=4341
2001-12-04When making the "number of ring buffer files" spin button sensitive orGuy Harris1-40/+67
insensitive, make its label sensitive or insensitive too. When "update list of packets in real time" mode is on, make the ring buffer mode toggle button, and the "number of ring buffer files" spin button, insensitive, as ring buffer mode is not supported in "update list of packets in real time" captures. When "update list of packets in real time" mode is off, make the auto-scroll mode button insensitive, as auto-scroll mode is meaningless unless you're doing an "update list of packets in real time" capture. Bundle all the sensitivity setting into a single common routine. Make "ring buffer" two words. svn path=/trunk/; revision=4325
2001-12-04Make the bytes-written information from Wiretap a long, as we allowGuy Harris2-9/+145
files to get that big. From Thomas Wittwer and Matthias Nyffenegger: Support for "ring buffer mode", wherein there's a ring buffer of N capture files; as each capture file reaches its maximum size (the ring buffer works only with a maximum capture file size specified), Ethereal rolls over to the next capture file in the ring buffer, replacing whatever packets might be in it with new packets. svn path=/trunk/; revision=4323
2001-12-04Support for stopping capture at specified capture file size or captureGuy Harris2-21/+176
duration, from Thomas Wittwer and Matthias Nyffenegger. svn path=/trunk/; revision=4322
2001-12-04From Thomas Wittwer: remove unnecessary calls toGuy Harris1-3/+1
"prefs_module_foreach()". svn path=/trunk/; revision=4321
2001-12-03"ptype" is always set, even if only to PT_NONE; it will be set to PT_TCPGuy Harris1-21/+22
only there's TCP in the current frame and it will be set to PT_UDP only if there's UDP in the current frame. As such, there's no need to check "ipproto" before checking "ptype" - and we should check "ptype" as well as "ipproto" when deciding whether we'll put up a "Decode As" dialog with anything in it. (Not that there's anything other than IPv4 or IPv6 over which we currently dissect TCP or UDP....) svn path=/trunk/; revision=4318
2001-12-03To check whether the current frame contains TCP or UDP traffic, checkGuy Harris1-168/+25
whether the port type is PT_TCP or PT_UDP, don't check the IP protocol type at the network layer (except to check whether it's set at all, to decide whether it's IP/IPv6 - if it's not, the transport isn't TCP or UDP); that way, we don't have to keep track of which IP protocol numbers are being decoded as TCP or UDP. svn path=/trunk/; revision=4317
2001-12-03When the dissector tables are reset to the default settings, the list ofGuy Harris1-1/+10
IP protocol numbers to be decoded as TCP and as UDP should be reset as well. svn path=/trunk/; revision=4313
2001-12-03Get rid of the lists of conversation dissectors; instead, have aGuy Harris1-231/+168
dissector table contain both a hash table, to use to look up port numbers to find a dissector, and a list of all dissectors that *could* be assigned to ports in that hash table, to be used by user interface code. Make the "Decode As" dialog box code use that. Also make it *not* let you choose whether to set the dissector for both the UDP and TCP versions of a port; some protocols run only atop TCP, some run only atop UDP, and even those that can run atop both may have different dissector handles to use over TCP and UDP, so handling a single merged list would be a mess. (If the user is setting the dissector for a TCP port, only those protocols that Ethereal can handle over TCP should be listed; if the user is setting the dissector for a UDP port, only those protocols that Ethereal can handle over TCP should be listed; if the user is setting a dissector for both, only those protocols that Ethereal can handle over *both* TCP *and* UDP should be listed, *and* there needs to be a way to let the "Decode As" code get both the TCP handle *and* the UDP handle and use the right ones. If somebody really wants that, they need to implement all of the above if they want the code to be correct.) Fix the code that handles setting the dissection for the IP protocol number to correctly update the lists of protocols being dissected as TCP and as UDP; the code before this change wasn't updating the single such list to add new protocols. svn path=/trunk/; revision=4311
2001-12-03Make "dissector_add()", "dissector_delete()", and "dissector_change()"Guy Harris1-25/+20
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
2001-12-03Get rid of an unused variable, and fix a comment.Guy Harris1-3/+2
svn path=/trunk/; revision=4307
2001-12-02From John McDermott:Guy Harris2-105/+98
Adds an "Add Expression..." button to the color filter creation dialog. Improve the look of the "Add color to protocols" window. Clean up some ugly code. Give John credit in the AUTHORS file for the coloring stuff. svn path=/trunk/; revision=4301
2001-11-24If a non-option command-line argument is specified to Ethereal, treat itGuy Harris1-3/+36
as the pathname of a capture file to be read. If more than one such option is specified, print a usage message. Fix the documentation of the "-r" option to Ethereal and Tethereal. svn path=/trunk/; revision=4253
2001-11-21Remove the global packet_info called "pi". Dissectors now onlyGilbert Ramirez5-27/+23
access their own "pinfo". A packet_info is stored in epan_dissect_t, which is created for the dissection of a single packet. GUI functions which need to access the packet_info of the currently selected packet used to use "pi"; now they use cfile.edt->pi. cfile's "edt" member is the epan_dissect_t of the currently-selected packet. The functionality of blank_packetinfo() was moved into dissect_packet(), as that's the only place that called blank_packetinfo(), after a spurious call to blank_packetinfo() was removed from packet_list_select_cb(). svn path=/trunk/; revision=4246
2001-11-21Get rid of some unused variables.Guy Harris1-3/+1
svn path=/trunk/; revision=4239
2001-11-20Have a routine to add all the hex dump tabs to the hex dump notebook,Guy Harris3-23/+30
and call it both from "select_packet()" and "create_new_window()", rather than having two similar loops in both places. svn path=/trunk/; revision=4233
2001-11-20If bytes in a hex dump view are selected, the field in the correspondingGuy Harris3-11/+28
text view should be selected, rather than always selecting a field in the main text view. svn path=/trunk/; revision=4232
2001-11-20Allow the tvbuff pointer to various "proto_tree_add" routines to be nullGuy Harris3-12/+23
if (and only if) the length of the item being added is 0 (so that it has no data backing it). This means the data stream name pointer for the item in question is null; make sure we handle that. Use that for some "uses the value from the matching request" fields in the SMB Pipe protocol. svn path=/trunk/; revision=4231
2001-11-09Wrap calls to "pcap_datalink()" in a routine that attempts to compensateGuy Harris2-4/+6
for AIX 5.x's non-standard libpcap, where "pcap_datalink()" doesn't return DLT_ values, it returns RFC 1573 ifType values. Put that wrapper, and the routine to get the interface list, in a separate file, for packet-capture utility routines, so not everybody who includes "util.h" needs to include <pcap.h>. Fix up the Wiretap hack for dealing with said incompatibility to use the correct ifType value for Token Ring. svn path=/trunk/; revision=4184
2001-11-09From <a.stockmeier[AT]avm.de>: fix the file dialog box code to useGuy Harris1-2/+2
"g_strdup()", not "strdup()" to copy strings. svn path=/trunk/; revision=4181
2001-11-04Include protocols for TCP conversation dissectors in the list ofGuy Harris1-1/+2
protocols that can be used to decode stuff. svn path=/trunk/; revision=4152
2001-11-04Allow a dissector to register preferences that it no longer supports asGuy Harris2-3/+17
obsolete; we silently ignore attempts to set those in a preferences file, so that we don't spam the user with error messages caused by them having saved preferences in an earlier release that contained those preferences. Make the Diameter and iSCSI dissectors register obsolete preferences. Crash if some code tries to register a preferences module with a name that contains something other than lower-case ASCII letters, numbers, or underscores, or that has already been registered, or if some code tries to register a preference with a name that contains something other than lower-case ASCII letters, numbers, underscores, or periods, or that has already been registered, so that we don't put code like that in a release and have to shovel code into "prefs.c" to fix it up later. (The problem with multiple modules or preferences with the same name should be obvious; the problem with names with blanks, or upper-case letters, or punctuation, is that they're a pain to type on the command line.) svn path=/trunk/; revision=4148
2001-10-31Add the Ethereal Web site's mirror of WinPcap to the dialog popped up ifGuy Harris1-2/+5
you try to capture on Windows without having WinPcap installed. svn path=/trunk/; revision=4113
2001-10-31Get rid of a bunch of stuff that was there to support non-tvbuffifiedGuy Harris1-19/+8
dissectors and that's no longer needed. svn path=/trunk/; revision=4112
2001-10-24Have a routine that takes a file name for a personal configuration fileGuy Harris3-27/+8
and generates the path name; have it, if the file is to be opened for reading on Win32, check whether it exists and, if not, check for it in the old home directory-based configuration directory and, if so, return that path instead, so that files saved with earlier versions of Ethereal will be seen. svn path=/trunk/; revision=4072
2001-10-24On Windows, put Ethereal configuration files under the "ApplicationGuy Harris3-7/+11
Data\Ethereal" directory under the user's profile, as that appears to be the Windows 2000 standard. svn path=/trunk/; revision=4071
2001-10-23Add a new routine to create the ".ethereal" directory for a user.Guy Harris3-11/+41
Use that routine rather than duplicating that code in the routines to write out the preference file and filter files. Use it in the code for the color filter dialog, so that the directory in question is created if necessary. As that routine returns an error indication, have the code that calls that routine put up a message box if the attempt fails. svn path=/trunk/; revision=4065
2001-10-22Add a routine to get the directory in which personal configuration filesGuy Harris4-25/+40
reside. Use it, rather than concatenating the user's home directory and ".ethereal" in a number of files. Fix up some additional places to use G_DIR_SEPARATOR_S as the pathname separator. svn path=/trunk/; revision=4061
2001-10-21Use G_DIR_SEPARATOR_S rather than "/" as a pathname separator in formatGuy Harris1-3/+3
strings used to generate pathnames. svn path=/trunk/; revision=4057
2001-10-21Use G_DIR_SEPARATOR_S rather than "/" as a pathname separator in formatGuy Harris1-4/+2
strings used to generate pathnames. Move the definition of PF_DIR from <epan/epan.h> to <epan/filesystem.h>, so that files requiring only the definition of PF_DIR don't have to include <epan/epan.h>, and get rid of no-longer-necessary includes of <epan/epan.h>. Add a routine to get the directory for "system files" such as "/etc/ethers" - it's "/etc" on UNIX, and the datafile directory on Windows (as there's no "/etc" on Windows). Use that to construct the pathname of the ethers and ipxnet files. svn path=/trunk/; revision=4056
2001-10-21Add little arrows to the column titles to indicate which column we'reGerald Combs1-6/+63
using to sort as well as the sort direction. svn path=/trunk/; revision=4050