#
1.18 |
|
24-Jan-2020 |
procter |
- (void)printf() -> printf(); the cast adds clutter for little value. - fprintf(stdout, ...) -> printf() - fputs(x, stdout) -> printf(); for consistency. fputs is twice as fast on atom x5-Z8300@1.44GHz but Amdahl sees a pure printf tcpdump only 2% slower than a pure fputs (for constant strings) tcpdump to /dev/null across a 20MB/~170k packet pcap file.
ok dlg@ for fputs and ok tedu@ krw@ deraadt@ a2k19 for the rest
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE
|
#
1.17 |
|
06-Jul-2018 |
dlg |
Rework UDP parsing, particularly around IP addresses.
This originally started as trying to put a consistent space between the UDP header information and the payload parsing, but while doing that I noticed inconsistent IPv4 vs IPv6 handling.
Apart from the default "srcip.srcport > dstip.dstpor" output, all the other places that IP addresses were printed assumed IPv4. It looks like it is possible that udp_print() can be called without an IP header, which made these blind IPv4 prints turn into NULL derefs.
This fixes the problem above by only having a single place that prints the addresses out, and makes sure to get the difference between IPv4, IPv6 and no IP correct.
This changes how the checksum is calculated. It incrementally builds the UDP checksum by feeding the IPv4 and v6 addresses in separately, then using common code for the rest of the pseudo header and actual payload.
Lastly, this does make printing the space between the UDP header and its payload consistent. The UDP code is now responsible for adding a space after itself so the payload parsers don't have to. They got it wrong in some cases anyway, so this should be a lot more uniform.
help and ok sthen@
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.16 |
|
16-Nov-2015 |
mmcc |
Remove remaining instances of the register keyword.
ok deraadt@
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.15 |
|
29-Mar-2015 |
bluhm |
Most packets generate one line in tcpdump. For AH and RIP there was an extra line without benefit. Remove the new-line in printf to make parsing easier. OK lteo@ mikeb@
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.14 |
|
16-Jan-2015 |
deraadt |
Replace <sys/param.h> with <limits.h> and other less dirty headers where possible. Annotate <sys/param.h> lines with their current reasons. Switch to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where sensible to avoid pulling in the pollution. These are the files confirmed through binary verification. ok guenther, millert, doug (helped with the verification protocol)
|
#
1.13 |
|
14-Aug-2014 |
mpi |
No use for <netinet/in_systm.h> nor <netinet/tcpip.h>.
|
Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
|
#
1.12 |
|
27-Oct-2009 |
deraadt |
rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and unmaintainable). these days, people use source. these id's do not provide any benefit, and do hurt the small install media (the 33,000 line diff is essentially mechanical) ok with the idea millert, ok dms
|
Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.11 |
|
07-Oct-2007 |
deraadt |
trash $Header goo which is just annoying; 5595
|
Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
|
#
1.10 |
|
05-Dec-2000 |
jakob |
fix RIPv0 (RFC 1058) printing; <james@squish.net>
|
Revision tags: OPENBSD_2_8_BASE
|
#
1.9 |
|
13-Oct-2000 |
jakob |
fix build on alpha with -Werror; David Leonard <david.leonard@csee.uq.edu.au>
|
#
1.8 |
|
03-Oct-2000 |
ho |
Compile with -Wall. Add $OpenBSD$. (jakob@ ok)
|
#
1.7 |
|
18-Jun-2000 |
jakob |
Improve RIP support; PR#1266, James Ponder <james@oaktree.co.uk>
* Fixes the way version numbers are handled so that it is compliant with RFC 1058 in the order that you should look at things.
* Adds support for the authentication attribute with cleartext passwords.
* Improves readability in output.
* Handles version 0 of RIP and unknown conditions a lot better
|
Revision tags: OPENBSD_2_7_BASE
|
#
1.6 |
|
26-Apr-2000 |
jakob |
INET6 DHCP/BOOTP tcp & udp checksum detection numerous bugfixes
|
Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
|
#
1.5 |
|
12-Dec-1996 |
bitblt |
*** empty log message ***
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.4 |
|
13-Jul-1996 |
mickey |
it is 3.2 now.
|
#
1.3 |
|
10-Jun-1996 |
deraadt |
sync to latest
|
#
1.2 |
|
04-Mar-1996 |
mickey |
Updating to the latest LBL release. Sun's SKIP support added.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
#
1.17 |
|
06-Jul-2018 |
dlg |
Rework UDP parsing, particularly around IP addresses.
This originally started as trying to put a consistent space between the UDP header information and the payload parsing, but while doing that I noticed inconsistent IPv4 vs IPv6 handling.
Apart from the default "srcip.srcport > dstip.dstpor" output, all the other places that IP addresses were printed assumed IPv4. It looks like it is possible that udp_print() can be called without an IP header, which made these blind IPv4 prints turn into NULL derefs.
This fixes the problem above by only having a single place that prints the addresses out, and makes sure to get the difference between IPv4, IPv6 and no IP correct.
This changes how the checksum is calculated. It incrementally builds the UDP checksum by feeding the IPv4 and v6 addresses in separately, then using common code for the rest of the pseudo header and actual payload.
Lastly, this does make printing the space between the UDP header and its payload consistent. The UDP code is now responsible for adding a space after itself so the payload parsers don't have to. They got it wrong in some cases anyway, so this should be a lot more uniform.
help and ok sthen@
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.16 |
|
16-Nov-2015 |
mmcc |
Remove remaining instances of the register keyword.
ok deraadt@
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.15 |
|
29-Mar-2015 |
bluhm |
Most packets generate one line in tcpdump. For AH and RIP there was an extra line without benefit. Remove the new-line in printf to make parsing easier. OK lteo@ mikeb@
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.14 |
|
16-Jan-2015 |
deraadt |
Replace <sys/param.h> with <limits.h> and other less dirty headers where possible. Annotate <sys/param.h> lines with their current reasons. Switch to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where sensible to avoid pulling in the pollution. These are the files confirmed through binary verification. ok guenther, millert, doug (helped with the verification protocol)
|
#
1.13 |
|
14-Aug-2014 |
mpi |
No use for <netinet/in_systm.h> nor <netinet/tcpip.h>.
|
Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
|
#
1.12 |
|
27-Oct-2009 |
deraadt |
rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and unmaintainable). these days, people use source. these id's do not provide any benefit, and do hurt the small install media (the 33,000 line diff is essentially mechanical) ok with the idea millert, ok dms
|
Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.11 |
|
07-Oct-2007 |
deraadt |
trash $Header goo which is just annoying; 5595
|
Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
|
#
1.10 |
|
05-Dec-2000 |
jakob |
fix RIPv0 (RFC 1058) printing; <james@squish.net>
|
Revision tags: OPENBSD_2_8_BASE
|
#
1.9 |
|
13-Oct-2000 |
jakob |
fix build on alpha with -Werror; David Leonard <david.leonard@csee.uq.edu.au>
|
#
1.8 |
|
03-Oct-2000 |
ho |
Compile with -Wall. Add $OpenBSD$. (jakob@ ok)
|
#
1.7 |
|
18-Jun-2000 |
jakob |
Improve RIP support; PR#1266, James Ponder <james@oaktree.co.uk>
* Fixes the way version numbers are handled so that it is compliant with RFC 1058 in the order that you should look at things.
* Adds support for the authentication attribute with cleartext passwords.
* Improves readability in output.
* Handles version 0 of RIP and unknown conditions a lot better
|
Revision tags: OPENBSD_2_7_BASE
|
#
1.6 |
|
26-Apr-2000 |
jakob |
INET6 DHCP/BOOTP tcp & udp checksum detection numerous bugfixes
|
Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
|
#
1.5 |
|
12-Dec-1996 |
bitblt |
*** empty log message ***
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.4 |
|
13-Jul-1996 |
mickey |
it is 3.2 now.
|
#
1.3 |
|
10-Jun-1996 |
deraadt |
sync to latest
|
#
1.2 |
|
04-Mar-1996 |
mickey |
Updating to the latest LBL release. Sun's SKIP support added.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|
Revision tags: OPENBSD_5_9_BASE OPENBSD_6_0_BASE OPENBSD_6_1_BASE OPENBSD_6_2_BASE
|
#
1.16 |
|
16-Nov-2015 |
mmcc |
Remove remaining instances of the register keyword.
ok deraadt@
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.15 |
|
29-Mar-2015 |
bluhm |
Most packets generate one line in tcpdump. For AH and RIP there was an extra line without benefit. Remove the new-line in printf to make parsing easier. OK lteo@ mikeb@
|
Revision tags: OPENBSD_5_7_BASE
|
#
1.14 |
|
16-Jan-2015 |
deraadt |
Replace <sys/param.h> with <limits.h> and other less dirty headers where possible. Annotate <sys/param.h> lines with their current reasons. Switch to PATH_MAX, NGROUPS_MAX, HOST_NAME_MAX+1, LOGIN_NAME_MAX, etc. Change MIN() and MAX() to local definitions of MINIMUM() and MAXIMUM() where sensible to avoid pulling in the pollution. These are the files confirmed through binary verification. ok guenther, millert, doug (helped with the verification protocol)
|
#
1.13 |
|
14-Aug-2014 |
mpi |
No use for <netinet/in_systm.h> nor <netinet/tcpip.h>.
|
Revision tags: OPENBSD_4_7_BASE OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE
|
#
1.12 |
|
27-Oct-2009 |
deraadt |
rcsid[] and sccsid[] and copyright[] are essentially unmaintained (and unmaintainable). these days, people use source. these id's do not provide any benefit, and do hurt the small install media (the 33,000 line diff is essentially mechanical) ok with the idea millert, ok dms
|
Revision tags: OPENBSD_4_3_BASE OPENBSD_4_4_BASE OPENBSD_4_5_BASE OPENBSD_4_6_BASE
|
#
1.11 |
|
07-Oct-2007 |
deraadt |
trash $Header goo which is just annoying; 5595
|
Revision tags: OPENBSD_2_9_BASE OPENBSD_3_0_BASE OPENBSD_3_1_BASE OPENBSD_3_2_BASE OPENBSD_3_3_BASE OPENBSD_3_4_BASE OPENBSD_3_5_BASE OPENBSD_3_6_BASE OPENBSD_3_7_BASE OPENBSD_3_8_BASE OPENBSD_3_9_BASE OPENBSD_4_0_BASE OPENBSD_4_1_BASE OPENBSD_4_2_BASE
|
#
1.10 |
|
05-Dec-2000 |
jakob |
fix RIPv0 (RFC 1058) printing; <james@squish.net>
|
Revision tags: OPENBSD_2_8_BASE
|
#
1.9 |
|
13-Oct-2000 |
jakob |
fix build on alpha with -Werror; David Leonard <david.leonard@csee.uq.edu.au>
|
#
1.8 |
|
03-Oct-2000 |
ho |
Compile with -Wall. Add $OpenBSD$. (jakob@ ok)
|
#
1.7 |
|
18-Jun-2000 |
jakob |
Improve RIP support; PR#1266, James Ponder <james@oaktree.co.uk>
* Fixes the way version numbers are handled so that it is compliant with RFC 1058 in the order that you should look at things.
* Adds support for the authentication attribute with cleartext passwords.
* Improves readability in output.
* Handles version 0 of RIP and unknown conditions a lot better
|
Revision tags: OPENBSD_2_7_BASE
|
#
1.6 |
|
26-Apr-2000 |
jakob |
INET6 DHCP/BOOTP tcp & udp checksum detection numerous bugfixes
|
Revision tags: OPENBSD_2_1_BASE OPENBSD_2_2_BASE OPENBSD_2_3_BASE OPENBSD_2_4_BASE OPENBSD_2_5_BASE OPENBSD_2_6_BASE
|
#
1.5 |
|
12-Dec-1996 |
bitblt |
*** empty log message ***
|
Revision tags: OPENBSD_2_0_BASE
|
#
1.4 |
|
13-Jul-1996 |
mickey |
it is 3.2 now.
|
#
1.3 |
|
10-Jun-1996 |
deraadt |
sync to latest
|
#
1.2 |
|
04-Mar-1996 |
mickey |
Updating to the latest LBL release. Sun's SKIP support added.
|
#
1.1 |
|
18-Oct-1995 |
deraadt |
branches: 1.1.1; Initial revision
|