Age | Commit message (Collapse) | Author | Files | Lines |
|
svn path=/trunk/; revision=15858
|
|
and that extract IPv6 addresses into a "struct e_in6_addr", with
tvb_get_ipv4() and tvb_get_ipv6() calls - except for some that we
remove, by using proto_tree_add_item(), rather than replacing.
Have epan/tvbuff.h include epan/ipv6-utils.h, to define "struct
e_in6_addr" (not necessary to declare the tvbuff routines, but including
it there means "struct e_in6_addr" is guaranteed to be defined before
those declarations, so we don't get compiler complaints if we define it
*after* those declarations).
svn path=/trunk/; revision=15758
|
|
IPv6 addresses. Use "tvb_get_ipv4()" in the WINS Replication dissector,
so that it gets the right answer on little-endian *AND* big-endian
machines.
svn path=/trunk/; revision=15753
|
|
svn path=/trunk/; revision=15398
|
|
svn path=/trunk/; revision=15273
|
|
the README file.
svn path=/trunk/; revision=15271
|
|
documentation in README.developer
svn path=/trunk/; revision=15270
|
|
svn path=/trunk/; revision=15128
|
|
ep_tvb_memdup()
ep_alloc0()
ep_strsplit()
add all of the ep_ allocators to libethereal.def
svn path=/trunk/; revision=15100
|
|
ep_tvb_get_string
that acts the same as tvb_get_string but the buffer returned need not be freed.
svn path=/trunk/; revision=15024
|
|
compressed data buffer. Fixes bug 288.
svn path=/trunk/; revision=14981
|
|
exception ourselves. Fixes bug 130.
svn path=/trunk/; revision=14220
|
|
Add a message block length check to the AIM dissector.
svn path=/trunk/; revision=13955
|
|
returns. (The error returns shouldn't happen in practice, as the GLib
memory allocators never return a null pointer, they just abort the
program, but if we're going to be checking for failure and returning, we
should do the right thing anyway.)
svn path=/trunk/; revision=12957
|
|
"bytes_to_str_punct()", and use it instead of extracting the bytes and
formatting them by hand.
svn path=/trunk/; revision=12876
|
|
characters to '.'.
svn path=/trunk/; revision=12515
|
|
integers.
Make FT_INT64 and FT_UINT64 add numerical values, rather than byte-array
values, to the protocol tree, and add routines to add specified 64-bit
integer values to the protocol tree.
Use those routines in the RSVP dissector.
svn path=/trunk/; revision=11796
|
|
svn path=/trunk/; revision=11581
|
|
svn path=/trunk/; revision=11579
|
|
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.
svn path=/trunk/; revision=11400
|
|
and default uncompression buffer.
svn path=/trunk/; revision=10839
|
|
svn path=/trunk/; revision=10817
|
|
svn path=/trunk/; revision=10806
|
|
- Helper functions for uncompressing compressed tvbuffers.
- Compressed content coding dissection in HTTP.
svn path=/trunk/; revision=10799
|
|
characters.
Some strings appear to be null-padded; add a "tvb_format_stringzpad()"
routine to handle them, so that we don't show the padding characters as
"\000".
svn path=/trunk/; revision=10461
|
|
svn path=/trunk/; revision=10106
|
|
string argument.
Add some casts to squelch compiler warnings.
svn path=/trunk/; revision=9951
|
|
svn path=/trunk/; revision=9938
|
|
Remove now unnecessary casts in two files.
svn path=/trunk/; revision=9801
|
|
BoundsError, if the offset is just past the end of the reported data
(because we're ensuring that there actually *is* a byte there, and,
even according to the reported length, it isn't).
svn path=/trunk/; revision=9444
|
|
there's no data remaining - its callers largely depend on it doing so.
That means that the BEEP dissector doesn't have to check for it
returning 0.
svn path=/trunk/; revision=9433
|
|
to prevent memory leaks due to exceptions.
makes my tethereal testcase ~1% faster.
svn path=/trunk/; revision=9153
|
|
replace tvb_raw_offset() which is essentially a simple assignment and which
is called a lot with a macro.
this makes my tethereal testcase 2-3% faster.
svn path=/trunk/; revision=9152
|
|
so that we can change tvb_get_ds_tvb() into a macro.
This function was a single line assignment and was called a lot.
This made tethereal ~2.5% faster in one testcase I use.
svn path=/trunk/; revision=9141
|
|
non-null, set "*exception" to the appropriate exception - its callers
rely on it.
Now that it does that, there's no need for "check_offset_length()" to
check for a length of -1, as "compute_offset_length()" does so, and
therefore "check_offset_length_no_exception()" does so.
svn path=/trunk/; revision=8562
|
|
assertion happens 'xxxx contains ""'.
svn path=/trunk/; revision=8450
|
|
The search uses a naive approach; more work is required to add a
Boyer-Moore Search algorithm.
svn path=/trunk/; revision=8280
|
|
"tvb_get_nstringz0()", as it means there's no room even for the
terminating NUL; abort if "_tvb_get_nstringz()" is passed a bufsize of
0.
Don't throw an exception in "tvb_get_nstringz0()" if
"_tvb_get_nstringz()" returns 0 - that just means we have an empty
string.
svn path=/trunk/; revision=8150
|
|
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
|
|
throw an exception if there aren't enough bytes in the tvbuff to
compare.
svn path=/trunk/; revision=7813
|
|
make sure we have the entire string, rather than fetching the last
character.
svn path=/trunk/; revision=7783
|
|
Things can happen if we pass a zero buffer length to tvb_get_nstringz0().
Throw an exception if this happens.
In various dissectors make sure the tvb_get_nstringz0()'s buffer length
is greater than zero.
svn path=/trunk/; revision=7688
|
|
where necessary to reflect the new behavior.
svn path=/trunk/; revision=7607
|
|
tvbuff.c:
Lots of existing code assumes that you can safely do the following:
#define MAX_BUF 64
guint8 *buf[MAX_BUF];
...
tvb_get_nstringz0 (tvb, offset, MAX_BUF, buf, &bytes_copied);
In reality, tvb_get_nstringz*() can potentially write one byte past
"buf". Modify _tvb_get_nstringz() not to do that.
packet-ppp.c:
Check for a valid BAP suboption length.
packet-mount.c:
Fix a possible integer overflow in dissect_group().
svn path=/trunk/; revision=7590
|
|
give it a byte-order argument, and move it to "epan/tvbuff.c".
Use it to handle UCS-2 strings in version 1 of the Service Location
Protocol. In SRVLOC V1, use registered fields that are already there
for SRVLOC V2, and add some as needed. Fix some field names.
svn path=/trunk/; revision=7186
|
|
winapi_cleanup tool written by Patrik Stridvall for the wine
project.
svn path=/trunk/; revision=6116
|
|
equivalents for the epan/ directory but leave winsock2.h in inet_pton.c
and inet_ntop.c for now (can't estimate the consequences).
svn path=/trunk/; revision=5928
|
|
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 throws the appropriate exception if the bytes don't exist. Use it in
the GIOP and ASN.1 code to check whether the bytes to be copied to a
buffer exist before allocating the buffer.
Make "check_offset_length_no_exception()" check for an overflow, so that
it can be used in "tvb_ensure_bytes_exist()" and do all the checking
that the code "tvb_ensure_bytes_exist()" replaces did.
Make "get_CDR_wchar()" return a "gint", so that if the length octet it
fetched has a value between 128 and 255, the length can be returned
correctly.
Fix some comments not to specify the exception thrown by various
routines that can throw various exceptions.
svn path=/trunk/; revision=5453
|
|
"compute_offset_length()", and throw the exception it returns, rather
than calling "tvb_length_remaining()" and throw BoundsError if it
returns -1; this allows us to add additional exceptions without having
to change "tvb_ensure_length_remaining()".
Make "_tvb_get_nstringz()" static, as it's not used outside "tvbuff.c".
svn path=/trunk/; revision=5397
|