aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.am
AgeCommit message (Collapse)AuthorFilesLines
2001-02-13Updates from Neil Hunter.Guy Harris1-3/+6
svn path=/trunk/; revision=3026
2001-02-12If you register more than one field with the same name, the dfilter codeGuy Harris1-2/+1
can now handle that; this allows us to register both the modulo-8 and the modulo-128 versions of various X.25 bitfields with "x.25.XXX" names, which lets us get rid of the "ex.25" protocol stuff completely and use "x.25" for both modulo-8 and modulo-128 X.25. Do so. (Also, fix up some cases where we appeared to be using the modulo-8 fields when dissecting modulo-128 X.25.) This, in turn, allows us to register the X.25 dissector, as there's now only one protocol with which it's associated, and make it static and have it called only through a handle, and to, when registering it with the "llc.dsap" dissector table, associate it with "proto_x25". That, in turn, allows us to get rid of the "CHECK_DISPLAY_AS_DATA()" calls, and the code to set "pinfo->current_proto", in the X.25 dissector. The code for the display filter expression dialog would, if there are two fields with the same name registered under a protocol, list both of them; have it list only one of them - the fields should have the same type, the same radix, and the same value_string/true_false_string table if any (if they don't, they're really not the same field...). svn path=/trunk/; revision=3023
2001-02-08Pull a lot of common code for handling 802.3 frames (i.e., frames with aGuy Harris1-1/+3
length field rather than an Ethernet type field) into a "dissect_802_3()" routine. In that routine, catch exceptions thrown by the IPX or LLC dissector or dissectors under them, so that the trailer information is added to the tree even if an exception is thrown (similar to what "ethertype()" does). svn path=/trunk/; revision=3002
2001-02-01Create a more modular type system for the FT_* types. Put themGilbert Ramirez1-6/+44
into epan/ftypes. Re-write display filter routines using Lemon parser instead of yacc. Besides using a different tool, the new grammar is much simpler, while the display filter engine itself is more powerful and more easily extended. Add dftest executable, to test display filter "bytecode" generation. Add option to "configure" to build dftest or randpkt, both of which are not built by default. Implement Ed Warnicke's ideas about dranges in the new display filter and ftype code. Remove type FT_TEXT_ONLY in favor of FT_NONE, and have protocols registered as FT_PROTOCOL. Thus, FT_NONE is used only for simple labels in the proto tree, while FT_PROTOCOL is used for protocols. This was necessary for being able to make byte slices (ranges) out of protocols, like "frame[0:3]" Win32 Makefile.nmake's will be added tonight. svn path=/trunk/; revision=2967
2001-01-28Pull the stuff to read and write the list of filter expressions up intoGuy Harris1-1/+3
a file in the top-level directory. svn path=/trunk/; revision=2946
2001-01-27HCLNFSD support, from Mike Frisch.Guy Harris1-1/+3
svn path=/trunk/; revision=2941
2001-01-22SUA Light dissector, from Michael Tuexen.Guy Harris1-1/+2
svn path=/trunk/; revision=2933
2001-01-15Automake is a jealous god. If, when sacrificing a goat to it, you doGuy Harris1-3/+40
not kill the goat with the *correct* sort of knife, on the *correct* altar, and drink its blood from the *correct* goblet at the *correct* temperature, he will wreak his revenge, perhaps, for example, causing all your crops to sprout bearing bright green and pink polka-dots. Add an extra 3 microns to the tip of the blade, so that the Automake God will not be angry and fail to generate rules to install man pages. (It would have been nice had the sacred scrolls described that particular incantation, but so it goes....) While we're at it, get rid of "EXTRA_MANS"; it doesn't appear to be necessary (but such hubris may, of course, bring down the wrath of the Automake God upon me - you can't just get rid of EXTRA_PROGRAMS, for example, as the Automake God then forgets how to handle "ethereal_LDADD" and the like - although in a test run the generated Makefile.in didn't *appear* to have anything missing other than a definition of EXTRA_MANS, which it didn't use and so presumably wouldn't miss). svn path=/trunk/; revision=2900
2001-01-13Make GRE use a dissector table for its protocol types, and registerGuy Harris1-1/+2
dissectors for protcools that can be encapsulated inside GRE in that table. Fix a bug in the handling of WCCPv2 IP encapsulation (it was constructing the next tvbuff before, rather than after, advancing the offset past the redirection header). svn path=/trunk/; revision=2893
2001-01-13Actually call capture_sll() from the capture loop.Gilbert Ramirez1-1/+2
svn path=/trunk/; revision=2889
2001-01-11Update the SCTP dissector, and add a dissector forGilbert Ramirez1-1/+2
ISDN Q.921-User Adaptation Layer (IUA). Both are from Michael.Tuexen@icn.siemens.de> svn path=/trunk/; revision=2876
2001-01-11Add a python script which has the same functionality as the shellGilbert Ramirez1-1/+2
script 'make-reg-dotc'. It is used only in the Win32 build because the make-reg-dotc shell script is *so* sloooooooooow on Win32, due to the multiple processes (grep, grep, sed) launched multiple times for each source file. By putting all the text-mangling logic into a single Python script, only one process is launched, and the source files are read only once. It's *a lot* faster... seconds instead of minutes. svn path=/trunk/; revision=2873
2001-01-11Provide a way by which protocols that run atop HTTP, such as IPP, canGuy Harris1-1/+2
register their port as being for XXX-over-HTTP; the HTTP dissector registers that port in the "tcp.port" table as an HTTP port, and registers it in its *own* table with the dissector and protocol provided to it. Parse the HTTP MIME headers regardless of whether we're building a protocol tree or not; we have to do so in order to find the offset of the payload, to hand to an XXX-over-HTTP dissector. svn path=/trunk/; revision=2872
2001-01-11"dissect_http()" doesn't need to be global any more; make it static.Guy Harris1-2/+1
svn path=/trunk/; revision=2870
2001-01-10M3UA (MTP3 User Adaptation layer) support, from Michael Tuexen.Guy Harris1-1/+2
svn path=/trunk/; revision=2855
2001-01-10Make the stuff to handle SNAP frames (OUI, PID, payload) a routine ofGuy Harris1-1/+2
its own; it's used not only by LLC, but by Frame Relay with RFC 2427 and ATM with RFC 2684. Support for RFC 2427-encapsulation Frame Relay packets, from Paul Ionescu. Get rid of the CISCO_IP PPP protocol type - Cisco HDLC uses, in most cases, Ethernet packet types, so use ETHERTYPE_IP instead (they're both 0x0800). svn path=/trunk/; revision=2854
2001-01-07Frame Relay and Frame-Relay-over-GRE support, from Paul Ionescu.Guy Harris1-1/+2
Fix the GRE dissector to call subdissectors regardless of whether a full protocol tree dissection is being done or not. svn path=/trunk/; revision=2842
2001-01-05DEC LANBridge Spanning Tree Protocol support, from Paul Ionescu.Guy Harris1-1/+2
Put "packet-lapbether.c" into "Makefile.nmake". svn path=/trunk/; revision=2828
2001-01-03Have the TR MAC and LLC dissectors register themselves, make themGuy Harris1-2/+1
static, and have other dissectors call them through handles. svn path=/trunk/; revision=2816
2000-12-29Added a LAPBETHER dissector as per Guy's wishes ... :-)Richard Sharpe1-1/+2
Damn, took more than half an hour :-( svn path=/trunk/; revision=2796
2000-12-28Tvbuffify the CDP, CGMP, ISL, and VTP dissectors.Guy Harris1-4/+1
Add a new subdissector table in the LLC dissector for protocol IDs with a Cisco OUI, and register the CDP, CGMP, and VTMP dissectors in that table, rather than calling them via a switch statement. Register the ISL dissector by name, and have the Ethernet dissector call it via a handle. Fix the handling of the checksum field in the CDP dissector. The strings in CDP are counted, not null-terminated; treat them as such. Fix the handling of the encapsulated frame CRC, and the encapsulated frame, in the ISL dissector, at least for Ethernet frames; it may not be correct for encapsulated Token Ring frames. svn path=/trunk/; revision=2792
2000-12-27Tvbuffify the RIP and OSPF dissectors.Guy Harris1-3/+1
Change them to use facilities in Ethereal that were probably not present when they were originally written, e.g. routines to fetch 24-bit integers and to dump a bunch of raw bytes in hex. Redo them to extract data from the packet as they dissect it, rather than extracting an entire data structure at once; that way, it may be able to dissect a structure not all of which is in the packet. Dissect a bit more of the type-of-service metrics etc. in OSPF packets. Make "tvb_length_remaining()" return a "gint", not a "guint"; it returns -1 if the offset is past the end of the tvbuff. Add a "tvb_reported_length_remaining()" routine, similar to "tvb_length_remaining()". Use it instead of just subtracting an offset from "tvb_reported_length()". svn path=/trunk/; revision=2787
2000-12-24Rename "asn1_octet_string_value_decode()" toGuy Harris1-2/+1
"asn1_string_value_decode()", as it can be used for various character string types as well. Turn "asn1_octet_string_decode()" into "asn1_string_decode()", which takes an additional argument giving the tag expected for the string in question, and make "asn1_octet_string_decode()" a wrapper around it. Clean up the ASN.1 dissection in the Kerberos dissector, making more use of the code in "asn1.c", wrapping more operations up in macros, and doing some more type checking. Use "REP" rather than "RESP" in names and strings; "REP" is what the Kerberos spec uses. Make the routines in the Kerberos dissector not used outside that dissector static. Fix some problems with the dissection of strings in the Kerberos dissector (it was extracting the data from the wrong place in the packet). In Kerberos V5, the "kvno" item in the EncryptedData type is optional; treat it as such. Treat integers as unsigned in the Kerberos dissector. svn path=/trunk/; revision=2777
2000-12-23Add support for the DLT_LINUX_SLL capture type in the current CVSGuy Harris1-1/+2
version of libpcap; that's used on Linux for captures on the "any" device (which captures from all interfaces simultaneously) and for captures on devices whose link-layer type libpcap doesn't (yet) support natively. The spanning tree code, when checking for GV{M,R,...}P packets, must first check whether the link-layer destination address is, in fact, an Ethernet-style address; on Linux cooked captures, there *is* no destination address, so it's of type AT_NONE, not AT_ETHER. svn path=/trunk/; revision=2772
2000-12-22added tethereal_static targetNathan Neulinger1-2/+17
svn path=/trunk/; revision=2769
2000-12-17X.25 over TCP support, from Paul Ionescu.Guy Harris1-1/+2
Also, update his e-mail address. svn path=/trunk/; revision=2765
2000-12-13Add code to check the checksums of TCP segments and UDP datagrams;Guy Harris1-1/+3
replace the existing checksummer with a modified version of the BSD checksumming code. Add a flag to the "packet_info" structure to indicate that a packet is the first fragment of a fragmented datagram, so that the checksummers won't try to checksum those. (It doesn't seem to add a lot of CPU overhead, so we don't introduce a flag to disable it, yet. Further checks may be necessary to see whether the overhead is just swamped by other overheads when scanning through a capture dissecting all frames, or if it truly is negligible.) Make the Boolean preference option controlling whether to make the top-level protocol tree item for TCP display a packet summary static to the TCP dissector (it doesn't need to be accessible outside the TCP dissector). svn path=/trunk/; revision=2751
2000-12-03Register "dissect_nbipx()", and have the IPX dissector look up itsGuy Harris1-2/+1
handle and call it through the handle. Make it static; this renders "packet-nbipx.h" unnecessary. Get rid of the "tvb_compat()" call in the IPX dissector - it calls all dissectors through handles or lookup tables, and thus any backwards-compatibility stuff is done by the code in libethereal. svn path=/trunk/; revision=2735
2000-11-30GVRP dissector, from Kevin Shi.Guy Harris1-1/+3
svn path=/trunk/; revision=2721
2000-11-29Initial coding of the dissector for the Label Distribution Protocol.Richard Sharpe1-1/+2
It registers the same dissector for the LDP port for both TCP and UDP. Still a lot of work to do, but we can see the header now. svn path=/trunk/; revision=2714
2000-11-29WCCP 2.0 support.Guy Harris1-1/+2
svn path=/trunk/; revision=2709
2000-11-29Wrap the dissect_fddi() call (with a 4th argument) withGilbert Ramirez1-6/+1
dissect_fddi_not_bitswapped() and dissect_fddi_bitswapped(), both of which use the standard 3-argument tvbuffified-dissector argument list. Add a dissector table called "wtap_encap" which is used to call dissectors from dissect_frame(). The switch() statement from this top-level dissector is removed. The link-layer dissectors register themselves with the "wtap_encap" dissector table. The dissectors are now static where possible. svn path=/trunk/; revision=2708
2000-11-22Enable the building of any combination of ethereal, tethereal, and editcap.Gilbert Ramirez1-5/+6
If GTK+ is not detected, then ethereal is not built. svn path=/trunk/; revision=2695
2000-11-21Add a "color.h" file that declares a nominally-toolkit-independentGuy Harris1-1/+2
"color_t" structure to store color values (although currently it has all the same fields that a GdkColor has; its currently advantage is that you don't have to include any GTK/GDK stuff to declare it). Add routines in the "gtk" directory to convert between "color_t" and GdkColor values. Define, in "prefs.h", all colors as "color_t" values rather than GdkColor values. "prefs.h" now no longer needs to include <gtk/gtk.h>, so don't include it. svn path=/trunk/; revision=2692
2000-11-19Register the OSI transport dissector by name, and make it static.Guy Harris1-2/+1
"packet-clnp.h" no longer exports anything, so remove it. Have the X.25 dissector call subdissectors through dissector handles (now that all the dissectors it uses are registered by name). svn path=/trunk/; revision=2668
2000-11-17Give the "null" link-layer header dissector a dissector table, and putGuy Harris1-2/+2
the BSD AF_ type values it uses into an "aftypes.h" header file for dissectors that register themselves in that dissector table include. svn path=/trunk/; revision=2653
2000-11-16Tvbuffify the STP dissector, have it register itself and have the LLCGuy Harris1-2/+1
dissector call it through a handle, and make it static. Give "dissect_data()" an "offset" argument, so dissectors can use it to dissect part of the packet without having to cook up a new tvbuff. Go back to using "dissect_data()" to dissect the data in an IPP request. svn path=/trunk/; revision=2651
2000-11-15Tvbuffify the IPP dissector, and have it register itself rather thanGuy Harris1-2/+1
being a global function. The HTTP dissector should set "pinfo->current_proto" to HTTP even if we consider the packet to be IPP, so that if we run past the end of a tvbuff while dissecting HTTP stuff it's reported as a problem with HTTP, not IPP. svn path=/trunk/; revision=2648
2000-11-15Add a mechanism by which a dissector can be registered by name, anotherGuy Harris1-2/+1
dissector can get a "handle" for that dissector by name and then call that dissector through the handle. This allows dissectors that can't be called through a port table or a heuristic table to be called from other dissectors without directly referring to the dissector function - dynamically-loaded modules, under Windows, cannot directly call functions in the main program, and non-plugin dissectors are in the main program and thus cannot be called from plugin dissectors unless either 1) a pointer to the dissector is put in the Big Transfer Vector or 2) some other mechanism for getting a pointer to the dissector is provided. This mechanism could also support registering old-style dissectors and calling them from new-style dissectors without the new-style dissector having to do the argument translation itself (I didn't add support for registering old-style dissectors because I'd prefer to have people tvbuffify their code if they have to register a dissector...). It could also, in the future, perhaps support disabling of protocols; setting "pinfo->current_proto"; inside "call_dissector()" - and inside "{old_}dissector_try_port()" and "{old_"dissector_try_heuristic()" - allowing a pile of stuff that currently has to be done in every dissector be done by common code. (I have some ideas about how to do this, by having "proto_register_protocol()" take an abbreviation - of the sort that would be put in, for example, "pinfo->current_proto" - as an argument; having the calls to register dissectors take an index returned by "proto_register_protocol()" as an argument. The abbreviation could be used elsewhere as well, e.g. in the "Decoding" tab of the "Edit->Protocols" dialog box, and in a GUI for constructing protocol filters. Watch this space.) Make "dissect_sdp()" the first client of this mechanism; it's now static to "packet-sdp.c", and all dissectors that call it - including the MGCP plugin - now call it through a dissector handle fetched by "find_dissector()". (Next step - see if Ethereal can now compile on Windows as a result of this.) svn path=/trunk/; revision=2647
2000-11-15IEEE 802.11 support, from Johan Jorgensen of Axis Communications AB.Guy Harris1-1/+3
Add in stuff for a bunch of libpcap formats either in libpcap 0.5.2 or in the current CVS version; we don't implement all of them in Ethereal/Wiretap (those are "#if 0"ed out), but we do implement the IEEE 802.11 stuff (which isn't yet in libpcap or tcpdump, but the CVS version of libpcap *does* reserve 105 as the encapsulation type number for 802.11). svn path=/trunk/; revision=2646
2000-11-09Add MGCP dissector plugin from Ed Warnicke <hagbard@physics.rutgers.edu>.Gilbert Ramirez1-4/+8
svn path=/trunk/; revision=2588
2000-11-06forget to commit change w/ afs headersNathan Neulinger1-1/+4
svn path=/trunk/; revision=2576
2000-11-05AIM/OSCAR dissector, from Ralf Holzer.Guy Harris1-1/+2
svn path=/trunk/; revision=2570
2000-11-04SIP dissector, from Heikki Vatiainen.Guy Harris1-1/+2
svn path=/trunk/; revision=2562
2000-11-04WAP support, from Neil Hunter.Guy Harris1-2/+7
svn path=/trunk/; revision=2558
2000-10-26Cisco IGRP support, from Paul Ionescu.Guy Harris1-1/+2
svn path=/trunk/; revision=2536
2000-10-21Wildcard matching is tricky - you have to try wildcarding both theGuy Harris1-2/+1
source *and* destination port and/or both the source *and* destination address passed to "find_conversation()", because the packet for which you're trying to find the conversation may be going in the opposite direction to the packet for which the conversation was originally created. Create different hash tables for wildcarded conversations, to reduce the number of "is this a wildcard?" tests done when doing hash lookups. This is sufficient to allow the TFTP dissector to use conversations rather than being special-cased in the UDP dissector, and may also be sufficient to handle a similar problem with SMTP (request goes from client IP X port Y to server IP Z's well-known port, reply comes back from some other port on server Z to client IP X port Y), but further use may reveal other changes that should be made. svn path=/trunk/; revision=2525
2000-10-19"tvbtest.c" is now in the "epan" subdirectory, so don't put it inGuy Harris1-2/+1
EXTRA_DIST in the top-level Makefile.am. svn path=/trunk/; revision=2513
2000-10-19Andreas Sikkema's new H.261 and TPKT dissectors, replacement RTCP andGuy Harris1-1/+5
RTP dissectors, and changes to the Q.931 dissector for use with H.323. svn path=/trunk/; revision=2511
2000-10-14Fix for inet*.[ch] move.Gilbert Ramirez1-3/+2
svn path=/trunk/; revision=2495