doesn't just seem to be a profiling artifact) that, at least on FreeBSD
3.4, it's significantly more efficient to clear out a column by stuffing
a '\0' into the first byte of the column data than to do so by copying a
null string (I guess when copying one byte, the fixed overhead of the
procedure call and of "strcpy()" is significant).
Have the TCP dissector set the Protocol column, and clear the Info
column, before doing anything that might cause an exception to be
thrown, so that if we *do* get an exception thrown, the frame at least
shows up as TCP.
Instead of, in the TCP dissector, constructing a string and then
stuffing it into the Info column, just append to the Info column, which
avoids one string copy.
Pass a "frame_data" pointer to dissectors for TCP and IP (and PPP)
options, so they can use it to append to the Info column.
svn path=/trunk/; revision=2744
Equivalence Class.
Set "pinfo->current_proto", so that if we run past the end of the data
the problem is noted as being with LDP.
svn path=/trunk/; revision=2743
exports it.
Make the pointer that points to the GMemChunk for per-frame data static
to "epan/packet.c", as it's not used outside "epan/packet.c".
svn path=/trunk/; revision=2741
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
that if they threw an exception, the wrong protocol would be blamed.
Add the missing assignments.
Clean up the extraction of the null-encapsulation header.
svn path=/trunk/; revision=2730
Handle the Content-Length: MIME header, so that, if there's a
Content-Length: header, we only process as RTSP payload the amount of
data specified by that header.
Handle frames with more than one RTSP message in them (the previous
change allows us to do so).
svn path=/trunk/; revision=2729
Still more work to do though, as I want to dissect the various message
types correctly, and to dissect TLVs much more as well.
The dissector currently handles multiple messages in a PDU, as the trace
file I have has some of those.
I think that the equipment that generated the LDP trace I have has a bug.
It seems to think that TLVs must be alligned on 4-byte boundaries, while the
spec (draft) says that there are no alignment requirements :-)
Don't know what generated the trace :-)
svn path=/trunk/; revision=2726
of the search if the caller-supplied limit goes past the end of the
tvbuff - the limit should just be what remains in the tvbuff after the
specified starting offset.
In "tvb_find_line_end_unquoted()", after searching for the next
interesting character, check the value we got back from that search, in
"char_offset", not whatever happens to be in "cur_offset", to see if we
found a character.
svn path=/trunk/; revision=2719
"proto_reg_handoff_wlan()", to match "proto_register_wlan()".
Call it "IEEE 802.11 wireless LAN", not "Wireless ethernet" - that makes
it clearer what type of wireless LAN it is (which *isn't* Ethernet at
the MAC layer, although I suspect many of the drivers make it look like
Ethernet to the rest of the system).
svn path=/trunk/; revision=2717
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
involving "g_module_build_path()", rather than by checking the platform
- this should let us handle non-Windows platforms that don't use ".so"
(e.g., HP-UX).
Use G_DIR_SEPARATOR_S as the pathname separator character when
generating the pathname of the module.
svn path=/trunk/; revision=2712
packet is too small to contain all the data that the frame header claims
was captured for the packet; treat that as a bad record, and return an
error.
svn path=/trunk/; revision=2711
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
not 123 (123 is Newbridge Networks); update the list of RADIUS vendor
IDs, and put in a comment before that list indicating that RADIUS vendor
IDs are just SMI Network Management Private Enterprise Codes and giving
the URL of the IANA list of enterprise codes.
svn path=/trunk/; revision=2703
- Reads our current 'manuf' file header and contents
- Fetches OUI information from the IEEE and CaveBear
- Merges the OUI information, with our entries taking precedence, then
CaveBear's, then the IEEE.
- Dumps eveything into the 'manuf' file.
svn path=/trunk/; revision=2700
in order to check whether to use ANSI C features such as "const".
GCC defines it as 1 even if extensions that render the implementation
non-conformant are enabled; Sun's C compiler (and, I think, other
AT&T-derived C compilers) define it as 0 if extensions that render
the implementation non-conformant are enabled; Microsoft Visual C++
6.0 doesn't define it at all if extensions that render the implementation
non-conformant are enabled.
We define it as 0 in "config.h.win32", so that those generated files will use
those features (and thus not get type warnings when compiled with
MSVC++).
svn path=/trunk/; revision=2698
the global "pi". Also set "pinfo->current_proto" to "RPC", so that we
get the right message if a tvb accessor throws an exception.
svn path=/trunk/; revision=2694