aboutsummaryrefslogtreecommitdiffstats
path: root/epan/packet_info.h
AgeCommit message (Collapse)AuthorFilesLines
2001-12-10Move the pointer to the "column_info" structure in the "frame_data"Guy Harris1-1/+2
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-11-29Update from Ronnie Sahlberg:Guy Harris1-2/+7
1. Changes how can_desegment works so that can_desegment is only != 0 for whichever dissector is running immediately on top of whoever offers the can_desegment service. Thus DCERPC needs no special handling to see if it can trust can_desegment (which is currently only available ontop of TCP and not ontop of tcp->nbss->smb). 2. Changes fragment reassembly of transaction smb to only show the defragmented packet for the transaction smb holding the first fragment. To see why, test it with a transaction SMB containing a ~60kb PDU or larger. The old behaviour had approximately quadratic behaviour regarding runtime for dissecting such PDUs. (example: NetShareEnum is a command which can grow really really large if the number of shares and comments are large) svn path=/trunk/; revision=4296
2001-11-21Remove the global packet_info called "pi". Dissectors now onlyGilbert Ramirez1-5/+1
access their own "pinfo". A packet_info is stored in epan_dissect_t, which is created for the dissection of a single packet. GUI functions which need to access the packet_info of the currently selected packet used to use "pi"; now they use cfile.edt->pi. cfile's "edt" member is the epan_dissect_t of the currently-selected packet. The functionality of blank_packetinfo() was moved into dissect_packet(), as that's the only place that called blank_packetinfo(), after a spurious call to blank_packetinfo() was removed from packet_list_select_cb(). svn path=/trunk/; revision=4246
2001-11-20Get rid of the "len" and "captured_len" members of the "packet_info"Guy Harris1-3/+1
structure; they're no longer used. svn path=/trunk/; revision=4236
2001-11-15Get rid of NullTVB, the "compat_top_tvb" member of the "packet_info"Guy Harris1-2/+1
structure, the check for a null tvbuff pointer in "alloc_field_info()", and the "tvb_create_from_top()" macro; they're no longer needed, as there's no non-tvbuffified dissector code remaining. svn path=/trunk/; revision=4205
2001-11-03Rename the "private" member of the "packet_info" structure toGuy Harris1-2/+2
"private_data", to keep C++ compilers from getting heartburn. svn path=/trunk/; revision=4130
2001-10-01Have a flag in the "packet_info" structure, which indicates whether theGuy Harris1-1/+2
stuff currently being dissected is part of a packet included in an error packet (e.g., an ICMP Unreachable packet). Have the TCP dissector not bother doing reassembly if the TCP segment is part of an error packet, rather than an actual TCP transmission; other dissectors might want to treat those packets specially as well. Add to the "tcpinfo" structure a flag indicating whether the URG flag was set, rather than having the zero or non-zero value of the urgent pointer indicate that. (Yes, at least as I read RFC 793, a zero urgent pointer value isn't useful, as it means "the stuff before this segment is urgent", but it's certainly possible to put onto the wire a TCP segment with URG set and a zero urgent pointer.) Don't dissect the TCP header by grabbing the entire header with "tvb_memcpy()" and then pulling stuff out of it - extract stuff with individual tvbuff calls, and put stuff into the protocol tree and the Info column as we extract it, so that we can dissect a partial header. This lets us, for example, get the source and destination ports from the TCP header of the part of a TCP segment included in a minimum-length ICMPv4 error packet. svn path=/trunk/; revision=3986
2001-09-13TCP desegmentation support, and changes to the ONC RPC and NBSSGuy Harris1-1/+4
dissectors to use it, from Ronnie Sahlberg, with additional changes to handle the case where a frame contains messages that don't run past the end followed by one that does and where a reassembled chunk has, at the end, a message that runs past the end of that chunk (because the reassembly was for an earlier message). svn path=/trunk/; revision=3923
2001-08-04Replace the protocol-specific data in the "packet_info" structure with aGuy Harris1-10/+2
"void *" that a dissector can set to point to such a structure; that means that the stuff in the epan directory doesn't have to know anything about the protocol-specific private data one dissector passes to another, and that structure doesn't have to be changed if a dissector wants to pass some new type of data to another dissector. svn path=/trunk/; revision=3818
2001-06-04Define a "COPY_ADDRESS()" macro, which copies the data in one address toGuy Harris1-1/+16
another (copying the data to a mallocated array) in "epan/packet_info.h", and use it in the conversation code. svn path=/trunk/; revision=3510
2001-06-04Add an "ADDRESSES_EQUAL()" macro, taking pointers to two "address"Guy Harris1-3/+7
structures as arguments, that evaluates to "true" if the two addresses are equal and "false" if they're not equal. Use that macro in the conversation code. svn path=/trunk/; revision=3509
2001-05-27RX and AFS dissectors tvbuffified, and bugs fixed, by Ronnie Sahlberg.Guy Harris1-1/+10
svn path=/trunk/; revision=3454
2001-04-01Moved the packet_info structure and supporting functions out ofEd Warnicke1-0/+101
packet.{h,c} and into a separate packet_info{h,c}. svn path=/trunk/; revision=3225