Age | Commit message (Collapse) | Author | Files | Lines |
|
masking out the appropriate bits in the address.
Use them in the BGP and EIGRP dissectors.
svn path=/trunk/; revision=10327
|
|
buffer, and add checks for IPv4 and IPv6 prefix lengths of 0, to avoid
underflowing a buffer.
svn path=/trunk/; revision=10325
|
|
dissector.
svn path=/trunk/; revision=9812
|
|
"guint", and make the "labnum" variable to which its return value is
assigned a "guint".
"plen" in "decode_prefix_MP()" can have a 16-bit value assigned to it;
make it a "guint", not just a "guint8".
svn path=/trunk/; revision=9568
|
|
svn path=/trunk/; revision=9561
|
|
svn path=/trunk/; revision=7774
|
|
- fix a typo
- correctly hook-in capability notification subcodes
in the *bgpnotify_minor[] array
- add support for draft-ietf-idr-cease-subcode-02
svn path=/trunk/; revision=7756
|
|
BGP code. Replace many strings with GStrings.
svn path=/trunk/; revision=7693
|
|
draft-ietf-idr-bgp-ext-communities rather than
draft-ramachandra-bgp-ext-communities, and get rid of unused
MAX_SIZE_OF_EXT_COM_NAMES #define.
svn path=/trunk/; revision=7691
|
|
svn path=/trunk/; revision=7673
|
|
svn path=/trunk/; revision=7557
|
|
Marcio Franco.
Add a bunch of error checking and cleanups in the process of adding the
filterable fields support.
svn path=/trunk/; revision=7546
|
|
packets, and mark any stuff before the first BGP header as continuation
data.
Make the main loop for dissecting the BGP packets similar to the loop in
"tcp_dissect_pdus()" (if "tcp_dissect_pdus()" took a starting offset as
an argument, we could use it), so that it handles a BGP header split
between TCP segments.
svn path=/trunk/; revision=7405
|
|
being put in for sets).
svn path=/trunk/; revision=7064
|
|
draft-ietf-idr-dynamic-cap-03.txt.
Fix his AUTHORS entry to put the (presumed) given name first and family
name last.
svn path=/trunk/; revision=7014
|
|
support dissecting of v6 VPN NLRIs;
fix a little bug for displaying v4 nexthops using type 1 RD
style [dissecting started at wrong offset].
svn path=/trunk/; revision=6561
|
|
messages.
svn path=/trunk/; revision=6430
|
|
instead of copying them into a struct. Remove the "bgp" struct, as it is
no longer used. Gracefuly (more than before, at least) handle a zero
packet length.
svn path=/trunk/; revision=6421
|
|
Add BGP output to randpkt.
svn path=/trunk/; revision=6420
|
|
infinite loop caused by a malformed packet.
svn path=/trunk/; revision=6392
|
|
winapi_cleanup tool written by Patrik Stridvall for the wine
project.
svn path=/trunk/; revision=6117
|
|
open up a subtree when decoding l2info extd communities;
some bugfixes in the extd community dissector.
svn path=/trunk/; revision=6098
|
|
more complete support for L2VPNs as described in
draft-kompella-ppvpn-l2vpn;
fix a segfault in the extd_community decoder;
more consistent SAFI strings (tcpdump);
more robust V6 decoding (the assumption that v6 may come
only in unlabeled form is wrong :-|)
svn path=/trunk/; revision=6093
|
|
AFNUM_INET6.
Properly check for "mp_addr_to_str()" indicating that it doesn't know
the address family being parsed.
svn path=/trunk/; revision=6082
|
|
Basic support for AFI & Extd communities in
draft-kompella-ppvpn-l2vpn
More robust handling for unknown AFIs in BGP MP(UN)REACH NLRIs
Fix typos.
svn path=/trunk/; revision=6079
|
|
a small fix for displaying unrecognized capabilities;
ORF support (draft-ietf-idr-route-filter-06.txt).
svn path=/trunk/; revision=5998
|
|
it.
svn path=/trunk/; revision=5938
|
|
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
|
|
Add some additional bounds checking to "decode_MPLS_stack()" so as not
to overflow the buffer handed to it.
svn path=/trunk/; revision=5518
|
|
svn path=/trunk/; revision=5517
|
|
svn path=/trunk/; revision=5511
|
|
svn path=/trunk/; revision=5481
|
|
Communities attribute in a BGP Update message.
Also, get rid of an extra space before a colon in the display for that
attribute, which isn't in other attributes.
svn path=/trunk/; revision=4732
|
|
are in the reserved region (which also fixes a bug where we weren't
printing the value for the NO_ADVERTISE community correctly).
svn path=/trunk/; revision=4638
|
|
"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
|
|
Collapse the two loops through the TCP segment into one.
Use "tvb_reported_length()", not "tvb_length()", to find out how big the
TCP segment is ("tvb_length()" says how much of it was captured, not how
much of it there is).
svn path=/trunk/; revision=4557
|
|
has the "extended length" flag set - the starting offset of the list
depends on whether the "extended length" bit was set or not.
svn path=/trunk/; revision=4544
|
|
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
|
|
Message bug fix, in BGP, from Motonori Shindo.
svn path=/trunk/; revision=4142
|
|
svn path=/trunk/; revision=3930
|
|
have two independent "value_string" tables mapping RFC 1700 address
family numbers to names, nor is there any need to have the BGP dissector
and the PIM dissector have two independent sets of #defines for RFC 1700
address family numbers; put a single "value_string" table in "afn.c" and
put a declaration of it, and #defines for the address family numbers,
into "afn.h", and have the dissectors use that.
Move the #define for PGM into "ipproto.h", and add an entry for it in
the "value_string" table in "ipproto.c".
Have the PGM dissector use the standard Ethereal mechanisms for
resolving addresses, and have it use "value_string" tables for mapping
option types, the OPX bits, and packet types to strings. Use
"bytes_to_str()" to turn byte arrays into strings of hex digits. Pass
the packet type string to "dissect_pgmopts()" as an argument, rather
than making it a global. Don't use "proto_tree_add_XXX_format" routines
if you can possibly just use "proto_tree_add_XXX"; give various fields
the correct radix and type, and VALS() strings if necessary, to make
that happen (and to make filtering on them more pleasant). Put the
type, length, and total length of the options into the protocol tree as
separate fields. Don't have separate type, length, and OPX fields for
every type of option; one field will suffice. Don't format a string
with "sprintf()" and then pass that string to "col_add_fstr()" with a
format of "%s" and the string as an argument - "col_add_fstr()" can
format strings itself (that's what the "f" stands for). Don't byte-swap
and then un-byte-swap IPv4 address fields in the header, just leave them
network byte order to start with. Use the correct fields for
"proto_tree_add_XXX", rather than using the same field multiple times.
Quit early if an address family identifier isn't AFNUM_INET, as that
means the structure we use to dissect the header doesn't match the
actual header.
svn path=/trunk/; revision=3761
|
|
not all compilers let you define an array with no explicit length and no
initializers.
svn path=/trunk/; revision=3670
|
|
extended communities, from Aamer Akhter.
svn path=/trunk/; revision=3667
|
|
suggests, and that RFC 2858 obsoletes RFC 2283 which says you can,
doesn't matter - Ethereal's job isn't to enforce protocol standards or
to refuse to dissect stuff that doesn't conform to the final version of
standards; if it can dissect stuff that's now illegal but that wasn't
illegal in the past, and do so without causing problems when dissecting
currently legal stuff, it should so so, so that if you have captures
that include now-illegal stuff (perhaps from old devices that haven't
been upgraded, or from old captures), you can still see what was
happening.
svn path=/trunk/; revision=3644
|
|
attribute.
svn path=/trunk/; revision=3643
|
|
"header_field_info" structure, including the ones that are later set by
the routines to register fields.
svn path=/trunk/; revision=3561
|
|
BGPTYPE_MP_REACH_NLRI stuff; dissect all of them.
svn path=/trunk/; revision=3553
|
|
"char *" variable, not to the size of the buffer to which it points.
svn path=/trunk/; revision=3552
|
|
svn path=/trunk/; revision=3534
|