mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-10-05 01:50:58 -04:00
44 lines
1.6 KiB
Raku
44 lines
1.6 KiB
Raku
$NetBSD: patch-tcpdump2xplot.pl,v 1.1 2011/03/28 19:36:30 gdt Exp $
|
|
|
|
# This patch contains minor changes to parsing tcpdump to adapt to
|
|
# tcpdump's output changes. These changes should be merged upstream.
|
|
# Upstream has no bug tracker but $MAINTAINER is an upstream maintainer.
|
|
# Specifically:
|
|
# omit tos information - we don't use it and it confuses the parser
|
|
# bare split breaks in modern perl - assgin to @_ explicitly
|
|
# remove "IP" as second field
|
|
# allow multiple spaces when splitting sack.
|
|
|
|
--- tcpdump2xplot.pl.orig 2006-07-27 19:55:59.000000000 +0000
|
|
+++ tcpdump2xplot.pl
|
|
@@ -229,12 +229,16 @@ for ($lineNo = 1; <$Tcpdump>; $lineNo++)
|
|
local(%opts);
|
|
|
|
chop;
|
|
+ # strip unwanted output added by modern tcdump versions in verbose mode
|
|
+ s/\(tos.*?\)//; # (tos 0x0, ttl ... length: \d+)
|
|
+ s/ \[(?:bad )?tcp (?:ck)?sum.*?\]//; # [tcp sum ok]/[bad tcp cksum ....]
|
|
$opts = $_; # save this for later
|
|
|
|
- split(/ /);
|
|
- if ($_[1] == "IP") {
|
|
- splice @_,1,1;
|
|
- }
|
|
+ @_ = split(/ +/);
|
|
+ # Sometime after version 3.7.1 tcpdump started to print 'IP'
|
|
+ # as the second field in the output. Get rid of it again.
|
|
+ # also remove additional fields printed in verbose mode
|
|
+ splice @_, 1, 1 if $_[1] eq 'IP';
|
|
$time = $_[0];
|
|
|
|
# If there is if_signal.c-style signal strength info, elide it.
|
|
@@ -432,7 +436,7 @@ for ($lineNo = 1; <$Tcpdump>; $lineNo++)
|
|
|
|
# print stderr "SACKS after : $sacks \n";
|
|
|
|
- @sacks = split(/ /, $sacks);
|
|
+ @sacks = split(/ +/, $sacks);
|
|
|
|
for ($i = 0; $i <= $#sacks; $i++) {
|
|
local($start);
|