Age | Commit message (Collapse) | Author | Files | Lines |
|
change some tags according to --sip-publish-03
svn path=/trunk/; revision=10598
|
|
svn path=/trunk/; revision=10550
|
|
the Ethereal version.
svn path=/trunk/; revision=10522
|
|
svn path=/trunk/; revision=10493
|
|
body, as that's included in the SIP tree.
svn path=/trunk/; revision=10099
|
|
so that characters with the 8th bit set don't get sign-extended and
cause the macros not to return the right answer.
svn path=/trunk/; revision=10036
|
|
svn path=/trunk/; revision=9973
|
|
only to the lower-cased copy in subsequent code.
svn path=/trunk/; revision=9744
|
|
svn path=/trunk/; revision=9741
|
|
Convert content type to lowercase, and save pinfo->prvate_data before
handing off to a subdissector.
svn path=/trunk/; revision=9725
|
|
strict enforcement of SIP/2.0 will be applied.
Add some comments.
From Anders Broman:
Fix the length of content_type_parameter_str.
Fix a typo in a comment.
svn path=/trunk/; revision=9591
|
|
tree as filterable fields.
svn path=/trunk/; revision=9518
|
|
check whether "media_type_str" is null.
svn path=/trunk/; revision=9322
|
|
check that there *is* a content type string before using it;
get rid of some incomplete code for multipart/mixed (it set some
variables but didn't use them);
add some incomplete code for handling parameters to Content-Type.
svn path=/trunk/; revision=9321
|
|
Call subdissectors regardless of whether we're building a
protocol tree or not.
Use the "media_type" dissector table to hand off to
subdissectors, rather than wiring in SDP.
Put the message body into a subtree of the SIP tree rather than
at the top level.
svn path=/trunk/; revision=9200
|
|
svn path=/trunk/; revision=9089
|
|
- Add some summary info to REGISTER requests and responses
- Tidy up whitespace a little
svn path=/trunk/; revision=9048
|
|
svn path=/trunk/; revision=8963
|
|
the SIP address fields.
svn path=/trunk/; revision=8770
|
|
svn path=/trunk/; revision=8697
|
|
nor a response as continuation data. For SIP-over-everything-else,
reject it.
Parse the headers regardless of whether we're building a protocol tree
or not; if we're not, we just do it to look for a blank line separating
the headers from the body. Do that instead of scanning for the message
body separately.
When scanning for a colon, don't scan past the end of the line.
svn path=/trunk/; revision=8549
|
|
look like a SIP packet, so some other dissector gets a chance at it.
When looking for the blank line separating headers from data, use
"tvb_find_line_end()" so we handle CR/LF and LF as end-of-line
indications (RFC 2543 says "senders MUST terminate lines with a CRLF",
but it also says "but receivers MUSTalso interpret CR and LF by
themselves as line terminators"), and return an offset past the end of
the buffer, rather than -1, if we don't find it (not all packets have
one).
When checking whether a header is one we know about, do a
case-insensitive comparison (RFC 2543 says header field names are
case-insensitive).
svn path=/trunk/; revision=8548
|
|
whole SIP message as text lines, as well as showing the dissected
message.
svn path=/trunk/; revision=8340
|
|
Doing so obviates the need to register the dissector by name (that was
done to let the SCTP dissector explicitly call the SIP dissector), so
don't bother doing so.
svn path=/trunk/; revision=8129
|
|
"UPDATE" is now a valid sip method;
register the SIP decoder so it can be called from other
protocols (i.e. SCTP).
svn path=/trunk/; revision=8115
|
|
tvb_get_string() - takes a tvbuff, an offset, and a length as
arguments, allocates a buffer big enough to hold a string with
the specified number of bytes plus an added null terminator
(i.e., length+1), copies the specified number of bytes from the
tvbuff, at the specified offset, to that buffer and puts in a
null terminator, and returns a pointer to that buffer (or throws
an exception before allocating the buffer if that many bytes
aren't available in the tvbuff);
tvb_get_stringz() - takes a tvbuff, an offset, and a pointer to
a "gint" as arguments, gets the size of the null-terminated
string starting at the specified offset in the tvbuff (throwing
an exception if the null terminator isn't found), allocates a
buffer big enough to hold that string, copies the string to that
buffer, and returns a pointer to that buffer and stores the
length of the string (including the terminating null) in the
variable pointed to by the "gint" pointer.
Replace many pieces of code allocating a buffer and copying a string
with calls to "tvb_get_string()" (for one thing, "tvb_get_string()"
doesn't require you to remember that the argument to
"tvb_get_nstringz0()" is the size of the buffer into which you're
copying the string, which might be the length of the string to be copied
*plus 1*).
Don't use fixed-length buffers for null-terminated strings (even if the
code that generates those packets has a #define to limit the length of
the string). Use "tvb_get_stringz()", instead.
In some cases where a value is fetched but is only used to pass an
argument to a "proto_tree_add_XXX" routine, use "proto_tree_add_item()"
instead.
svn path=/trunk/; revision=7859
|
|
tree item for that line.
In "dfilter_sip_request_line()", free the string after we're done.
svn path=/trunk/; revision=7848
|
|
and the finding of tokens in the header - only once.
Don't assume there's either zero or one spaces after the colon in a
Name:Value header, and don't put a tvb_format_text()-formatted version
of the value into the protocol tree.
svn path=/trunk/; revision=7811
|
|
don't try to eat the non-existent whitespace.
svn path=/trunk/; revision=7763
|
|
#defines instead.
svn path=/trunk/; revision=7339
|
|
svn path=/trunk/; revision=7336
|
|
svn path=/trunk/; revision=6364
|
|
winapi_cleanup tool written by Patrik Stridvall for the wine
project.
svn path=/trunk/; revision=6117
|
|
computations.
svn path=/trunk/; revision=5905
|
|
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
|
|
it new it was available.
Fix some comments.
svn path=/trunk/; revision=5425
|
|
is available before looking at it, so we don't throw an exception before
we conclude whether the packet is, or isn't, one of ours.
svn path=/trunk/; revision=5424
|
|
svn path=/trunk/; revision=5418
|
|
svn path=/trunk/; revision=5332
|
|
Change the behavior of the dissector to treat anything matching
"^.* .+:.+ SIP/2.0$" as a SIP request. Methods that don't match our list
are labelled "unknown".
Convert some tabs to spaces to match the rest of the code.
svn path=/trunk/; revision=5040
|
|
Add the "QAUTH" and "DO" methods as well.
svn path=/trunk/; revision=4997
|
|
"msg_offset" rather than "offset" as the offset of the beginning of the
payload ("offset" is only advanced if "tree" is non-null, so it doesn't
necessarily point to the beginning of the payload).
Use -1 rather than "tvb_length_remaining()" as a length argument to
"tvb_find_guint8()" to get it to search to the end of the tvbuff, and,
before checking for the additional "\n\r\n" after a "\r", check whether
those 3 bytes are in the tvbuff.
svn path=/trunk/; revision=4671
|
|
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
|
|
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=4263
|
|
svn path=/trunk/; revision=4088
|
|
a request or reply; make its return value "gboolean", and have it just
return TRUE or FALSE. Also make an array index variable unsigned, to
squelch a GCC warning.
Support for additional SIP methods, from Jean-Francois Mule.
svn path=/trunk/; revision=3865
|
|
"header_field_info" structure, including the ones that are later set by
the routines to register fields.
svn path=/trunk/; revision=3561
|