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
"color_t" structure to store color values (although currently it has all
the same fields that a GdkColor has; its currently advantage is that you
don't have to include any GTK/GDK stuff to declare it).
Add routines in the "gtk" directory to convert between "color_t" and
GdkColor values.
Define, in "prefs.h", all colors as "color_t" values rather than
GdkColor values. "prefs.h" now no longer needs to include <gtk/gtk.h>,
so don't include it.
svn path=/trunk/; revision=2692
"is_http_request_or_reply()", so that if "is_http_request_or_reply()"
decides the line is part of a request or a response it'll set "*type"
(which it does only if "*type" is HTTP_OTHERS).
svn path=/trunk/; revision=2690
extensions to ANSI C are disabled if they may cause strictly conforming
programs not to compile, or to work differently if those extensions are
enabled. (Other compilers #define it as 0, e.g. Sun's and, I think,
other AT&T-derived compilers; still others cheerfully define it as 1
even when those extensions are enabled, e.g. GCC.)
As such, checking whether __STDC__ is defined, or is defined as a
non-zero value, isn't the right way to check whether function prototypes
are supported; MSVC++ 6.0 supports them, but, by default, leaves
extensions of the sort described above enabled, and thus doesn't define
__STDC__. This means that the compiler warns about arguments to
"snprintf()" when compiling it, as the declaration is an old-style
declaration.
As Ethereal uses function prototypes, there's not much point in making
it possible for its private "snprintf()" to be compiled or used when
function prototypes aren't supported; just get rid of the tests for
__STDC__, so that it's compiled with function prototypes regardless of
whether __STDC__ is defined or not.
While we're at it, have "snprintf()" give it a "__attribute__((format
(printf, 3, 4))))" when compiled by GCC 2.x or later, so that
format/argument checks can be done even on platforms lacking
"snprintf()".
svn path=/trunk/; revision=2689