aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
1999-09-03Stuff to IPX socket 0x0455 (NetBIOS), and to sockets 0x0551 and 0x0553Guy Harris1-147/+216
(NWLink), are sufficiently different that they should be handled in different routines. Change the decode to match NetMon a bit more. svn path=/trunk/; revision=631
1999-09-03Use "process_netbios_name()", rather than "canonicalize_netbios_name()",Guy Harris3-86/+100
to turn NetBIOS names into a nice printable form. Put the description of NetBIOS name types into places where it fits; have "packet-netbios.c" export a routine to interpret them. svn path=/trunk/; revision=630
1999-09-03Dissect the name type flag in NBIPX name service packets (at leastGuy Harris2-6/+27
according to what NetMon thinks the bits are). svn path=/trunk/; revision=629
1999-09-03Add a bunch more NetBIOS name types.Guy Harris3-130/+132
That makes the space of name types even more sparse; use "val_to_str()" to decode them, rather than an indexed table. Make a "process_netbios_name()" routine that shows non-printable characters in NetBIOS names as <XX>, where "XX" is the value of the character in hex (the way Network Monitor does), and have "get_netbios_name()" use it (NetBIOS-over-TCP will be made to use it in the future). When displaying NetBIOS names, include the name type character at the end, in angle brackets, the way Network Monitor does (show it in hex even if it *is* printable - 0x20 is 0x20, not "space", in that context). svn path=/trunk/; revision=628
1999-09-02Have the IPX code set "pi.len" and "pi.captured_len" based on the lengthGuy Harris7-116/+299
in the IPX header, and have the dissectors it calls use it rather than being passed the length as an argument. Treat both packet type 20 ("WAN Broadcast") and 4 ("IPX", although 3 is also "IPX", according to Network Monitor) as potentially being NetBIOS packets. The packet types for the IPX NetBIOS socket (0x0455) and the NWLink sockets (0x0551 and 0x0553) are different (perhaps because there's one socket for the 0x0455 NBIPX, so you have to do name service and datagram service and have the packet types distinguish them, but NWLink has separate sockets for name service and datagram service). The packet type for name service and for datagram service are at *different locations* in the packet, which is unfortunate if you want to use the packet type to distinguish name service and datagram service packets. Use the packet length, for now, to distinguish them, with socket 0x0455. Dissect datagram packets differently from name service packets. Export "packet-netbios.c"'s "netbios_add_name()" routine, and use it when dissecting NBIPX packets as well. Label NBIPX packets as "NBIPX" rather than "NetBIOS". svn path=/trunk/; revision=627
1999-09-02When skipping over the padding at the end of a record in a capture file,Guy Harris1-5/+28
don't seek around it - some implementations of the standard I/O library routines (e.g., the ones in Solaris 2.5.1, at least) appear not to be clever enough to handle seeks that occur within the buffer by moving the current buffer position; instead, they do a seek on the underlying file descriptor *and* appear to throw out the buffer, forcing them to do another read. Instead, read it into a buffer. svn path=/trunk/; revision=626
1999-09-01When reading packets from a capture file, don't seek around recordGuy Harris1-50/+49
header fields we don't look at - some implementations of the standard I/O library routines (e.g., the ones in Solaris 2.5.1, at least) appear not to be clever enough to handle seeks that occur within the buffer by moving the current buffer position; instead, they do a seek on the underlying file descriptor *and* appear to throw out the buffer, forcing them to do another read. Instead, read the entire record header into a structure, and pick the relevant bits out of it. Also, skip over the FCS in LAPB captures by reading it rather than seeking around it (should we put it in the pseudo-header?). svn path=/trunk/; revision=625
1999-09-01Bert Driehuis' patch to add a "--with-ucdsnmp" option that specifies theGuy Harris3-2/+45
directory in which the UCD SNMP library is found (and to check for the UCD SNMP stuff in "$prefix" if "$prefix" isn't "/usr/local"), and to have "Makefile.am" use "$(MAKE)" rather than "make". svn path=/trunk/; revision=624
1999-09-01Moved GTK-dependent routines for file dialogues, print dialogues, printGilbert Ramirez18-777/+921
preferences, and menus to gtk subdirectory. svn path=/trunk/; revision=623
1999-08-31Bert Driehuis' patch to handle "libpcap" stuff being installed inGuy Harris1-2/+2
subdirectories of "$prefix", if "$prefix" is neither "/usr" nor "/usr/local". svn path=/trunk/; revision=622
1999-08-31We now use "snprintf()" in "dissect_ip_tcp_options()", so we may need toGuy Harris1-1/+10
include "snprintf.h" to declare it. svn path=/trunk/; revision=621
1999-08-31Fix, from Bert Driehuis, to the stuff that checks for BSD/OS.Guy Harris1-2/+2
svn path=/trunk/; revision=620
1999-08-31Olivier Abad's fix to the problem where some capture files appeared toGuy Harris1-0/+1
be truncated - treat a record with a data length of 0 as an end of file. svn path=/trunk/; revision=619
1999-08-31Packaging fix for doc subdirectory changes.Gilbert Ramirez1-0/+1
svn path=/trunk/; revision=617
1999-08-31Added info about Linux libpcap misbehavior, and where to download the libpcapGilbert Ramirez2-0/+17
patch. svn path=/trunk/; revision=616
1999-08-31Removed hacked-up doc/Makefile.in, and replaced it with simple doc/Makefile.am.Gilbert Ramirez2-33/+12
svn path=/trunk/; revision=615
1999-08-31Changed gtk subdirectory to use only Makefile.am, and not have a configureGilbert Ramirez8-7/+11
script. The configuration is faster this way. Also, moved version to 0.7.3. svn path=/trunk/; revision=614
1999-08-31Convert the seconds value to the right byte order before using it atGuy Harris1-6/+10
all, not just before the third time you use it.... svn path=/trunk/; revision=613
1999-08-30Fixes from Olivier Abad to the code to maintain "wth->data_offset".Guy Harris1-7/+20
Use "pletohs()" and "pletohl()" to access 16-bit and 32-bit fields in the file and packet headers, as those fields are little-endian. svn path=/trunk/; revision=612
1999-08-30Now that FT_BOOLEAN display filter fields are treated differently (onlyGilbert Ramirez2-67/+2
their existence is checked), some FT_BOOLEAN-related functions in dfilter.c are no longer called. So I removed them. svn path=/trunk/; revision=611
1999-08-30Fixed problem with not being able to filt on field values.Gilbert Ramirez2-4/+7
svn path=/trunk/; revision=610
1999-08-29Fix some compilation warnings.Gilbert Ramirez2-4/+4
svn path=/trunk/; revision=609
1999-08-29Removed from the display filter/proto_tree code the assumption thatGilbert Ramirez4-91/+113
a protocol occurs only once in a packet. Because of encapsulation (IP within IP), a protocol can occur more than once. I don't have a packet trace showing such a packet, but the code should handle it now. The one thing that it cannot do, though, is differentiate the levels. It might be nice to say: ip{1}.src == 192.168.1.1 && ipx{2}.dst == 10.0.0.1 In the dfilter grammar I had left IPXNET variables out of the list of variables that could be checked for existence. Now you can check for the existence of ipx.srcnet and ipx.dstnet. Hurrah. svn path=/trunk/; revision=608
1999-08-28Stop processing of colorization display filters after first match.Gilbert Ramirez3-27/+23
Remove debugging statements from colors.c. Add blurb about Match Selected and Colorization to man page. svn path=/trunk/; revision=607
1999-08-28Updated RSVP with Ashok's patch. Fixes code for 64-bit platforms.Gilbert Ramirez1-4/+4
svn path=/trunk/; revision=606
1999-08-28For unknown options without "syntax" errors, show the length in bytes.Guy Harris1-8/+13
svn path=/trunk/; revision=605
1999-08-28Handle unknown options in "dissect_ip_tcp_options()" better; we assumeGuy Harris1-19/+35
that the only options that contain *no* length byte are the IP and TCP EOL and NOP options so that we can treat unknown options as VARIABLE_LENGTH with a minimum of 2, and at least be able to move on to the next option by using the length in the option, rather than just reporting the unknown option and processing no options after it. svn path=/trunk/; revision=604
1999-08-28A slightly cleaner version - hide the "if it's the last row, the elementGuy Harris1-88/+28
is pointed to by 'row_list_end', otherwise use 'g_list_nth()'" stuff inside a macro. Use that macro in place of an additional "g_list_nth()" call. svn path=/trunk/; revision=603
1999-08-28"CFILTERS_CONTAINS_FILTER()" should check for the presence of colorGuy Harris1-2/+2
filters by checking whether the structure pointed to by "cf->colors" has a non-zero "num_of_filters", not a non-null "color_filters" (the latter points to the CList widget holding the list of filters, and may be non-null even if there currently aren't any filters). svn path=/trunk/; revision=602
1999-08-28PPP options in LCP, IPCP, etc. are like IP and TCP options - one octetGuy Harris5-227/+675
of option code, one octet of length (which includes the two option code and length bytes), followed by 0 or more octets of option data, with some options being fixed-length and some being variable-length. Put some stuff from the PPP control protocol option parsing code into the IP-and-TCP option parsing code, and use the latter instead of the former. (That code might also be usable for CDP as well, with some stuff added to it.) Shuffle the arguments to "dissect_ip_tcp_options()" to resemble those of various other dissectors (i.e., with the "proto_tree *" at the end). Add in code to dissect a pile of PPP options documented in various RFCs. svn path=/trunk/; revision=601
1999-08-28Changed ip.flags from FT_UINT16 to FT_UINT8, and made it highlight onlyGilbert Ramirez1-3/+3
one byte in the hexdump. svn path=/trunk/; revision=600
1999-08-28Set protocol column to "IP" for fragmented IP packets. It was not being set atGilbert Ramirez1-1/+3
the IP layer, leaving the lower layer's abbreviation in the protocol column. svn path=/trunk/; revision=599
1999-08-28Removed debug printf's.Gilbert Ramirez1-14/+1
svn path=/trunk/; revision=598
1999-08-28Don't do file-read progress bar updates with a timeout; instead, updateGuy Harris4-49/+62
the progress bar up to 100 times, as we get another percent closer to completion. That reduces the number of times we run the GTK+ main loop; that main loop may do a "select()" or "poll()" or FIONREAD "ioctl" to check for input from the X server, adding to the CPU overhead of reading a file. The packet filtering progress bar is already updated in a similar fashion; make it also do up to 100 updates. svn path=/trunk/; revision=597
1999-08-28Keep in the "wtap" structure the current offset into the file beingGuy Harris10-25/+82
read, and maintain it ourselves as we read through the file, rather than calling "ftell()" for every packet we read - "ftell()" may involve an "lseek()" call, which could add a noticeable CPU overhead when reading a large file. svn path=/trunk/; revision=596
1999-08-27Touched these files to make 'make dist' happy.Gilbert Ramirez4-0/+0
svn path=/trunk/; revision=595
1999-08-27Updated docs.Gilbert Ramirez3-15/+31
svn path=/trunk/; revision=594
1999-08-27Added gtk subdirectory, with patched gtkclist.c in it. We can use thisGilbert Ramirez10-7/+9261
optimized gtkclist until Guy's changes appear in the offical GTK+. svn path=/trunk/; revision=593
1999-08-27"long" -> "gint32" ("gint32" is 32 bits, "long" isn't necessarily 32Guy Harris1-2/+2
bits and is definitely not 32 bits on some platforms). svn path=/trunk/; revision=592
1999-08-27Changed packet-tr.c to insert tr.sr, a FT_BOOLEAN field, only if tr.srGilbert Ramirez5-68/+19
is true. The test for truth now becomes a test for existence. The dfilter grammar no longer recognizes 'true' and 'false', since you can now check a boolean field via: tr.sr or by its negation: !tr.sr svn path=/trunk/; revision=591
1999-08-27Updated RSVP decoder with Ashok's newest code.Gilbert Ramirez2-13/+183
svn path=/trunk/; revision=590
1999-08-27The token-ring decoder now takes into account some really garbledGilbert Ramirez1-25/+112
TR packets that are seen on Linux 2.0 boxes (viewing your own packets before they get to the wire). Thanks to Tom Gallagher <Tom.Gallagher@madge.com> for providing the patch. svn path=/trunk/; revision=589
1999-08-27No, 0xCC is SNRME. (I *told* you I hated reversing bit strings....)Guy Harris1-2/+1
svn path=/trunk/; revision=588
1999-08-27TEST is 0xE0, not 0xC0; 0xC0 is SNRME. (I hate having to reverse bitGuy Harris1-2/+4
strings....) Thanks to Tom Gallagher at Madge for pointing this out. svn path=/trunk/; revision=587
1999-08-26Properly pluralize "bytes" in the detail line for "dissect_data()".Guy Harris1-2/+3
svn path=/trunk/; revision=586
1999-08-26Dissect unknown IP protocols with dissect_data().Gilbert Ramirez1-1/+4
svn path=/trunk/; revision=585
1999-08-26Convert a bunch of uses of "fd->cap_len" to use "pi.captured_len" (or toGuy Harris8-28/+28
use END_OF_FRAME), so that they don't look at stuff in an IP datagram past the end of the IP datagram (i.e., frame padding). svn path=/trunk/; revision=584
1999-08-26Introduces a new global gboolean variable: proto_tree_is_visible.Gilbert Ramirez3-7/+35
This is set before calling dissect_packet() to let the proto_tree routines whether or not it needs to go through the trouble of formatting strings. The use of this dramatically decreases the number of calls to vsnprintf. svn path=/trunk/; revision=583
1999-08-26The dfilter yacc grammar now keeps track of every GNode that it allocates.Gilbert Ramirez7-17/+119
After a bad parse, instead of leaking this memory, the memory used for those GNodes is now freed. Added some memory-freeing "cleanup" routines for the dfilter and proto_tree modules, which are called right before ethereal exits. Maybe once we get a complete set of cleanup routines, we'll be able to better check if memory is leaking. svn path=/trunk/; revision=582
1999-08-25Correctly set global_df->dftree to NULL after a bad parse.Gilbert Ramirez1-10/+4
svn path=/trunk/; revision=581