aboutsummaryrefslogtreecommitdiffstats
path: root/packet-portmap.c
AgeCommit message (Collapse)AuthorFilesLines
2004-01-09"conversation_new()" takes flags NO_ADDR2 and NO_PORT2, not NO_ADDR_BGuy Harris1-2/+2
and NO_PORT_B - the corresponding flags have the same values, but they don't have the same semantics (a "find_conversation()" call with a missing address or port B will do a wildcard match on *both* addresses or ports, not just the second one). svn path=/trunk/; revision=9604
2002-11-01Updated all remaining ONC-RPC dissectors to pass the procedure name ↵Ronnie Sahlberg1-5/+67
value_string in the call to prc_init_proc_table() svn path=/trunk/; revision=6528
2002-10-23Add an extra argument to "rpc_init_proc_table()" that can specify an hf_Guy Harris1-5/+5
value for a field to be used for the procedure number for that version of the protocol; use that field, if specified, instead of just putting in a generic "rpc.procedure" field. Have the ypserv dissector register those fields and supply them to "rpc_init_proc_table()". Supply -1 for other RPC programs (for now), meaning "no such field exists". svn path=/trunk/; revision=6486
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-6/+6
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-5/+1
equivalents for the toplevel directory. The removal of winsock2.h will hopefully not cause any problems under MSVC++, as those files using struct timeval still include wtap.h, which still includes winsock2.h. svn path=/trunk/; revision=5932
2002-05-11Use a name, not a number, to refer to the IP protocol number for UDP.Guy Harris1-2/+2
svn path=/trunk/; revision=5444
2002-05-09Added parsing of PORTMAP GETPORT functions.Ronnie Sahlberg1-1/+36
When we see PRTOMAP GETPORT calls for UDP, make sure all further UDP packets to or from this port goes to the ONC-RPC dissector regardless of the port on the other side. We need this because if there is ONC-RPC traffic going between the ONC-RPC Program port to a port which has a normal ethereal dissector, ethereal would dissect the traffic as the protocol associated with the other port instead. svn path=/trunk/; revision=5430
2002-04-14From Joerg Mayer:Guy Harris1-13/+25
Declares some variables static. Creates a new include file packet-rsvp.h, and make use of it (change some extern decls to #inlcude). Move the file packet-pgm.h into packet-pgm.c as it is not used by anything outside packet-pgm.c. svn path=/trunk/; revision=5162
2002-04-03Removed many senseless pinfo parameters in RPC dissection and the layers above.Uwe Girlich1-18/+18
svn path=/trunk/; revision=5090
2002-01-20Allow a length of -1 to be specified when adding FT_NONE and FT_PROTOCOLGuy Harris1-2/+2
items to the protocol tree; it's interpreted as "the rest of the data in the tvbuff". This can be used if 1) the item covers the entire packet or the remaining payload in the packet or 2) the item's length won't be known until it's dissected, and will be then set with "proto_item_set_len()" - if an exception is thrown in the dissection, it means the item ran *past* the end of the tvbuff, so saying it runs to the end of the tvbuff is reasonable. Convert a number of "proto_tree_add_XXX()" calls using "tvb_length_remaining()", values derived from the result of "tvb_length()", or 0 (in the case of items whose length is unknown) to use -1 instead (using 0 means that if an exception is thrown, selecting the item highlights nothing; using -1 means it highlights all the data for that item that's available). In some places where "tvb_length()" or "tvb_length_remaining()" was used to determine how large a packet is, use "tvb_reported_length()" or "tvb_reported_length_remaining()", instead - the first two calls indicate how much captured data was in the packet, the latter two calls indicate how large the packet actually was (and the fact that using the latter could cause BoundsError exceptions to be thrown is a feature - if such an exception is thrown, the frame really *was* short, and it should be tagged as such). Replace some "proto_tree_add_XXX()" calls with equivalent "proto_tree_add_item()" calls. Fix some indentation. svn path=/trunk/; revision=4578
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"Guy Harris1-4/+4
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-06-18From Joerg Mayer: explicitly fill in all members of aGuy Harris1-16/+16
"header_field_info" structure, including the ones that are later set by the routines to register fields. svn path=/trunk/; revision=3561
2001-05-30There are no more old-style (non-tvbuffified) ONC RPC dissectors, so getGuy Harris1-12/+12
rid of support for them, and remove the "_tvb" from the end of the names of RPC type dissection routines. Update Gerald's e-mail address. svn path=/trunk/; revision=3477
2001-04-17Move the declaration of "ipprotostr()" out of "epan/packet.h" into a newGuy Harris1-1/+2
"ipproto.h" header file. svn path=/trunk/; revision=3313
2001-02-09For indirect RPC calls, remember the call information, and add aGuy Harris1-20/+55
dissector for indirect replies that looks up the call. Use them in the portmapper/RPCBIND dissector. svn path=/trunk/; revision=3008
2001-02-09Make a "dissect_rpc_indir_call()" routine to dissect arguments to aGuy Harris1-37/+16
specified program/version/procedure, and a "rpc_proc_name()" routine to return the name of a specified program/version/procedure, and make the callit dissector use those, rather than doing the work itself. Un-export various routines and declarations that can again be private to the RPC dissector. svn path=/trunk/; revision=3007
2001-02-06Add support for dissecting V3 CALLIT and V4 BCAST/INDIRECT calls.Guy Harris1-4/+4
svn path=/trunk/; revision=2995
2001-02-06Tvbuffify the portmap/rpcbind dissector, and implement part of CALLITGuy Harris1-111/+166
dissection (dissection of V2 CALLIT calls; no V3/V4 stuff or reply handling yet). svn path=/trunk/; revision=2994
2001-01-28Allow dissectors of ONC RPC-based protocols to register themselvesGuy Harris1-9/+9
either with a table of old-style dissectors or a table of tvbuffified dissectors, and have the RPC dissector pass the appropriate arguments to the dissectors. Finish tvbuffifying the NLM dissector, getting rid of the last traces of old-style dissector code. In those routines in the NFS dissector that take new-style arguments (because they're called from the NLM dissector), make them take an offset as an argument, so they don't assume that they're handed a tvbuff starting at the stuff they're supposed to dissect, and make the versions that take old-style arguments construct a tvbuff and call the versions that take new-style arguments. Do the latter with the routines in "packet-rpc.c" as well. svn path=/trunk/; revision=2943
2001-01-22Put in comments explaining what the two "Universal Address" fields are;Guy Harris1-3/+3
we might want to give them different blurbs at some point (the filter-expression construction dialog currently shows both of them as just "Universal Address"; it'd have to somehow use the blurb if we wanted to make it obvious what they are). svn path=/trunk/; revision=2930
2001-01-18Fix comments to reflect what a null function pointer in a "vsff" tableGuy Harris1-6/+6
really means. Make the "XXX_proc" arrays static. svn path=/trunk/; revision=2920
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=2810
2000-08-24Give the RFC number of the spec for the portmapper/rpcbind protocols.Guy Harris1-1/+6
svn path=/trunk/; revision=2367
2000-08-14Reversed the latest changes for protocol enable/disable in RPC sub-dissectors.Uwe Girlich1-34/+1
The RPC layer itself handles all this stuff. svn path=/trunk/; revision=2271
2000-08-13Add the "Edit:Protocols..." feature which currently only implementsLaurent Deniel1-1/+34
the following: It is now possible to enable/disable a particular protocol decoding (i.e. the protocol dissector is void or not). When a protocol is disabled, it is displayed as Data and of course, all linked sub-protocols are disabled as well. Disabling a protocol could be interesting: - in case of buggy dissectors - in case of wrong heuristics - for performance reasons - to decode the data as another protocol (TODO) Currently (if I am not wrong), all dissectors but NFS can be disabled (and dissectors that do not register protocols :-) I do not like the way the RPC sub-dissectors are disabled (in the sub-dissectors) since this could be done in the RPC dissector itself, knowing the sub-protocol hfinfo entry (this is why, I've not modified the NFS one yet). Two functions are added in proto.c : gboolean proto_is_protocol_enabled(int n); void proto_set_decoding(int n, gboolean enabled); and two MACROs which can be used in dissectors: OLD_CHECK_DISPLAY_AS_DATA(index, pd, offset, fd, tree) CHECK_DISPLAY_AS_DATA(index, tvb, pinfo, tree) See also the XXX in proto_dlg.c and proto.c around the new functions. svn path=/trunk/; revision=2267
2000-06-12Use "dissect_rpc_list()" to dissect NFS READDIR/READDIRPLUS reply listsGuy Harris1-65/+40
and portmapper DUMP reply lists, rather than duplicating what "dissect_rpc_list()" does. svn path=/trunk/; revision=2060
2000-05-31Add routines for adding items to a protocol tree that take arguments ofGuy Harris1-16/+16
a particular type, rather than taking a varargs list, along the lines of the "proto_tree_add_XXX_format()" routines. Replace most calls to "proto_tree_add_item()" and "proto_tree_add_item_hidden()" with calls to those routines. Rename "proto_tree_add_item()" and "proto_tree_add_item_hidden()" to "proto_tree_add_item_old()" and "proto_tree_add_item_hidden_old()", and add new "proto_tree_add_item()" and "proto_tree_add_item_hidden()" routines that don't take the item to be added as an argument - instead, they fetch the argument from the packet whose tvbuff was handed to them, from the offset handed to them. svn path=/trunk/; revision=2031
2000-05-11Add tvbuff class.Gilbert Ramirez1-25/+25
Add exceptions routines. Convert proto_tree_add_*() routines to require tvbuff_t* argument. Convert all dissectors to pass NULL argument ("NullTVB" macro == NULL) as the tvbuff_t* argument to proto_tree_add_*() routines. dissect_packet() creates a tvbuff_t, wraps the next dissect call in a TRY block, will print "Short Frame" on the proto_tree if a BoundsError exception is caught. The FDDI dissector is converted to use tvbuff's. svn path=/trunk/; revision=1939
2000-04-04Use the new split between protocol registration and protocol handoffGuy Harris1-1/+5
registration routines to get rid of the special handling of ONC RPC protocols - dissectors for ONC RPC-based protocols should register their protocol, fields, and ETT values in a protocol registration routine, and register themselves with the ONC RPC dissector in their protocol handoff routine, so that the latter is done after the ONC RPC dissector's protocol registration routine is called, so that the data structures needed when dissectors for ONC RPC protocols register themselves with the ONC RPC dissector have been initialized. Get rid of "init_dissect_rpc()", which initializes said data structures; do that in "proto_register_rpc()" instead. svn path=/trunk/; revision=1789
2000-03-12Break proto_tree_add_item_format() into multiple functions:Gilbert Ramirez1-9/+9
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-01-22Give "dissect_rpc_string()" an extra "char **" argument; if it'sGuy Harris1-5/+5
non-null, it returns through that argument a pointer to the displayed version of the string, otherwise it just frees that string. Use that to put, in the tree item for READDIR and READDIRPLUS reply directory entry items, the file name from the directory entry. svn path=/trunk/; revision=1521
2000-01-07Fix Gerald's e-mail address.Guy Harris1-2/+2
svn path=/trunk/; revision=1437
1999-11-26Portmapper v2 dump reply somehow nicer formatted.Uwe Girlich1-6/+8
svn path=/trunk/; revision=1115
1999-11-22Added v2 portmap dump replyNathan Neulinger1-3/+53
svn path=/trunk/; revision=1087
1999-11-19Added Uwe's update to RPC.Gilbert Ramirez1-7/+136
svn path=/trunk/; revision=1069
1999-11-16Replace the ETT_ "enum" members, declared in "packet.h", withGuy Harris1-3/+8
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-11-15Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.Nathan Neulinger1-1/+60
svn path=/trunk/; revision=1034
1999-11-11Added mount dissector.Nathan Neulinger1-14/+42
Added stat dissector. Enhancements to portmap dissector. Added rpc_prog_name function to packet-rpc to retrieve the name of an rpc program. This should likely eventually be modified to use the /etc/rpc or rpc.bynumber NIS maps in addition to the programs that are registered within ethereal. svn path=/trunk/; revision=1016
1999-11-11Additions to bootparams, portmap, and ypserv dissectorsNathan Neulinger1-1/+8
svn path=/trunk/; revision=1013
1999-11-10expanded portmap dissector to process some of the procedure callsNathan Neulinger1-8/+117
svn path=/trunk/; revision=1003
1999-11-10Changed protocol names to all lowercase. It looks weird in listing though.Nathan Neulinger1-2/+2
I'm presuming packet-rpc.c will be fixed soon. svn path=/trunk/; revision=1002
1999-11-10Added stubs for various RPC routines:Nathan Neulinger1-0/+78
portmap ypserv ypxfr ypserv bootparams Stubs currently just map procedure numbers to names. I'll add some more decoding of the actual procedure call/reply contents eventually. svn path=/trunk/; revision=998