| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
RFC5462 (https://tools.ietf.org/html/rfc5462) renamed the
MPLS "EXP" field to "Traffic Class" in 2009. Use "tc" as an
abbreviation for this field name.
|
|
|
|
|
|
|
| |
Enable ND_LONGJMP_FROM_TCHECK. Remove both ND_TCHECK*() instances
because they are redundant. Report invalid packets as invalid, not
truncated. Test whether the invalid packet is entirely in the buffer.
Replace a long switch block with a ternary assignment.
|
|
|
|
|
|
| |
This should address a warning with some AppVeyor builds (VS 16 2019):
warning C4061: enumerator 'PT_UNKNOWN' in switch of enum
'mpls_packet_type' is not explicitly handled by a case label
|
| |
|
|
|
|
|
|
|
| |
The exceptions are currently:
Some EXTRACT_ in print-juniper.c, not used on packet buffer pointer.
An EXTRACT_BE_U_3 in addrtoname.c, not always used on packet buffer
pointer.
|
|
|
|
| |
Update the output of some tests accordingly.
|
|
|
|
| |
Update the output of some tests accordingly.
|
| |
|
|
|
|
|
| |
Update this field in printer entry functions.
It will be used for some printings.
|
|
|
|
|
|
|
|
| |
This can prevent bizarre failures if, for example, you've done a
configuration in the top-level source directory, leaving behind one
config.h file, and then do an out-of-tree build in another directory,
with different configuration options. This way, we always pick up the
same config.h, in the build directory.
|
| |
|
| |
|
|
|
|
|
| |
ND_TTEST2(var, l) -> ND_TTEST_LEN(p, l)
ND_TCHECK2(var, l) -> ND_TCHECK_LEN(p, l)
|
| |
|
|
|
|
| |
In: switch (... *(p) ...) ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now all the macros have a name meaning a count in bytes.
With _S_: signed, _U_: unsigned
e.g.:
EXTRACT_BE_32BITS -> EXTRACT_BE_U_4
EXTRACT_LE_32BITS -> EXTRACT_LE_U_4
...
EXTRACT_BE_INT32 -> EXTRACT_BE_S_4
and have:
EXTRACT_8BITS -> EXTRACT_U_1
EXTRACT_INT8 -> EXTRACT_S_1
|
|
|
|
|
| |
It indicates clearly that these macros are used to extract big-endian
integral values.
|
|
|
|
|
|
|
|
|
|
|
| |
isoclns_print().
This fixes a buffer over-read discovered by Kamil Frankowicz.
Don't pass the remaining caplen - that's too hard to get right, and we
were getting it wrong in at least one case; just use ND_TTEST().
Add a test using the capture file supplied by the reporter(s).
|
|
|
|
|
|
| |
The loop that processes MPLS labels decrements the length for each
label, so it's the remaining length; don't subtract the total length of
the MPLS labels from it before handing it to packet printers.
|
|
|
|
| |
Fixes a heap overflow found with American Fuzzy Lop by Hanno Böck.
|
|
|
|
|
|
|
|
| |
with the tag '\summary:' for greping.
Remark: Currently some printers have no summary line.
Moreover:
Summarize all printers with a single line in INSTALL.txt
|
|
|
|
| |
Get the full log via: git log --follow netdissect-stdinc.h
|
| |
|
| |
|
|
|
|
|
|
|
| |
The purpose of this macro was to enable the file-by-file switch to NDO,
after which only tcpdump.c had a use of it and the definitions guarded
by it. Update tcpdump.c not to require them any more and dismiss the
unused definitions.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Always define and declare ip6_print(), always compile print-ip6.c, and
always call it if we recognize a payload as IPv6. If INET6 isn't
defined, ip6_print() will just print the length and note that printing
isn't supported.
That way, we don't do weird dissection of IPv6 packets on systems
without IPv6 support, due to, for example, ethertype_print() returning 0
("not dissected") for IPv6 packets on those systems (IPv6-over-Frame
Relay was dissected weirdly due to this).
|
|
|
|
|
|
|
|
|
| |
And, as we require at least autoconf 2.61, and as autoconf 2.61 and
later have AC_TYPE_UINTn_T and AC_TYPE_INTn_T macros, we use them to
define the uintN_t and intN_t macros if the system doesn't define them
for us.
This lets us get rid of bitypes.h as well.
|
| |
|
| |
|
|
|
|
|
| |
Update the already converted decoders to define the macro and to include
interface.h instead of netdissect.h. Fix incurred compile errors.
|
|
|
|
|
| |
This change converts ZeroMQ, IPX, MPLS, IPv6 options, PPPoE, RIPng,
PFLOG and Sun RPC decoders.
|
| |
|
|
|
|
|
|
| |
Remove lots of $Header's and a few $Id's that all belong to the former
CVS repository of tcpdump itself. These keywords have been frozen since
the migration to git in late 2008.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Presumably the idea is that the technique is generally applicable as
long as the traffic being carried is either IPv4, IPv6, OSI CLNP, ES-IS,
or IS-IS.
Also, by the time we get there, we know we've reached the bottom of the
MPLS stack (the do loop either fails by running past the end of the
packet and going to trunc, or by terminating because we find a label
entry with the BOS bit set); there's no need to check for that.
|
|
|
|
|
|
|
| |
specified.
Even with multiple layers in the stack, print on one line unless -v was
specified.
|
|
|
|
|
| |
-do multiline formatting for label-stacks deeper than 1
-hide the IPv4/IPv6 printer under the vflag for explicit NULL labels
|
|
|
|
| |
more easily call the inner parts.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
appropriately, and that GNUmakefile and the MSVC++ project file define
it apppriately, as we do with libpcap, rather than defining it in
"interface.h".
Undo the rcsid-shuffling and addition of extra #includes, as we no
longer need to arrange that "interface.h" be included before using _U_
in an RCS ID or copyright.
|
|
|
|
|
|
|
|
|
|
|
| |
use "_U_" in the definitions of "rcsid[]", to eliminate
complaints about those variables being unused;
move the definitions after the include of "interface.h", or add
an include of "interface.h", so that "_U_" is defined.
Include "config.h" before including "tcpdump-stdinc.h" in
"missing/datalinks.c".
|
|
|
|
| |
should be really printed in ether_print() using the eflag
|
| |
|
|
|
|
| |
payload type (IP,IPv6,OSI) in vflag<1 mode
|
|
|
|
|
|
|
|
|
|
|
|
| |
encoding, however draft-hsmit-isis-aal5mux-00.txt describes
a technique that looks at the first payload byte if the BOS (bottom of stack)
bit is set and tries to determine the network layer protocol
0x45-0x4f is IPv4
0x60-0x6f is IPv6
0x83 is IS-IS
this technique is sometimes known as NULL encapsulation
and decoding is particularly useful for control-plane traffic [BGP]
which cisco by default sends MPLS encapsulated
|
| |
|
|
|
|
| |
Submitted by: Kaarthik Sivakumar <kaarthik@torrentnet.com>
|