aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2001-01-03Ensure that all value_string arrays end in {0, NULL}. Dissectors got awayGilbert Ramirez19-72/+139
with not terminating their arrays because they knew the limits of the value used to look up strings in the value_string array, but the dfilter_expr_dlg does not know these limits and must rely on the terminating {0, NULL} record. Also, in SNA fixed a bug in which a field should have been defined as FT_UINT8 but was defined as FT_BOOLEAN. In WTP, fixed a value string which had duplicate keys. svn path=/trunk/; revision=2817
2001-01-03Have the TR MAC and LLC dissectors register themselves, make themGuy Harris12-62/+79
static, and have other dissectors call them through handles. svn path=/trunk/; revision=2816
2001-01-03Register the WSP dissector, make it static, and have the WTP dissectorGuy Harris3-8/+14
call it through a handle. svn path=/trunk/; revision=2815
2001-01-03Make the Zebra dissector, and a routine it uses, static, as they're notGuy Harris1-3/+3
called directly from outside "packet-zebra.c". svn path=/trunk/; revision=2814
2001-01-03Update the README.developer file to reflect the recent changes toGuy Harris1-17/+18
"proto_register_protocol()" and the addition of "prefs_register_module()". svn path=/trunk/; revision=2813
2001-01-03Add a new "prefs_register_protocol()" routine, which is likeGuy Harris16-44/+61
"prefs_register_module()" except that it takes a protocol index as returned by "proto_register_protocol()" as its first argument, rather than taking two character strings as arguments as its first two arguments, and uses the protocol's abbreviation as the name to use for preferences in the preferences file and the "-o" flag and uses the protocol's short name as the name to use in the tabs in the "Edit->Preferences" window. svn path=/trunk/; revision=2812
2001-01-03Have "proto_register_protocol()" build a list of data structures forGuy Harris1-2/+2
protocols, in addition to adding structures to the list of filterable fields. Give it an extra argument that specifies a "short name" for the protocol, for use in such places as pinfo->current_proto; the dialog box for constructing filters; the preferences tab for the protocol; and so on (although we're not yet using it in all those places). Make the preference name that appears in the preferences file and the command line for the DIAMETER protocol "diameter", not "Diameter"; the convention is that the name in question be all-lower-case. Make some routines and variables that aren't exported static. Update a comment in the ICP dissector to make it clear that the dissector won't see fragments other than the first fragment of a fragmented datagram. svn path=/trunk/; revision=2811
2001-01-03Have "proto_register_protocol()" build a list of data structures forGuy Harris148-469/+700
protocols, in addition to adding structures to the list of filterable fields. Give it an extra argument that specifies a "short name" for the protocol, for use in such places as pinfo->current_proto; the dialog box for constructing filters; the preferences tab for the protocol; and so on (although we're not yet using it in all those places). Make the preference name that appears in the preferences file and the command line for the DIAMETER protocol "diameter", not "Diameter"; the convention is that the name in question be all-lower-case. Make some routines and variables that aren't exported static. Update a comment in the ICP dissector to make it clear that the dissector won't see fragments other than the first fragment of a fragmented datagram. svn path=/trunk/; revision=2810
2001-01-03Fix a damn stupid mistake that stopped us seeing all the bits in the flags ↵Richard Sharpe1-2/+2
on a NetServerEnum2 request. svn path=/trunk/; revision=2809
2001-01-03Support for HTTP methods added by GENA (the uPnP protocol), and for theGuy Harris3-4/+93
HTTP-based SSDP protocol, from David Hampton. svn path=/trunk/; revision=2808
2001-01-02Base the decision of whether selecting an entry in the value list setsGuy Harris1-9/+6
the value entry on the type of the field, not on whether the value entry is visible; the value entry is hidden, in "field_select_row_cb()", after "build_boolean_values()" is called, and building the list in "build_boolean_values()" will cause an entry in that list to be selected, and "value_list_sel_cb()" will be called as a result, so it can't correctly base its decision on whether to set the value entry on whether the entry is visible, as it's not yet been made invisible. Fix a comment. svn path=/trunk/; revision=2807
2001-01-02Don't show "Text" as one of the available fields.Guy Harris1-1/+3
svn path=/trunk/; revision=2806
2001-01-02Add a dialog box for constructing expressions that test a field in theGuy Harris13-273/+1631
display tree, based on Jeff Foster's dialog box for selecting fields. Make the dialog box for browsing filters into a dialog box for constructing filters; make the "Apply" button and the "OK" button apply the filter in the text entry box in the dialog, not the currently selected filter (selecting a filter puts it in that text entry box, but the user may edit it afterwards, or may use the aforementioned dialog box to construct a filter not in the list). Get rid of extra declarations of "m_r_font" and "m_b_font" in "proto_draw.c"; they're declared in "gtk/gtkglobals.h", which it includes. svn path=/trunk/; revision=2805
2001-01-01A small fix to ensure that all servers/workgroups show up ... Last oneRichard Sharpe1-2/+2
was not being picked up ... Will have to add proper state keeping code soon ... svn path=/trunk/; revision=2804
2000-12-30understand TCP MD5 signature. Greg Hankins <gregh@twoguys.org>Jun-ichiro itojun Hagino1-1/+11
svn path=/trunk/; revision=2803
2000-12-29Tvbuffify the MAPI dissector.Guy Harris1-19/+22
svn path=/trunk/; revision=2802
2000-12-29Fix up some calls in which I didn't replace "NullTVB" with "tvb".Guy Harris1-6/+6
svn path=/trunk/; revision=2801
2000-12-29If we get an exception when dissecting a packet, append "[Short Frame]"Guy Harris5-11/+37
or "[Malformed Frame]" to the Info column. Make some dissectors set the Protocol column and clear the Info column before fetching anything from the tvbuff they were handed, so that if the frame is short or malformed, it'll be marked as being the right top-level protocol, and the Info column won't have cruft left over from the previous protocol. svn path=/trunk/; revision=2800
2000-12-29"dissect_lapb()" is static to "packet-lapb.c", so it can't be directlyGuy Harris2-9/+15
called by "dissect_lapbether()". "packet-lapbether.c" included "packet-lapb.h", to get "dissect_lapb()" declared, but that header file doesn't exist. Dissectors should call other dissectors indirectly, so have the LAPB dissector register itself and have the LAPB-over-Ethernet dissector get that handle and call the LAPB dissector through that handle, rather than making the LAPB dissector non-static and adding a "packet-lapb.h" header to declare it. Remove some unnecessary includes from "packet-lapbether.c". svn path=/trunk/; revision=2799
2000-12-29Tvbuffify the IMAP dissector.Guy Harris1-57/+97
svn path=/trunk/; revision=2798
2000-12-29Modify X.25 dissector to accept a search string of x.25 and ex.25, not x25 ↵Richard Sharpe1-3/+3
and ex25. svn path=/trunk/; revision=2797
2000-12-29Added a LAPBETHER dissector as per Guy's wishes ... :-)Richard Sharpe2-1/+110
Damn, took more than half an hour :-( svn path=/trunk/; revision=2796
2000-12-29When creating a subset tvbuff with lengths that don't run to the end ofGuy Harris1-4/+17
the parent tvbuff, we have to set "pinfo->len" and "pinfo->captured_len" unless we know for certain that *no* old-style dissectors will be called later, because old-style dissectors get their length information from "pi.len" and "pi.captured_len". svn path=/trunk/; revision=2795
2000-12-29Tvbuffify the PPTP dissector.Guy Harris1-551/+452
svn path=/trunk/; revision=2794
2000-12-28Updates from Ed Warnicke.Guy Harris3-30/+49
svn path=/trunk/; revision=2793
2000-12-28Tvbuffify the CDP, CGMP, ISL, and VTP dissectors.Guy Harris11-595/+522
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-28>This patch adds a missing capabilities NOTIFICATION message, and support forJun-ichiro itojun Hagino1-3/+4
>RFC2385 (Protection of BGP Sessions via the TCP MD5 Signature Option). From: Greg Hankins <gregh@twoguys.org> svn path=/trunk/; revision=2791
2000-12-28It turns out that the read timeout in Solaris's "bufmod" STREAMS moduleGuy Harris1-9/+30
doesn't work like the read timeout in BPF - the timer doesn't start until at least one packet has arrived. I think that's the way read timeouts should work on *all* packet capture mechanisms, but it does mean that Solaris will, on a quiet net, exhibit the same symptoms that Linux used to exhibit before we put in a "select()" call to wait until either packets arrive or a timer expires - the "pcap_dispatch()" call blocks until a packet arrives, so the display doesn't get updated and Ethereal doesn't respond to user input until a packet arrives. Furthermore, Linux isn't the only OS that lacks any read timeout on its packet capture mechanism; the others will also have that problem. We therefore do the "select()" on *all* platforms other than the BSDs (where the timer starts when the read is done, and can be used for polling); I don't know whether it's necessary on Digital UNIX, but I suspect it's necessary on SunOS 4.x (as the 5.x "bufmod" is probably derived from the 4.x one, and the 5.x one, as per the above, starts the timer when a packet arrives), and it may even be necessary on 3.x, those (BSD, SunOS including 5.x, and Digital UNIX) apparently being the only UNIXes that appear to have such a read timeout. svn path=/trunk/; revision=2790
2000-12-28Always put the packet type in the Info column.Guy Harris1-4/+3
svn path=/trunk/; revision=2789
2000-12-27If the capture child process exits unexpectedly, give more informationGuy Harris1-117/+176
on it, such as the exit status if it exited "normally" but unexpectedly. On UNIX systems, #define the various POSIX <sys/wait.h> macros (and the non-POSIX WCOREDUMP()" macro) if they're not defined by <sys/wait.h> (or if we don't have <sys/wait.h>), and use them to dissect the exit status. svn path=/trunk/; revision=2788
2000-12-27Tvbuffify the RIP and OSPF dissectors.Guy Harris8-981/+876
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-27Get rid of extra blanks in strings.Guy Harris1-24/+24
"tvb_length_remaining()" will return -1 if the offset argument is past the end of the tvbuff; check for values > 0, not values != 0, when checking to see if there's extra garbage at the end of the packet. svn path=/trunk/; revision=2786
2000-12-26added KRB-ERROR response dissectionNathan Neulinger1-16/+269
svn path=/trunk/; revision=2785
2000-12-26add tethereal_staticNathan Neulinger1-0/+1
svn path=/trunk/; revision=2784
2000-12-25Add a new "tvb_strsize()" routine, which finds the size of aGuy Harris3-41/+53
NUL-terminated string, starting at a given offset. The size includes the terminating NUL. If it doesn't find the terminating NUL, it throws the appropriate exception, as either there's no terminating NUL in the packet or there is but it's past the end of the captured data in the packet. Use that routine in the TFTP dissector. As it throws an exception if the string isn't NUL-terminated, we can just use "%s" to print option strings; we don't need to use "%.*s" with a string length. svn path=/trunk/; revision=2783
2000-12-25Preferences shouldn't supposed to have blanks in their names - it canGuy Harris1-15/+15
make it a bit of a pain to set their values on the command line (you have to quote the name). Use underscores instead. Give the gateway and callagent port preferences different names. Fix up the text descriptions and labels for those preferences. svn path=/trunk/; revision=2782
2000-12-25If a PrincipalName has at least one name-string, put the first of theGuy Harris1-1/+19
name strings into the top-level tree item for the PrincipalName, along the lines of what was done earlier. svn path=/trunk/; revision=2781
2000-12-25bgp route refresh/MP capability option.Jun-ichiro itojun Hagino2-26/+247
Greg Hankins <gregh@twoguys.org> svn path=/trunk/; revision=2780
2000-12-24Added kerberos name types and lookup in PrincName dissectNathan Neulinger1-20/+75
Cipher: to CipherText: ETYPE to ENCTYPE to agree with krb5 headers Added additional preauth types svn path=/trunk/; revision=2779
2000-12-24Add a "tftp_strnlen()" routine thatGuy Harris1-22/+52
1) checks to make sure that the terminating '\0' is found in the string, and throws a BoundsError exception if it isn't (TFTP packets should fit in a single frame, so if the '\0' isn't found, that's an error); 2) adds 1 to the length to include the trailing '\0'; and use it to find all string lengths, so that we properly handle short or malformed frames. svn path=/trunk/; revision=2778
2000-12-24Rename "asn1_octet_string_value_decode()" toGuy Harris7-430/+706
"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-23Report the holding time of a CLNP packet, in seconds, as seconds plusGuy Harris1-5/+14
fractions of a second (the resolution is 1/2 second). In the bitfield breakdown of the flags/type field of a CLNP PDU, report the PDU type as a name rather than as an abbreviation. svn path=/trunk/; revision=2776
2000-12-23Show the type/flags byte of a CLNP PDU with a subtree dissecting theGuy Harris1-2/+21
bits. svn path=/trunk/; revision=2775
2000-12-23On Linux, try to open the "any" device and, if we can open it, add it toGuy Harris1-1/+18
the end of the list of interfaces on which you can capture. svn path=/trunk/; revision=2774
2000-12-23Dissect the payload of a CLNP ER packet as a CLNP packet, so you knowGuy Harris1-4/+22
what the offending packet was. svn path=/trunk/; revision=2773
2000-12-23Add support for the DLT_LINUX_SLL capture type in the current CVSGuy Harris7-9/+341
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-22fix '#endif FRED' to '#endif /* FRED */'Nathan Neulinger1-2/+2
svn path=/trunk/; revision=2771
2000-12-22added a couple of msg types - in particular - ERROR responseNathan Neulinger1-2/+14
svn path=/trunk/; revision=2770
2000-12-22added tethereal_static targetNathan Neulinger1-2/+17
svn path=/trunk/; revision=2769
2000-12-22Enable FT_BYTES dfiltering, from Ed Warnicke.Gilbert Ramirez6-28/+80
svn path=/trunk/; revision=2768