tcpdump
12 months agoupdated VERSION in configure tcpdump-4.99.0
Michael Richardson [Wed, 30 Dec 2020 19:20:00 +0000 (14:20 -0500)] 
updated VERSION in configure

12 months agoset version to 4.99
Michael Richardson [Tue, 29 Dec 2020 21:42:48 +0000 (16:42 -0500)] 
set version to 4.99

12 months agoUpdate my email address. tcpdump-4.99-bp tcpdump-4.99.0-bp
Guy Harris [Tue, 29 Dec 2020 19:59:47 +0000 (11:59 -0800)] 
Update my email address.

[skip ci]

12 months agoList more contributors in CREDITS. [ckip ci]
Denis Ovsienko [Mon, 28 Dec 2020 15:45:51 +0000 (15:45 +0000)] 
List more contributors in CREDITS. [ckip ci]

Add new people that had authored at least one commit in 2013-2020, that
is, in the 1dcb552..4b5b833 git revision range.

12 months agoFixup existing records in CREDITS. [skip ci]
Denis Ovsienko [Mon, 28 Dec 2020 14:29:54 +0000 (14:29 +0000)] 
Fixup existing records in CREDITS. [skip ci]

12 months agoFill the 4.99.0 section in CHANGES. [skip ci]
Denis Ovsienko [Mon, 28 Dec 2020 06:23:30 +0000 (06:23 +0000)] 
Fill the 4.99.0 section in CHANGES. [skip ci]

12 months agoAdd a missing space to doc/README.Win32.md. [skip ci]
Denis Ovsienko [Mon, 28 Dec 2020 04:21:46 +0000 (04:21 +0000)] 
Add a missing space to doc/README.Win32.md. [skip ci]

12 months agoLose a leftover comment [skip ci]
Denis Ovsienko [Sun, 27 Dec 2020 22:23:23 +0000 (22:23 +0000)] 
Lose a leftover comment [skip ci]

12 months agoUpdate VERSION to 4.99.0-PRE-GIT; Run 'autoreconf -f'
Francois-Xavier Le Bail [Sun, 27 Dec 2020 09:57:40 +0000 (10:57 +0100)] 
Update VERSION to 4.99.0-PRE-GIT; Run 'autoreconf -f'

Reminder:
Run 'autoreconf -f' is needed to update configure when VERSION is updated.

12 months agoLose the HTON and NTOH macros. [skip ci]
Denis Ovsienko [Sat, 26 Dec 2020 00:28:02 +0000 (00:28 +0000)] 
Lose the HTON and NTOH macros. [skip ci]

Out of the four macros two were never used, and the other two were used
only once. Use htonl() and htons() directly instead.

12 months agoCFM: Fix another typo in a comment. [skip ci]
Denis Ovsienko [Fri, 25 Dec 2020 23:43:09 +0000 (23:43 +0000)] 
CFM: Fix another typo in a comment. [skip ci]

12 months agoList Linux properly and only once. [skip ci]
Denis Ovsienko [Fri, 25 Dec 2020 23:16:52 +0000 (23:16 +0000)] 
List Linux properly and only once. [skip ci]

Whatever libc it is, the usual rules apply: if it does not work, report
the bug.

12 months agoUpdate config.{guess,sub}, timestamps 2020-12-22
Francois-Xavier Le Bail [Wed, 23 Dec 2020 15:43:48 +0000 (16:43 +0100)] 
Update config.{guess,sub}, timestamps 2020-12-22

From repository git://git.savannah.gnu.org/config.git

12 months agoRefine some guidelines in CONTRIBUTING [skip ci]
Denis Ovsienko [Tue, 22 Dec 2020 02:37:41 +0000 (02:37 +0000)] 
Refine some guidelines in CONTRIBUTING [skip ci]

Improve some language, spell both build systems and all three CI
systems, deduplicate some text, drop ND_TTEST_*(), introduce GET_*()
and explain the bounds checks in a bit more detail.

12 months agoCopy the 4.9.3 section and start 4.99.0 in CHANGES [skip ci]
Denis Ovsienko [Tue, 22 Dec 2020 00:08:50 +0000 (00:08 +0000)] 
Copy the 4.9.3 section and start 4.99.0 in CHANGES [skip ci]

13 months agoman: Note the -x/-X quirk for truncated packets [skip ci]
Denis Ovsienko [Mon, 21 Dec 2020 02:46:37 +0000 (02:46 +0000)] 
man: Note the -x/-X quirk for truncated packets [skip ci]

Accurate skipping of the link level header was working before the
conversion started, it will hopefully work after the conversion is
complete, but meanwhile be clear about what it is now.

13 months agoNSH: Modernize packet parsing style.
Denis Ovsienko [Sun, 20 Dec 2020 03:55:12 +0000 (03:55 +0000)] 
NSH: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Remove a redundant ND_TCHECK_LEN()
instance and make another one conditional. Report invalid packets as
invalid with a reason, not truncated.

Update the code from draft-ietf-sfc-nsh-01 to RFC 8300: remove the no
longer existent C-bit, add the TTL field, adjust the MD Type field
offset and size, apply correct mask to TLV length, redo TLV length in
bytes instead of 4-byte words and mind the padding.

Fetch and print one header at a time. Add and use two lookup tables for
MD Type and Next Protocol. Add a version number check. Add a length
check for MD Type 1. Update some error messages. Add a few encoding
diagrams for clarity. Lose a few variables and reduce scope of the
remaining variables. Update a few tests.

13 months agoCirrus CI: Use FreeBSD 12.2
Denis Ovsienko [Sun, 20 Dec 2020 02:44:25 +0000 (02:44 +0000)] 
Cirrus CI: Use FreeBSD 12.2

13 months agoSMB: Disable the printer by default
Francois-Xavier Le Bail [Sat, 19 Dec 2020 10:59:32 +0000 (11:59 +0100)] 
SMB: Disable the printer by default

Like in 4.9.3 version.
This printer needs rework.

Move the tests with SMB packets in tests/smb.tests.
Add outputs files for the disabled case.

13 months agoJuniper: initialize some structures
Francois-Xavier Le Bail [Fri, 18 Dec 2020 18:19:41 +0000 (19:19 +0100)] 
Juniper: initialize some structures

This change fixes the GH issue #801.

Same way as commit 88135db7c785661e7a8b0c02d3ef0bfd00cce6aa.

13 months agoMPTCP: Modernize packet parsing style.
Denis Ovsienko [Thu, 10 Dec 2020 01:21:00 +0000 (01:21 +0000)] 
MPTCP: Modernize packet parsing style.

Remove the last ND_TCHECK*() instance, which was redundant. Rewrite some
code to articulate the hidden GET_U_1() instances.

13 months agoMPLS: Modernize packet parsing style.
Denis Ovsienko [Thu, 10 Dec 2020 01:02:52 +0000 (01:02 +0000)] 
MPLS: Modernize packet parsing style.

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.

13 months agoPFLOG: Use nd_printjnp instead of %s conversion specifier
Francois-Xavier Le Bail [Mon, 14 Dec 2020 21:15:48 +0000 (22:15 +0100)] 
PFLOG: Use nd_printjnp instead of %s conversion specifier

13 months agoPFLOG: Try to fix previous commit
Francois-Xavier Le Bail [Mon, 14 Dec 2020 21:02:01 +0000 (22:02 +0100)] 
PFLOG: Try to fix previous commit

The error was:
./print-pflog.c:99:20: error: passing 'char const[16]' to parameter
of type 'const u_char *' (aka 'const unsigned char *') converts
between pointers to integer types with different sign
[-Werror,-Wpointer-sign]
                nd_printjnp(ndo, hdr->ruleset, PFLOG_RULESET_NAME_SIZE);
                                 ^~~~~~~~~~~~
./netdissect.h:397:61: note: passing argument to parameter here
extern void nd_printjnp(netdissect_options *, const u_char *, u_int);
                                                            ^

13 months agoPFLOG: Use nd_printjnp() instead of %s conversion specifier
Francois-Xavier Le Bail [Mon, 14 Dec 2020 20:18:06 +0000 (21:18 +0100)] 
PFLOG: Use nd_printjnp() instead of %s conversion specifier

This change add a bounds checks.

13 months agoFix some typos
Francois-Xavier Le Bail [Sun, 13 Dec 2020 12:38:22 +0000 (13:38 +0100)] 
Fix some typos

[skip ci]

13 months agoENC: Update a macro argument name avoiding it will be flagged as a typo
Francois-Xavier Le Bail [Sat, 12 Dec 2020 21:24:31 +0000 (22:24 +0100)] 
ENC: Update a macro argument name avoiding it will be flagged as a typo

[skip ci]

13 months agoFix some typos
Francois-Xavier Le Bail [Sat, 12 Dec 2020 15:10:25 +0000 (16:10 +0100)] 
Fix some typos

[skip ci]

13 months agoDHCPv6: Update the MUD URL option output
Francois-Xavier Le Bail [Sat, 12 Dec 2020 12:23:27 +0000 (13:23 +0100)] 
DHCPv6: Update the MUD URL option output

Replace '=' by ' ' between the option name and the value like in other
cases.

Update the output of a test accordingly.

13 months agoDHCPv6: Replace the (void)nd_printn() calls by nd_printjnp() calls
Francois-Xavier Le Bail [Sat, 12 Dec 2020 12:14:34 +0000 (13:14 +0100)] 
DHCPv6: Replace the (void)nd_printn() calls by nd_printjnp() calls

There is no null byte in the middle of these option values.

Remove an unnecessary cast.

13 months agoReplace '(void)nd_print()' calls by nd_printjnp() calls
Francois-Xavier Le Bail [Fri, 11 Dec 2020 09:20:58 +0000 (10:20 +0100)] 
Replace '(void)nd_print()' calls by nd_printjnp() calls

'(void)nd_print(ndo, start, start + len)' are replaced by
'nd_printjnp(ndo, start, len)'

13 months agoRemove the no more used nd_printzp() function
Francois-Xavier Le Bail [Thu, 10 Dec 2020 21:49:21 +0000 (22:49 +0100)] 
Remove the no more used nd_printzp() function

The function to use now is: nd_printjnp().
(Added by comit 635e3cc92b72ca048a6b5b89b883980e4e1b4bdc)

13 months agoRIP: Replace the 'if (nd_printzp()) return' by nd_printjnp() call
Francois-Xavier Le Bail [Thu, 10 Dec 2020 21:22:04 +0000 (22:22 +0100)] 
RIP: Replace the 'if (nd_printzp()) return' by nd_printjnp() call

13 months agoISIS: Replace the 'if (nd_printzp()) goto trunc' by nd_printjnp() calls
Francois-Xavier Le Bail [Thu, 10 Dec 2020 20:23:46 +0000 (21:23 +0100)] 
ISIS: Replace the 'if (nd_printzp()) goto trunc' by nd_printjnp() calls

Moreover:
Use the sizeof operator.

13 months agoReplace the nd_printzp(..., NULL) calls by nd_printjnp() calls
Francois-Xavier Le Bail [Thu, 10 Dec 2020 19:40:15 +0000 (20:40 +0100)] 
Replace the nd_printzp(..., NULL) calls by nd_printjnp() calls

13 months agoReplace the (void)nd_printzp() calls by nd_printjnp() calls
Francois-Xavier Le Bail [Thu, 10 Dec 2020 19:34:09 +0000 (20:34 +0100)] 
Replace the (void)nd_printzp() calls by nd_printjnp() calls

13 months agoSTP: Modernize packet parsing style.
Denis Ovsienko [Wed, 9 Dec 2020 23:52:22 +0000 (23:52 +0000)] 
STP: Modernize packet parsing style.

Remove all ND_TCHECK*() instances because they are redundant. Let
nd_printzp() guard the snapshot end. Report invalid packets as invalid,
not truncated. Make functions that always return the same value void.
ND_TCHECK_BRIDGE_ID() is not used anymore, so remove it. Update a test.

13 months agoIPFC: Use ND_TCHECK_LEN() for a bounds check
Francois-Xavier Le Bail [Wed, 9 Dec 2020 10:49:47 +0000 (11:49 +0100)] 
IPFC: Use ND_TCHECK_LEN() for a bounds check

Moreover:
Define ND_LONGJMP_FROM_TCHECK.
Remove a redundant ND_TCHECK_SIZE call.
Remove the trunc label.

13 months agoCDP: Modernize packet parsing style.
Denis Ovsienko [Tue, 8 Dec 2020 23:50:23 +0000 (23:50 +0000)] 
CDP: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Remove many redundant ND_TCHECK*()
instances. Report invalid packets as invalid with a reason, not
truncated. Test whether the invalid packet is entirely in the buffer.

Remove redundant and add plenty of new length checks. Reduce scope for
some variables. Consistently decrement length when advancing the current
pointer. Resort to ND_TCHECK_LEN() only when there are no better ways to
test the packet buffer space.

Do not pass caplen to cdp_print() and remove an improvised snapshot end
guard. Move TLV type-specific code from cdp_print() into standalone
small functions and upgrade a TLV name lookup table into a more
developed TLV registry table along the lines of what was done for
OpenFlow.

In cdp_print_addr() instead of comparing pointers test the address
counter only and trust the loop to do the length checks.

Replace cdp_get_number() with GET_*() macros.

Rewrite the code to make it easier to follow and make indentation more
consistent while at it.

Remove a stray CDP case block from print-chdlc.c.

13 months agoTelnet: Remove a redundant ND_TCHECK_1 call
Francois-Xavier Le Bail [Tue, 8 Dec 2020 16:20:35 +0000 (17:20 +0100)] 
Telnet: Remove a redundant ND_TCHECK_1 call

Moreover:
Remove the trunc label.

13 months agoMS NLB: Print the protocol name even in truncation case
Francois-Xavier Le Bail [Tue, 8 Dec 2020 12:05:37 +0000 (13:05 +0100)] 
MS NLB: Print the protocol name even in truncation case

Moreover:
Rework the printing (comma locations).
Update the output of a test accordingly.

13 months agoMS NLB: Remove a redundant ND_TCHECK_SIZE call
Francois-Xavier Le Bail [Tue, 8 Dec 2020 11:53:59 +0000 (12:53 +0100)] 
MS NLB: Remove a redundant ND_TCHECK_SIZE call

Moreover:
Remove the trunc label.

13 months agoIGRP: Fix an OOBR introduced in the prev. change
Denis Ovsienko [Sat, 5 Dec 2020 23:24:02 +0000 (23:24 +0000)] 
IGRP: Fix an OOBR introduced in the prev. change

Add missing GET_U_1() wrappers to cover struct igrprte properly again,
also deduplicate some code.

This fixes a buffer over-read introduced in a recent commit 09b9aad and
discovered by Hardik Shah.

Add a test using the capture file supplied by the reporter.

13 months agoJuniper: Avoid testing ndo->ndo_eflag > 1
Francois-Xavier Le Bail [Sat, 5 Dec 2020 15:02:55 +0000 (16:02 +0100)] 
Juniper: Avoid testing ndo->ndo_eflag > 1

It's the only case where ndo->ndo_eflag is tested > 1.
It's not documented we could use -ee[...].

To print more details, we already have -v[v]... (if needed).
Using -e[e]... could add some confusion.
This also add more complexity on a test matrix:
('', '-v', '-e', '-ve', -'vee', -vve, '-vvee', etc.).

Thus replace this only case by ndo->ndo_eflag to only have to test
ndo_eflag == 0 or ndo_eflag == 1.

13 months agoDVMRP: Modernize packet parsing style.
Denis Ovsienko [Fri, 4 Dec 2020 01:35:32 +0000 (01:35 +0000)] 
DVMRP: Modernize packet parsing style.

Remove all ND_TCHECK*() instances as redundant. Remove all improvised
snapshot end guards. Make invalid packet handling uniform and always
print the reason. Merge trivial single-use helper functions into the
code that needs them. Add more length checks. Use tok2str() to print the
message type. Lose a single-use variable in print_probe().

13 months agoLMP: Modernize packet parsing style.
Denis Ovsienko [Thu, 3 Dec 2020 22:41:48 +0000 (22:41 +0000)] 
LMP: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Remove a redundant ND_TCHECK_LEN()
instance. Reduce scope for a variable.

13 months agoLSP ping: Modernize packet parsing style.
Denis Ovsienko [Thu, 3 Dec 2020 22:03:29 +0000 (22:03 +0000)] 
LSP ping: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Remove four redundant ND_TCHECK_LEN()
instances (there may be more). Fetch BFD discriminator value from the
right pointer.

13 months agoIGRP: Modernize packet parsing style.
Denis Ovsienko [Thu, 3 Dec 2020 18:39:50 +0000 (18:39 +0000)] 
IGRP: Modernize packet parsing style.

Simplify igrp_entry_print(). In igrp_print() always fetch the checksum
to make all ND_TCHECK_LEN() instances redundant and remove them. Test
that the full declared length has been consumed at the end. Report
invalid packets as invalid, not truncated. Update a comment.

13 months agoMPCP: Modernize packet parsing style.
Denis Ovsienko [Thu, 3 Dec 2020 13:20:57 +0000 (13:20 +0000)] 
MPCP: Modernize packet parsing style.

Replace a union with separate variables. Make a GET_BE_U_4() call
unconditional, this way all ND_TCHECK_LEN() instances become redundant,
so remove them.

13 months agoOTV: Modernize packet parsing style.
Denis Ovsienko [Wed, 2 Dec 2020 23:33:00 +0000 (23:33 +0000)] 
OTV: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Report invalid packets as invalid, not
truncated. Test whether the invalid packet is entirely in the buffer.

13 months agoRRCP: Modernize packet parsing style.
Denis Ovsienko [Wed, 2 Dec 2020 21:41:50 +0000 (21:41 +0000)] 
RRCP: Modernize packet parsing style.

Remove all ND_TCHECK*() instances as they are redundant.

13 months agoTIPC: Modernize packet parsing style.
Denis Ovsienko [Wed, 2 Dec 2020 21:32:21 +0000 (21:32 +0000)] 
TIPC: Modernize packet parsing style.

Remove all ND_TCHECK*() instances as they are redundant.

13 months agosFlow: Modernize packet parsing style.
Denis Ovsienko [Wed, 2 Dec 2020 00:01:43 +0000 (00:01 +0000)] 
sFlow: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Remove many redundant ND_TCHECK*()
instances. Report invalid packets as invalid, not truncated. Test
whether the invalid packet is entirely in the buffer.  Fix a typo in a
comment. Use a variable where it was intended.

13 months agoIEEE slow: Modernize packet parsing style.
Denis Ovsienko [Tue, 1 Dec 2020 20:10:41 +0000 (20:10 +0000)] 
IEEE slow: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK and remove a few redundant ND_TCHECK*()
instances.

13 months agoSun RPC: Modernize packet parsing style.
Denis Ovsienko [Tue, 1 Dec 2020 19:13:24 +0000 (19:13 +0000)] 
Sun RPC: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Lose a few unused constants and use
another one. In progstr() swap if() branches to lose one #ifdef wrapper
and set lastprog to make the static cache, which has been in place at
least since 1999, actually work.

13 months agoDTP: Modernize packet parsing style.
Denis Ovsienko [Tue, 1 Dec 2020 00:05:32 +0000 (00:05 +0000)] 
DTP: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Report an invalid packet as invalid with
a reason, not truncated. Test whether the invalid packet is entirely in
the buffer. Remove two redundant ND_TCHECK*() instances and make another
one conditional. Let nd_printzp() guard the packet buffer end.

Add more length checks and make existing ones stricter. Decrement the
remaining length instead of comparing pointers. Lose a duplicate "TLV"
in the output. Reduce scope of two variables and lose another one.
Update two tests.

13 months agoLose some more unnecessary #include lines. [skip ci]
Denis Ovsienko [Fri, 27 Nov 2020 15:54:17 +0000 (15:54 +0000)] 
Lose some more unnecessary #include lines. [skip ci]

This trivial change compiles fine with GCC 7.5.0 on Linux and Clang
10.0.1 on FreeBSD, so let's not run the full round of CI this time.

14 months agoSymantec: Use ND_TCHECK_LEN() for a bounds check
Francois-Xavier Le Bail [Wed, 18 Nov 2020 20:11:59 +0000 (21:11 +0100)] 
Symantec: Use ND_TCHECK_LEN() for a bounds check

Moreover:
Define ND_LONGJMP_FROM_TCHECK.
Remove a ndo_ll_hdr_len increment in a truncation case.

14 months agoSLL/SLL2: Use ND_TCHECK_LEN() for bounds checks
Francois-Xavier Le Bail [Tue, 17 Nov 2020 20:14:51 +0000 (21:14 +0100)] 
SLL/SLL2: Use ND_TCHECK_LEN() for bounds checks

Moreover:
Define ND_LONGJMP_FROM_TCHECK.
Remove 2 ndo_ll_hdr_len increments in truncation cases.
Remove 2 comments: "can't happen" is wrong (fuzzing, etc.)

14 months agoNetAnalyzer: Use ND_TCHECK_LEN() for bounds checks
Francois-Xavier Le Bail [Mon, 16 Nov 2020 13:53:57 +0000 (14:53 +0100)] 
NetAnalyzer: Use ND_TCHECK_LEN() for bounds checks

Moreover:
Define ND_LONGJMP_FROM_TCHECK.
Remove 2 ndo_ll_hdr_len increments in truncation cases.

14 months agodns: add some additional error checks.
Guy Harris [Sun, 15 Nov 2020 04:34:25 +0000 (20:34 -0800)] 
dns: add some additional error checks.

If the upper 2 bits of a label/pointer value are 10, treat that as an
error.

If a name is longer than 255 characters, treat that as an error.

This prevents some long loops with malformed packets, as found by Hardik
Shah.

14 months agoUSB: Use ND_TCHECK_LEN() for bounds checks
Francois-Xavier Le Bail [Fri, 13 Nov 2020 11:41:51 +0000 (12:41 +0100)] 
USB: Use ND_TCHECK_LEN() for bounds checks

Moreover:
Define ND_LONGJMP_FROM_TCHECK.
Use _U_ for unused parameters.

14 months agoIPNET: Use ND_TCHECK_LEN() for a bounds check
Francois-Xavier Le Bail [Thu, 12 Nov 2020 19:28:05 +0000 (20:28 +0100)] 
IPNET: Use ND_TCHECK_LEN() for a bounds check

Moreover:
Define ND_LONGJMP_FROM_TCHECK.
Remove a redundant ND_TCHECK_SIZE call.
Remove a trunc label.

14 months agoIPNET: Add a test case with '-e' option
Francois-Xavier Le Bail [Thu, 12 Nov 2020 18:03:29 +0000 (19:03 +0100)] 
IPNET: Add a test case with '-e' option

14 months agoENC: Use ND_TCHECK_LEN() for a bounds check
Francois-Xavier Le Bail [Thu, 12 Nov 2020 16:57:49 +0000 (17:57 +0100)] 
ENC: Use ND_TCHECK_LEN() for a bounds check

Moreover:
Define ND_LONGJMP_FROM_TCHECK.

14 months agoOSPFv3: Use %zu to print sizeof values
Francois-Xavier Le Bail [Wed, 4 Nov 2020 15:21:58 +0000 (16:21 +0100)] 
OSPFv3: Use %zu to print sizeof values

Moreover:
Fix indentation.

14 months agoOSPF: Use %zu to print sizeof values
Francois-Xavier Le Bail [Wed, 4 Nov 2020 15:19:54 +0000 (16:19 +0100)] 
OSPF: Use %zu to print sizeof values

14 months agoM3UA: Use %zu to print sizeof values
Francois-Xavier Le Bail [Wed, 4 Nov 2020 15:19:03 +0000 (16:19 +0100)] 
M3UA: Use %zu to print sizeof values

14 months agoDCCP: Use %zu to print sizeof values
Francois-Xavier Le Bail [Wed, 4 Nov 2020 15:18:04 +0000 (16:18 +0100)] 
DCCP: Use %zu to print sizeof values

14 months agoSCTP: Use %zu to print sizeof values
Francois-Xavier Le Bail [Wed, 4 Nov 2020 14:00:34 +0000 (15:00 +0100)] 
SCTP: Use %zu to print sizeof values

Use 'u' for an unsigned value.

14 months agoLDP: Use %zu to print sizeof values
Francois-Xavier Le Bail [Wed, 4 Nov 2020 13:52:20 +0000 (14:52 +0100)] 
LDP: Use %zu to print sizeof values

Moreover:
Fix indentation.

14 months agofrag6: Use %zu to print sizeof values
Francois-Xavier Le Bail [Wed, 4 Nov 2020 13:50:38 +0000 (14:50 +0100)] 
frag6: Use %zu to print sizeof values

14 months agoPrint the optional packet count (--count) to stdout instead of stderr
Francois-Xavier Le Bail [Wed, 4 Nov 2020 11:15:14 +0000 (12:15 +0100)] 
Print the optional packet count (--count) to stdout instead of stderr

It is not an error, thus print it to stdout.

[skip ci]

14 months agoIEEE slow: Use %zu to print sizeof values
Francois-Xavier Le Bail [Tue, 3 Nov 2020 14:46:56 +0000 (15:46 +0100)] 
IEEE slow: Use %zu to print sizeof values

14 months agoPKTAP: Use %zu to print sizeof values
Francois-Xavier Le Bail [Tue, 3 Nov 2020 14:44:43 +0000 (15:44 +0100)] 
PKTAP: Use %zu to print sizeof values

14 months agoEIGRP: Use %zu to print sizeof values
Francois-Xavier Le Bail [Tue, 3 Nov 2020 14:40:14 +0000 (15:40 +0100)] 
EIGRP: Use %zu to print sizeof values

14 months agoDECnet: Use %zu to print sizeof values
Francois-Xavier Le Bail [Tue, 3 Nov 2020 11:06:05 +0000 (12:06 +0100)] 
DECnet: Use %zu to print sizeof values

14 months agoFix some "Unchecked return value" found by Coverity
Francois-Xavier Le Bail [Sun, 1 Nov 2020 14:48:55 +0000 (15:48 +0100)] 
Fix some "Unchecked return value" found by Coverity

14 months agoPPTP: Use nd_printjnp() instead of nd_printzp()
Francois-Xavier Le Bail [Sun, 1 Nov 2020 11:53:07 +0000 (12:53 +0100)] 
PPTP: Use nd_printjnp() instead of nd_printzp()

Thus the longjmp logic (via GET_U_1) is used when truncation.

14 months agoAdd a nd_printjnp() function
Francois-Xavier Le Bail [Sun, 1 Nov 2020 11:43:37 +0000 (12:43 +0100)] 
Add a nd_printjnp() function

It prints a null-padded filename (or other ASCII string), part of
the packet buffer, filtering out non-printable characters.
Stop if truncated (via GET_U_1/longjmp) or after n bytes or before
the null char, whichever occurs first.
The suffix comes from: j:longJmp, n:after N bytes, p:null-Padded.

14 months agoUse __func__ from C99 in the debug macro ND_DEBUG
Francois-Xavier Le Bail [Sat, 31 Oct 2020 22:40:09 +0000 (23:40 +0100)] 
Use __func__ from C99 in the debug macro ND_DEBUG

14 months agoPPTP: Remove 10 redundant ND_TCHECK_SIZE calls
Francois-Xavier Le Bail [Sat, 31 Oct 2020 21:13:54 +0000 (22:13 +0100)] 
PPTP: Remove 10 redundant ND_TCHECK_SIZE calls

They are redundant because we use now nd_printzp() to print the
strings, to have bounds check and avoid printing non-ASCII characters.

Simplify some pointer expressions.

Remove the remaining trunc labels.

14 months agoPPTP: Use nd_print_protocol()
Francois-Xavier Le Bail [Sat, 31 Oct 2020 13:37:01 +0000 (14:37 +0100)] 
PPTP: Use nd_print_protocol()

14 months agoPPTP: Remove 68 redundant ND_TCHECK_[124] calls
Francois-Xavier Le Bail [Sat, 31 Oct 2020 13:17:07 +0000 (14:17 +0100)] 
PPTP: Remove 68 redundant ND_TCHECK_[124] calls

Remove some trunc labels.
Remove a now inaccurate comment.

14 months agoPPTP: Don't use pointers when it is useless
Francois-Xavier Le Bail [Sat, 31 Oct 2020 10:55:01 +0000 (11:55 +0100)] 
PPTP: Don't use pointers when it is useless

14 months agoPPTP: Add two tests
Francois-Xavier Le Bail [Sat, 31 Oct 2020 10:43:24 +0000 (11:43 +0100)] 
PPTP: Add two tests

With and without '-v' option.

The capture file comes from the Wireshark menagerie (pptp.cap).

14 months agoATM LANE: Remove a redundant bounds check and add a bounds check
Francois-Xavier Le Bail [Sun, 25 Oct 2020 15:03:49 +0000 (16:03 +0100)] 
ATM LANE: Remove a redundant bounds check and add a bounds check

Moreover:
Define ND_LONGJMP_FROM_TCHECK.
Update a comment.
Fix indentation.

14 months agoRemove a useless <string.h> include
Francois-Xavier Le Bail [Sun, 25 Oct 2020 17:04:36 +0000 (18:04 +0100)] 
Remove a useless <string.h> include

15 months agoSunATM DLPI: Get the fields in header order
Francois-Xavier Le Bail [Mon, 19 Oct 2020 10:11:15 +0000 (12:11 +0200)] 
SunATM DLPI: Get the fields in header order

15 months agoUse nd_mac_addr where it belongs. [skip ci]
Denis Ovsienko [Sat, 17 Oct 2020 19:44:27 +0000 (20:44 +0100)] 
Use nd_mac_addr where it belongs. [skip ci]

15 months agoIPv6 Routing Header: Modernize packet parsing style.
Denis Ovsienko [Sat, 17 Oct 2020 16:45:20 +0000 (17:45 +0100)] 
IPv6 Routing Header: Modernize packet parsing style.

Report an invalid packet as invalid with a reason, not truncated.

15 months agoInclude <string.h> only if required.
Denis Ovsienko [Sat, 17 Oct 2020 16:18:44 +0000 (17:18 +0100)] 
Include <string.h> only if required.

15 months agoman: Make more editorial improvements.
Denis Ovsienko [Sat, 17 Oct 2020 15:37:09 +0000 (16:37 +0100)] 
man: Make more editorial improvements.

Improve some punctuation, spell some acronyms in upper case, fix a term.

15 months agoSunATM: Modernize packet parsing style.
Denis Ovsienko [Sat, 17 Oct 2020 15:35:14 +0000 (16:35 +0100)] 
SunATM: Modernize packet parsing style.

Remove a redundant ND_TCHECK_LEN() and increment ndo_ll_hdr_len after
retrieving a full header worth of data, not before.

15 months agoVQP: Modernize packet parsing style.
Denis Ovsienko [Sat, 17 Oct 2020 13:42:11 +0000 (14:42 +0100)] 
VQP: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Add and use a standard invalid packet
label.

15 months agoVXLAN-GPE: Modernize packet parsing style.
Denis Ovsienko [Sat, 17 Oct 2020 13:13:58 +0000 (14:13 +0100)] 
VXLAN-GPE: Modernize packet parsing style.

Enable ND_LONGJMP_FROM_TCHECK. Add and use a standard invalid packet
label. Advance one field at a time and decrement the length.

15 months agoVXLAN-GPE: Update to I-D revision 10.
Denis Ovsienko [Sat, 17 Oct 2020 13:11:33 +0000 (14:11 +0100)] 
VXLAN-GPE: Update to I-D revision 10.

15 months agoSunATM DLPI: Use ND_TCHECK_LEN() for a bounds check
Francois-Xavier Le Bail [Sat, 17 Oct 2020 13:12:14 +0000 (15:12 +0200)] 
SunATM DLPI: Use ND_TCHECK_LEN() for a bounds check

Moreover:
Define ND_LONGJMP_FROM_TCHECK.

15 months agoBRCMTAG: Use ND_TCHECK_LEN() for a bounds check
Francois-Xavier Le Bail [Sat, 17 Oct 2020 12:01:14 +0000 (14:01 +0200)] 
BRCMTAG: Use ND_TCHECK_LEN() for a bounds check

Moreover:
Add a missing ndo_ll_hdr_len increment.
Define ND_LONGJMP_FROM_TCHECK.

15 months agoBluetooth: Use ND_TCHECK_LEN() for a bounds check
Francois-Xavier Le Bail [Sat, 17 Oct 2020 11:55:33 +0000 (13:55 +0200)] 
Bluetooth: Use ND_TCHECK_LEN() for a bounds check

Moreover:
Define ND_LONGJMP_FROM_TCHECK.