aboutsummaryrefslogtreecommitdiffstats
path: root/packet-x25.c
AgeCommit message (Collapse)AuthorFilesLines
2000-04-15Ralf Schneider's changes to enhance to OSI CLNP, CLTP, and ISIS supportGuy Harris1-1/+2
and to add OSI ESIS support. svn path=/trunk/; revision=1865
2000-04-13Change the sub-dissector handoff registration routines so that theGilbert Ramirez1-1/+8
sub-dissector table is not stored in the header_field_info struct, but in a separate namespace. Dissector tables are now registered by name and not by field ID. For example: udp_dissector_table = register_dissector_table("udp.port"); Because of this different namespace, dissector tables can have names that are not field names. This is useful for ethertype, since multiple fields are "ethertypes". packet-ethertype.c replaces ethertype.c (the name was changed so that it would be named in the same fashion as all the filenames passed to make-reg-dotc) Although it registers no protocol or field, it registers one dissector table: ethertype_dissector_table = register_dissector_table("ethertype"); All protocols that can be called because of an ethertype field now register that fact with dissector_add() calls. In this way, one dissector_table services all ethertype fields (hf_eth_type, hf_llc_type, hf_null_etype, hf_vlan_etype) Furthermore, the code allows for names of protocols to exist in the etype_vals, yet a dissector for that protocol doesn't exist. The name of the dissector is printed in COL_INFO. You're welcome, Richard. :-) svn path=/trunk/; revision=1848
2000-03-12Break proto_tree_add_item_format() into multiple functions:Gilbert Ramirez1-8/+8
proto_tree_add_protocol_format() proto_tree_add_uint_format() proto_tree_add_ipxnet_format() proto_tree_add_ipv4_format() proto_tree_add_ipv6_format() proto_tree_add_bytes_format() proto_tree_add_string_format() proto_tree_add_ether_format() proto_tree_add_time_format() proto_tree_add_double_format() proto_tree_add_boolean_format() If using GCC 2.x, we can check the print-format against the variable args passed in. Regardless of compiler, we can now check at run-time that the field type passed into the function corresponds to what that function expects (FT_UINT, FT_BOOLEAN, etc.) Note that proto_tree_add_protocol_format() does not require a value field, since the value of a protocol is always NULL. It's more intuitive w/o the vestigial argument. Fixed a proto_tree_add_item_format-related bug in packet-isis-hello.c Fixed a variable usage bug in packet-v120.c. (ett_* was used instead of hf_*) Checked in Guy's fix for the function declearation for proto_tree_add_text() and proto_tree_add_notext(). svn path=/trunk/; revision=1713
2000-02-22Make "reinit_x25_hashtable()" static (it's not explicitly called fromGuy Harris1-3/+3
outside "packet-x25.c", it's only registered as a protocol init routine), and explicitly declare it as taking no arguments (GCC doesn't complain about passing a pointer to a routine with an unspecified argument list to "register_init_routine()", which expects a pointer to a routine with no arguments, but Microsoft Visual C{++} 6.0 does complain about it). svn path=/trunk/; revision=1664
2000-02-19Used register_init_routine() to register "reinit_x25_hashtable()" as aOlivier Abad1-1/+2
routine to be called every time a new capture file is opened instead of calling it in read_cap_file() and do_capture(). svn path=/trunk/; revision=1651
2000-02-18Renamed init_dissect_x25() to reinit_x25_hashtable() and actually used it !Olivier Abad1-2/+2
This function is used to re-initialize the hash table used by the X.25 dissector to record the upper layer protocol used by each VC. The hash table should be re-initialized each time we read / start a new capture. I moved the definition of the function from packet.h to packet-x25.h, and added calls to reinit_x25_hashtable() in read_cap_file (file.c) and do_capture (capture.c). svn path=/trunk/; revision=1644
2000-02-15Create a header file for every packet-*.c file. Prune the packet.h file.Gilbert Ramirez1-1/+3
This change allows you to add a new packet-*.c file and not cause a recompilation of everything that #include's packet.h Add the plugin_api.[ch] files ot the plugins/Makefile.am packaging list. Add #define YY_NO_UNPUT 1 to the lex source so that the yyunput symbol is not defined, squelching a compiler complaint when compiling the generated C file. svn path=/trunk/; revision=1637
2000-01-30Dissect the user data of an incoming CALL REQUEST/INCOMING CALL packetGuy Harris1-23/+94
as per X.224 and X.264. svn path=/trunk/; revision=1584
2000-01-29The user data in an X.25 call request packet is - at least for IP and,Guy Harris1-2/+6
if I correctly read the Windows NT DDK documentation on WAN drivers, for PPP as well - an ISO NLPID, so use the "nlpid.h" values where they exist. Currently doesn't treat NLPID_PPP as PPP, but if we get a PPP-over-X.25 capture, we may find that it should do so. svn path=/trunk/; revision=1577
2000-01-24Fix a bunch of dissectors to use "pi.captured_len" rather thanGuy Harris1-37/+37
"fd->cap_len" for the frame length - or to use macros such as "BYTES_ARE_IN_FRAME()", "IS_DATA_IN_FRAME()", and "END_OF_FRAME", which use "pi.captured_len" - so that they correctly handle frames where the actual data length of the packet is less than the size of the raw frame, e.g. with encapsulations such as ISL. svn path=/trunk/; revision=1531
1999-12-12Finished improving display of facilities :Olivier Abad1-136/+378
- use a subtree for each facility - decode the DTE address when appropriate Address decoding in call setup and clearing packets : - the A bit is the first bit of the general format identifier - correct use of this A bit (toa parameter) in x25_ntoa svn path=/trunk/; revision=1300
1999-12-10Use decode_numeric_bitfield for address length in call packetsOlivier Abad1-7/+5
svn path=/trunk/; revision=1277
1999-12-09Class A facilities decoding :Olivier Abad1-51/+117
- correct a problem with throughput class calculation - improved the display using decode_xxx_bitfield() svn path=/trunk/; revision=1269
1999-12-09Put X.25 Facilities in call packets in a subtreeOlivier Abad1-60/+74
Decode a new facility (0xD2 : Priority) svn path=/trunk/; revision=1260
1999-11-29Change Olivier's e-mail address.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=1158
1999-11-16Replace the ETT_ "enum" members, declared in "packet.h", withGuy Harris1-20/+26
dynamically-assigned "ett_" integer values, assigned by "proto_register_subtree_array()"; this: obviates the need to update "packet.h" whenever you add a new subtree type - you only have to add a call to "proto_register_subtree_array()" to a "register" routine and an array of pointers to "ett_", if they're not already there, and add a pointer to the new "ett_" variable to the array, if they are there; would allow run-time-loaded dissectors to allocate subtree types when they're loaded. svn path=/trunk/; revision=1043
1999-10-18Olivier Abad's patches to add:Guy Harris1-119/+234
more display filters for X.25; no LCN in X.25 RESTART / DIAGNOSTIC / REGISTRATION packets; support for nettl file format (nettl is a trace tool for HP-UX). For now, it only supports traces for X.25 interfaces (tested with HP-UX 10.20). svn path=/trunk/; revision=879
1999-10-12New proto_tree header_field_info stuff. Header_field_infos now containGilbert Ramirez1-3/+6
the base for numbers to be displayed in, bitmasks for bitfields, and blurbs (which are one or two sentences describing the field). proto_tree_add*() routines now automatically handle bitfields. You tell it which header field you are adding, and just pass it the value of the entire field, and the proto_tree routines will do the masking and shifting for you. This means that bitfields are more naturally filtered via dfilter now. Added Phil Techau's support for signed integers in dfilters/proto_tree. Added the beginning of the SNA dissector. It's not complete, but I'm committing it now because it has example after example of how to use bitfields with the new header_field_info struct and proto_tree routines. It was the impetus to change how header_field_info works. svn path=/trunk/; revision=815
1999-09-12Patch from Olivier Abad:Guy Harris1-87/+126
packet-lapb.c : check the validity of the first byte in the frame. packet-x25.c : - in get_x25_pkt_len() : check that we are not reading after the end of the captured data - in dissect_x25() : various checks to avoid reading after the end of the captured data - in dissect_x25() : use offset (and not 2) as the length of the underlying protocol header. Olivier svn path=/trunk/; revision=669
1999-08-20Add support for reading Full Frontal ATM from an ATM Sniffer captureGuy Harris1-21/+21
file, instead of throwing out all but LANE or RFC 1483 data frames and pretending that the former are just Ethernet or Token-Ring frames. Add some level of decoding for ATM LANE, but not all of it; the rest, including decoding non-LANE frames, is left as an exercise for somebody who has captures they want to decode, an interest in decoding them, ATM expertise, and time.... svn path=/trunk/; revision=523
1999-08-05Put in an RCS ID.Guy Harris1-0/+2
svn path=/trunk/; revision=442
1999-08-05"packet-udp.c" and "packet-x25.c" both have global variables namedGuy Harris1-1/+1
"hash_table", but each of them is used only in the file in question; make them static, so that they don't collide. svn path=/trunk/; revision=440
1999-08-04Patch from Olivier Abad to implement modulo 128 X.25 decoding, and toGuy Harris1-113/+535
improve X.25 decoding in other ways as well. svn path=/trunk/; revision=435
1999-08-02Olivier Abad's patch to add dissectors for LAP-B and X.25, and wiretapGuy Harris1-0/+995
support for RADCOM Ltd.'s WAN/LAN analyzers (see http://www.radcom-inc.com/ ). Note: a Make "S" a mnemonic for "Summary" in the "Tools" menu. Move the routine, used for the "Tools/Summary" display, that turns a wiretap file type into a descriptive string for it into the wiretap library itself, expand on some of its descriptions, and add an entry for files from a RADCOM analyzer. Have "Tools/Summary" display the snapshot length for the capture. svn path=/trunk/; revision=417