Age | Commit message (Collapse) | Author | Files | Lines |
|
(subdissectors must register their Content-Type values as
all-lower-case).
Don't include parameters in the value we look up in the Content-Type
subdissector table.
svn path=/trunk/; revision=9000
|
|
Process the Content-Type header, and, if one is found, look up its value
in the aforementioned dissector table.
svn path=/trunk/; revision=8999
|
|
value so it can be handled specially (with a string dissector table so
that subdissectors can register for particular content types).
svn path=/trunk/; revision=8903
|
|
(string) values to be put into the protocol tree as fields and allowing
some headers to get special treatment, and use it for Authorization,
Proxy-Authorization, WWW-Authenticate, and Proxy-Authenticate.
svn path=/trunk/; revision=8892
|
|
identical one and throw away the first one.
svn path=/trunk/; revision=8876
|
|
svn path=/trunk/; revision=8786
|
|
svn path=/trunk/; revision=8346
|
|
svn path=/trunk/; revision=8345
|
|
svn path=/trunk/; revision=7837
|
|
to put the field, and any future field extracted from the HTTP Request
record.
svn path=/trunk/; revision=7834
|
|
svn path=/trunk/; revision=7764
|
|
use it.
svn path=/trunk/; revision=7723
|
|
see one, assume we're dealing with data, not a MIME header.
Spaces are separators.
svn path=/trunk/; revision=7185
|
|
qualifiers as necessary to ensure that we don't have to.
"strcmp()", "strcasecmp()", and "memcmp()" don't return booleans; don't
test their results as if they did.
Use "guint8", not "guchar", for a pointer to (one or more) 8-bit bytes.
Update Michael Tuexen's e-mail address.
svn path=/trunk/; revision=6726
|
|
protocol tree or not.
svn path=/trunk/; revision=6583
|
|
dissection if found, with a table of headers that indicate NTLMSSP
authentication.
Add some more headers to that table.
Constify the code a bit.
svn path=/trunk/; revision=6432
|
|
or 'Authorization: Negotiate'.
svn path=/trunk/; revision=6326
|
|
winapi_cleanup tool written by Patrik Stridvall for the wine
project.
svn path=/trunk/; revision=6117
|
|
HTTP now works a treat!
Thanks again to Guy for the tip.
svn path=/trunk/; revision=5996
|
|
Call tvb_set_child_real_data_tvbuff() and add_new_data_source() to fix
the display problem when dissecting ntlmssp over http packets. It
works better now, but for some reason the ntlmssp challenge packet is
still not displayed correctly.
Thanks to Guy for the tips.
svn path=/trunk/; revision=5991
|
|
return value is assigned a "size_t". (For some reason, the file fails
to compile with MSVC++ 6.0, due to "ssize_t" not being defined, if it's
an "ssize_t", but works if it's a "size_t".)
svn path=/trunk/; revision=5989
|
|
svn path=/trunk/; revision=5984
|
|
somewhat documented at http://www.innovation.ch/java/ntlm.html and
other places.
Ethereal handles it nicely, although the hex dump pane gets confused
because we create a new tvb containing base64 decoded data from the
HTTP header. The hex dump thinks we are still looking at the data
from the packet. I'm not sure how to fix this.
svn path=/trunk/; revision=5983
|
|
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
|
|
should do if it doesn't find an EOL; if FALSE, it behaves as before,
returning values that treat the line as ending at the end of the tvbuff,
and if TRUE, it returns -1, so its caller can do segment reassembly
until it gets the EOL.
Add an option to the SMTP dissector to do segment reassembly, and do
segment reassembly of the first line.
svn path=/trunk/; revision=5891
|
|
argument to "tvb_new_subset()" - just use -1 if the subset tvbuff is to
run to the end of the parent tvbuff.
svn path=/trunk/; revision=5597
|
|
method length and use that in all comparisons, from Blair Cooper.
Fix the check for "M-" to check also whether there are at least two
characters in the line.
svn path=/trunk/; revision=5071
|
|
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
|
|
svn path=/trunk/; revision=4269
|
|
http.
svn path=/trunk/; revision=4217
|
|
dissectors to call.
svn path=/trunk/; revision=3905
|
|
"header_field_info" structure, including the ones that are later set by
the routines to register fields.
svn path=/trunk/; revision=3561
|
|
statements.
Move the setting of the Protocol column in various dissectors before
anything is fetched from the packet, and also clear the Info column at
that point in those and some other dissectors, so that if an exception
is thrown, the columns don't reflect the previous protocol.
svn path=/trunk/; revision=2932
|
|
register their port as being for XXX-over-HTTP; the HTTP dissector
registers that port in the "tcp.port" table as an HTTP port, and
registers it in its *own* table with the dissector and protocol provided
to it.
Parse the HTTP MIME headers regardless of whether we're building a
protocol tree or not; we have to do so in order to find the offset of
the payload, to hand to an XXX-over-HTTP dissector.
svn path=/trunk/; revision=2872
|
|
svn path=/trunk/; revision=2870
|
|
Leave notes for a future rethinking of the way we handle protocols that
run atop HTTP.
svn path=/trunk/; revision=2869
|
|
"{old_}heur_dissector_add()", "{old_}conv_dissector_add()", and
"register_dissector()", so that an entry in those tables has associated
with it the protocol index of the protocol the dissector handles (or -1,
if there is no protocol index for it).
This is for future use in a number of places.
(Arguably, "proto_register_protocol()" should take a dissector pointer
as an argument, but
1) it'd have to handle both regular and heuristic dissectors;
2) making it take either a "dissector_t" or a union of that and
a "heur_dissector_t" introduces some painful header-file
interdependencies
so I'm punting on that for now. As with other Ethereal internal APIs,
these APIs are subject to change in the future, at least until Ethereal
1.0 comes out....)
svn path=/trunk/; revision=2849
|
|
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
|
|
HTTP-based SSDP protocol, from David Hampton.
svn path=/trunk/; revision=2808
|
|
"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
|
|
can be put, and a pointer to the string for the column, which might or
might not point to that buffer.
Add a routine "col_set_str()", which sets the string for the column to
the string passed to it as an argument; it should only be handed a
static string (a string constant would be ideal). It doesn't do any
copying, so it's faster than "col_add_str()".
Make the routines that append to columns check whether the pointer to
the string for the column points to the buffer for the column and, if
not, copy the string for the column to the buffer for the column so that
you can append to it (so you can use "col_set_str()" and then use
"col_append_str()" or "col_append_fstr()").
Convert a bunch of "col_add_str()" calls that take a string constant as
an argument to "col_set_str()" calls.
Convert some "col_add_fstr()" calls that take a string constant as the
only argument - i.e., the format string doesn't have any "%" slots into
which to put strings for subsequent arguments to "col_set_str()" calls
(those calls are just like "col_add_str()" calls).
Replace an END_OF_FRAME reference in a tvbuffified dissector with a
"tvb_length(tvb)" call.
svn path=/trunk/; revision=2670
|
|
dissector call it through a handle, and make it static.
Give "dissect_data()" an "offset" argument, so dissectors can use it to
dissect part of the packet without having to cook up a new tvbuff.
Go back to using "dissect_data()" to dissect the data in an IPP request.
svn path=/trunk/; revision=2651
|
|
being a global function.
The HTTP dissector should set "pinfo->current_proto" to HTTP even if we
consider the packet to be IPP, so that if we run past the end of a
tvbuff while dissecting HTTP stuff it's reported as a problem with HTTP,
not IPP.
svn path=/trunk/; revision=2648
|
|
whether there's any data left in the tvbuff starting at a specified
offset.
svn path=/trunk/; revision=2636
|
|
Add "tvb_find_line_end()", to find a CR and/or LF-terminated line in a
tvbuff and return its length and the offset of the character after the
line end, for the use of those dissectors.
Add "tvb_strncaseeql()", which is like "tvb_strneql()" except that it
does a case-insensitive comparison.
svn path=/trunk/; revision=2590
|
|
to look for a space after the method name.
svn path=/trunk/; revision=2515
|