correct (and document) the offset computation in the parameter()
and parameter_value_q() functions.
From Lo�c Minier:
- a copy-paste with a missing replacement;
- content-disposition uses parameters not q-values;
- missing "+" for the calculation of parameter-offsets;
- white-space cleanup;
- comment fixes.
svn path=/trunk/; revision=9038
Implement quoted-string parsing by appending the closing quote
to the string value. If the quoted-string value does not start
with a quote, dissection resumes but a warning is displayed.
Textual headers are assumed to be 0x00 terminated (otherwise we
have a malformed packet or a short frame).
The Trailer header is also dissected now, and the charset
parameter dissection has been rewritten.
The Content-ID header dissector was registered at the place of
the Trailer dissector; this has also been fixed.
svn path=/trunk/; revision=9024
of match_strval() with val_to_str() so that we don't throw an assertion.
These changes fix a problem with a file from Martin Dubovsky; otherwise
they haven't been heavily tested.
svn path=/trunk/; revision=8954
implement the TE header decoding;
fix the exported add_content_type function;
reimplement the header parameter dissection so the parameters
also show up in the related header.
svn path=/trunk/; revision=8952
* Extra headers: Encoding-Version, WWW-Authenticate,
Proxy-Authenticate
* Fix memory allocate/free in header parsing functions & macros
* Add missing "ok = TRUE" for some header parsing functions
* Header subfields all share the same subtree identifier (more
intuitive)
* Get rid of unused header fields and subtrees
* Some whitespace changes
svn path=/trunk/; revision=8879
* Use function reference arrays for header parse function lookup
(avoids switch())
* Use macros for the common parts of the header parse functions
* Use macros for identical header dissection functions
* Implement many missing header parse functions
* Automatic header parse error notification
* Some minor edits
* Add HTTP equivalents to WSP status codes
svn path=/trunk/; revision=8865
content type pointer or a 0 numerical content type and a non-null
content type pointer; if the content type is numerical, we cannot match
on the string content type (as we'd dereference a null pointer) and, if
the content type is a string, we should not match on the numerical
content type (as the value is bogus).
We also have to call "add_content_type()" to get the content type
regardless of whether we're building a protocol tree, as we need to call
subdissectors regardless of whether we're building a protocol tree.
We also need to set the columns regardless of whether we're building a
protocol tree.
svn path=/trunk/; revision=8675
Rename WSP defines to avoid collisions with Windows defines.
Rename WSP dissector table for integer-value content types.
Add WSP dissector table for literal content types.
Add WSP dissection registration for literal content types.
Register literal and extra WBXML content types to WSP dissector.
Register textual MMS content type to WSP dissector.
svn path=/trunk/; revision=8648
string, decode the value as a text string, as per 1.0, section 8.4.1.2
("Field Values"):
If the field name is encoded in text format, textual values MUST
be used.
svn path=/trunk/; revision=8130
"packet-wsp.c", and just *declare* it in "packet-wsp.h" - no need to
have everybody who includes "packet-wsp.h" get their own copy
(especially as they might not use it).
svn path=/trunk/; revision=7993
UDH dissection in SMPP message
WTP and WSP dissection over SMPP (no reassembly)
WSP status code rendering in Info column
svn path=/trunk/; revision=7954
* Add decoding of Basic authentication scheme for the Authorization
and Proxy-Authorization headers, and create a summary line
with proto_item_append_text().
* Update Warning header decoding: warn code mapping to warn text,
and create a summary line with proto_item_append_text().
svn path=/trunk/; revision=7651
* Fix the Extended Method PDU mapping (move code some lines down)
* Decode more WSP Parameter entries (now WAP Provisioning Push OK)
* First check whether the PDU content for Post, Reply and Push PDUs
can be dissected (dissector_try_X function calls), if not then
display the PDU data as "Data" in the WSP protocol tree.
* Replaced "Unsupported header" by "Undecoded header" for clarity
svn path=/trunk/; revision=7376
and let the Protocol Options header code page and extended methods calls
refer to hexadecimal representation as used everywhere else in the WSP
dissection code.
svn path=/trunk/; revision=7372
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
dftest.c:
Remove #if-0-ed includes
packet-ieee80211.c, packet-wtls.c, packet-afp.c, packet-wsp.c,
packet-wtp.c, ethereal_gen.py:
Remove redundant include varargs (already in snprintf.h,
and required only for snprintf.h)
Remove unused include of snprintf.h from files not using
"snprintf()".
svn path=/trunk/; revision=5889
rather than extracting a string and adding that explicitly (which runs
the risk of leaking memory if the "tvb_get_ptr()" throws an exception).
Use "tvb_format_text()" when adding the string to the Info column, so
that non-printable characters are displayed as escapes.
svn path=/trunk/; revision=5283
support for Openwave-specific WSP headers;
support for Openwave-specific field names;
support for additional content types from Openwave;
support for additional language values.
svn path=/trunk/; revision=4775
the remaining data in a packet (and rather than "tvb_reported_length()",
which is wrong as it doesn't take the starting offset into account).
svn path=/trunk/; revision=4661
arguments to "proto_tree_add_text()", and to "proto_tree_add_XXX()" calls
that add FT_NONE or FT_PROTO items to the protocol tree, with -1.
Replace some calls to "tvb_length()" or "tvb_length_remaining()" with
calls to "tvb_reported_length()" and "tvb_reported_length_remaining()",
as those give the actual length of the data in the packet, not just the
data that happened to be captured.
svn path=/trunk/; revision=4605
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).
Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").
svn path=/trunk/; revision=4586
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
specifies how the selector values used as keys in those tables are to be
displayed, and the title to use when displaying the table.
Use that information in the code to display the initial and current
entries of various dissector tables.
Have the dissector for BACnet APDUs register itself by name, and have
the BACnet NPDU dissector call it iff the BAC_CONTROL_NET bit isn't set,
rather than doing it with a dissector table.
svn path=/trunk/; revision=4358
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID. Associate dissector handles with
dissector table entries.
svn path=/trunk/; revision=4308
rather than a function pointer, "dissect_wtp_fromudp()" no longer needs
to be global; make it static, register it by name, and have the WSP
dissector get the handle by calling "find_dissector()" rather than by
constructing its own handle for it.
Fix up some attributions.
svn path=/trunk/; revision=4306
than a pointer to a dissector function, as an argument.
This means that the conversation dissector is called through
"call_dissector()", so the dissector itself doesn't have to worry about
checking whether the protocol is enabled or setting
"pinfo->current_proto", so get rid of the code that does that in
conversation dissectors. Also, make the conversation dissectors static.
Get rid of some direct calls to dissectors; replace them with calls
through handles, and, again, get rid of code to check whether a protocol
is enabled and set "pinfo->current_proto" where that code isn't needed.
Make those dissectors static if they aren't already static.
Add a routine "create_dissector_handle()" to create a dissector handle
without registering it by name, if the dissector isn't used outside the
module in which it's defined.
svn path=/trunk/; revision=4281