From owner-freebsd-ports-bugs@FreeBSD.ORG Fri Apr 9 14:50:26 2004 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CFD5116A4D3 for ; Fri, 9 Apr 2004 14:50:26 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id AB06043D46 for ; Fri, 9 Apr 2004 14:50:26 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i39LoQbv009595 for ; Fri, 9 Apr 2004 14:50:26 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i39LoQC0009594; Fri, 9 Apr 2004 14:50:26 -0700 (PDT) (envelope-from gnats) Resent-Date: Fri, 9 Apr 2004 14:50:26 -0700 (PDT) Resent-Message-Id: <200404092150.i39LoQC0009594@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Andrew Thompson Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A6D0C16A4CE for ; Fri, 9 Apr 2004 14:47:55 -0700 (PDT) Received: from kate.fud.org.nz (203-79-110-29.cable.paradise.net.nz [203.79.110.29]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1252943D2D for ; Fri, 9 Apr 2004 14:47:51 -0700 (PDT) (envelope-from andy@fud.org.nz) Received: by smtp.fud.org.nz (Postfix, from userid 1001) id D203C17044; Tue, 6 Apr 2004 20:44:55 +1200 (NZST) Message-Id: <20040406084455.D203C17044@smtp.fud.org.nz> Date: Tue, 6 Apr 2004 20:44:55 +1200 (NZST) From: Andrew Thompson To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 cc: ryan@sasknow.com Subject: ports/65379: Update net/trafshow to 4.0 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Andrew Thompson List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Apr 2004 21:50:27 -0000 >Number: 65379 >Category: ports >Synopsis: Update net/trafshow to 4.0 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Fri Apr 09 14:50:26 PDT 2004 >Closed-Date: >Last-Modified: >Originator: Andrew Thompson >Release: FreeBSD 5.2.1-RELEASE i386 >Organization: >Environment: System: FreeBSD kate.fud.org.nz 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #0: Fri Feb 27 23:34:15 NZDT 2004 root@kate.fud.org.nz:/usr/obj/usr/src/sys/KATE i386 >Description: Update trafshow to 4.0. If the current maintainer wants to drop the port, I am happy to take over maintainership :) >How-To-Repeat: Apply patch >Fix: patch also available from http://www.fud.org.nz/~andy/trafshow-port.patch diff -urN net/trafshow.orig/Makefile net/trafshow/Makefile --- net/trafshow.orig/MakefileTue Apr 6 20:19:03 2004 +++ net/trafshow/MakefileTueTue Apr 6 20:30:37 2004 @@ -6,11 +6,9 @@ # PORTNAME= trafshow -PORTVERSION= 3.1 -PORTREVISION= 3 +PORTVERSION= 4.0 CATEGORIES= net -MASTER_SITES= ftp://ftp.sasknow.com/pub/trafshow/ \ - ftp://ftp.nsk.su/pub/RinetSoftware/ +MASTER_SITES= ftp://ftp.nsk.su/pub/RinetSoftware/ EXTRACT_SUFX= .tgz MAINTAINER= ryan@sasknow.com diff -urN net/trafshow.orig/distinfo net/trafshow/distinfo --- net/trafshow.orig/distinfoTue Apr 6 20:19:03 2004 +++ net/trafshow/distinfoTueTue Apr 6 18:03:09 2004 @@ -1,2 +1,2 @@ -MD5 (trafshow-3.1.tgz) = 085b99f160002a269b358aab1c5004f0 -SIZE (trafshow-3.1.tgz) = 72342 +MD5 (trafshow-4.0.tgz) = 994355d6ba98d96ce06db9c92ae41669 +SIZE (trafshow-4.0.tgz) = 76376 diff -urN net/trafshow.orig/files/patch-aa net/trafshow/files/patch-aa --- net/trafshow.orig/files/patch-aaThu Jan 1 12:00:00 1970 +++ net/trafshow/files/patch-aaThuTue Apr 6 18:03:09 2004 @@ -0,0 +1,60 @@ +diff -urN display.c display.c +--- display.comSat Dec 20 02:17:57 2003 ++++ display.comSatWed Mar 31 20:55:16 2004 +@@ -549,7 +549,7 @@ + + collect(&te); + +- if (alarm_flag) { ++ if (alarm_flag && !rflag) { + alarm_flag = 0; + if (resize_flag) { + resize_flag = 0; +@@ -561,7 +561,7 @@ + refresh_screen: + if (kflag && kbhit(0) && get_keyb()) scr_redraw(FALSE); + +- scr_update(); ++ if (!rflag) scr_update(); + return; + } + +diff -urN trafshow.c trafshow.c +--- trafshow.collectFri Dec 19 22:08:30 2003 ++++ trafshow.collectFriWed Mar 31 20:53:52 2004 +@@ -49,6 +49,7 @@ + int pflag = 0; /* don't put the interface into promiscuous mode */ + int kflag = 1; /* disable keyboard input checking */ + int eflag = 0; /* show ethernet traffic rather than ip */ ++int rflag = 0; /* user specified screen refresh */ + + /* global variables */ + char *program_name; /* myself */ +@@ -142,6 +143,7 @@ + ++pflag; + break; + case 'r': ++ ++rflag; + scr_interval = atoi(optarg); + if (scr_interval < 1) usage(); + break; +@@ -244,7 +246,7 @@ + void + onalarm() + { +- if (alarm_flag) { ++ if (alarm_flag || rflag) { + if (resize_flag) { + resize_flag = 0; + init_term(TRUE); +diff -urN trafshow.h trafshow.h +--- trafshow.httpFri Dec 19 17:39:57 2003 ++++ trafshow.httpFriWed Mar 31 20:51:55 2004 +@@ -107,6 +107,7 @@ + extern int nflag; + extern int Nflag; + extern int eflag; ++extern int rflag; + extern int page_size; + extern int resize_flag; + extern int addr_size; diff -urN net/trafshow.orig/files/patch-ag net/trafshow/files/patch-ag --- net/trafshow.orig/files/patch-agTue Apr 6 20:19:01 2004 +++ net/trafshow/files/patch-agTueTue Apr 6 18:03:09 2004 @@ -1,8 +1,8 @@ ---- util.c.origFri Sep 15 06:51:11 2000 -+++ util.caseThu Sep 21 14:35:33 2000 -@@ -129,6 +129,9 @@ - #ifdefIPPROTO_ENCAP - { "encap",IPPROTO_ENCAP}, +--- util.c.origFriWed Mar 31 22:36:05 2004 ++++ util.caseThuWed Mar 31 22:36:08 2004 +@@ -144,6 +144,9 @@ + #ifdef IPPROTO_MOBILE + { "mobile", IPPROTO_MOBILE}, #endif +#ifdefIPPROTO_IPV6 + { "ipv6", IPPROTO_IPV6}, diff -urN net/trafshow.orig/files/patch-ah net/trafshow/files/patch-ah --- net/trafshow.orig/files/patch-ahTue Apr 6 20:19:01 2004 +++ net/trafshow/files/patch-ahTueTue Apr 6 20:24:34 2004 @@ -1,51 +1,91 @@ ---- display.c.origSun Aug 23 21:51:48 1998 -+++ display.caseThuWedFri Dec 6 12:17:55 2002 -@@ -54,6 +54,7 @@ +--- display.c.origSunTue Apr 6 20:09:28 2004 ++++ display.caseThuWedFriTue Apr 6 20:09:04 2004 +@@ -60,6 +60,9 @@ static int l_nflag, l_eflag; static int n_entries; static int err_pos; -+extern struct t_entry t_mask; /* traffic mask */ ++extern struct sockaddr_in s_mask; /* source traffic mask */ ++extern struct sockaddr_in d_mask; /* destination traffic mask */ ++extern int p_mask; /* protocol mask */ void init_display(reinit) -@@ -282,6 +284,13 @@ +@@ -338,14 +341,27 @@ + register p_entry e; + { + register i, j; ++ struct sockaddr_in *s_sin, *d_sin; ++ struct sockaddr *s; + packets_total++; bytes_total += e->bytes; j = page * page_size; ++ s = (struct sockaddr *)&e->src; + -+ e->src.s_addr &= t_mask.src.s_addr; -+ e->dst.s_addr &= t_mask.dst.s_addr; -+ e->sport &= t_mask.sport; -+ e->dport &= t_mask.dport; -+ e->proto &= t_mask.proto; -+ ++ if (s->sa_family == AF_INET) { ++ s_sin = (struct sockaddr_in *)&e->src; ++ d_sin = (struct sockaddr_in *)&e->dst; ++ s_sin->sin_addr.s_addr &= s_mask.sin_addr.s_addr; ++ d_sin->sin_addr.s_addr &= d_mask.sin_addr.s_addr; ++ s_sin->sin_port &= s_mask.sin_port; ++ d_sin->sin_port &= d_mask.sin_port; ++ e->proto &= p_mask; ++ } ++ for (i = 0; i < n_entry; i++) { - if (memcmp(&e->eh, &entries[i].eh, sizeof(e->eh)) == 0 && - e->src.s_addr == entries[i].src.s_addr && ---- trafshow.c.origSunTueFri Aug 28 00:15:57 1998 -+++ trafshow.caseThuWedFriTueFri Dec 6 12:34:09 2002 -@@ -48,6 +48,7 @@ - int pflag = 0; /* don't put the interface into promiscuous mode */ +- if (memcmp(&e->eh, &entries[i].eh, sizeof(e->eh)) == 0 && +- ipaddr_compar(&e->src, &e->src) && +- ipaddr_compar(&e->dst, &e->dst) && ++ if (ipaddr_compar(&e->src, &entries[i].src) && ++ ipaddr_compar(&e->dst, &entries[i].dst) && + e->proto == entries[i].proto) { + entries[i].bytes += e->bytes; + if (i >= j && i < j + page_size) +--- trafshow.1.origSunTueFriFri Dec 19 22:03:28 2003 ++++ trafshow.19Tue Apr 6 20:09:04 2004 +@@ -49,6 +49,16 @@ + .B \-k + Disable input keyboard checking. It is intended to avoid loss of packets. + .TP ++.B \-m ++[src-ip M] [dst-ip M] [src-port M] [dst-port M] [proto M] ++.br ++Mask the specified field with mask M (which should be specified ++as an hex number e.g. 0xffff0000) before further processing ++of the packet. This allows to aggregate traffic in the display ++to ease analysis. ++.br ++.The masks for all field not specified will be set to 0. ++.TP + .B \-n + Don't convert host addresses and port numbers to names. + .TP +--- trafshow.c.origSunTueFriFriTue Apr 6 20:09:28 2004 ++++ trafshow.convertTue Apr 6 20:09:04 2004 +@@ -50,6 +50,9 @@ int kflag = 1; /* disable keyboard input checking */ int eflag = 0; /* show ethernet traffic rather than ip */ -+struct t_entry t_mask; /* traffic mask */ + int rflag = 0; /* user specified screen refresh */ ++struct sockaddr_in s_mask; /* source traffic mask */ ++struct sockaddr_in d_mask; /* destination traffic mask */ ++int p_mask; /* protocol mask */ /* global variables */ char *program_name; /* myself */ -@@ -78,6 +79,12 @@ +@@ -81,6 +84,12 @@ extern int abort_on_misalignment(); extern pcap_handler lookup_if(); -+ t_mask.src.s_addr = 0xffffffff; /* all bits valid */ -+ t_mask.dst.s_addr = 0xffffffff; /* all bits valid */ -+ t_mask.sport = 0xffff; /* all bits valid */ -+ t_mask.dport = 0xffff; /* all bits valid */ -+ t_mask.proto = 0xffff; /* all bits valid */ ++ s_mask.sin_addr.s_addr = 0xffffffff; /* all bits valid */ ++ d_mask.sin_addr.s_addr = 0xffffffff; /* all bits valid */ ++ s_mask.sin_port = 0xffff; /* all bits valid */ ++ d_mask.sin_port = 0xffff; /* all bits valid */ ++ p_mask = 0xffff; /* all bits valid */ + cnt = -1; - device_name = NULL; - infile = NULL; -@@ -94,7 +87,7 @@ + netflow = 0; + #ifdefIPPROTO_IPV6INET6 +@@ -98,7 +107,7 @@ if (abort_on_misalignment(ebuf) < 0) error(0, ebuf); @@ -54,66 +94,43 @@ switch (op) { case 'C': #ifdefIPPROTO_IPV6INET6HAVE_SLCURSES -@@ -114,6 +121,40 @@ +@@ -129,6 +138,39 @@ break; case 'k': kflag = 0; + break; + case 'm': -+ t_mask.src.s_addr = 0; -+ t_mask.dst.s_addr = 0; -+ t_mask.sport = 0; -+ t_mask.dport = 0; -+ t_mask.proto = 0; ++ s_mask.sin_addr.s_addr = 0; ++ d_mask.sin_addr.s_addr = 0; ++ s_mask.sin_port = 0; ++ d_mask.sin_port = 0; ++ p_mask = 0; + for (;optind + 1 <= argc;) { -+ char *s = argv[optind]; -+ u_int32_t arg = 0xffffffff; -+ int save=optind; -+ -+ optind++; -+ if (optind + 1 <= argc && -+ isdigit(*(argv[optind])) ) { -+ arg = strtoul(argv[optind], NULL, 0); ++ char *s = argv[optind]; ++ u_int32_t arg = 0xffffffff; ++ int save=optind; + optind++; -+ } -+ -+ if (!strcmp(s, "src-ip")) -+ t_mask.src.s_addr = htonl(arg); -+ else if (!strcmp(s, "dst-ip")) -+ t_mask.dst.s_addr = htonl(arg); -+ else if (!strcmp(s, "src-port")) -+ t_mask.sport = htons((u_short)(arg)); -+ else if (!strcmp(s, "dst-port")) -+ t_mask.dport = htons((u_short)(arg)); -+ else if (!strcmp(s, "proto")) -+ t_mask.proto = arg; -+ else { -+ optind = save; -+ break; -+ } ++ if (optind + 1 <= argc && ++ isdigit(*(argv[optind])) ) { ++ arg = strtoul(argv[optind], NULL, 0); ++ optind++; ++ } ++ ++ if (!strcmp(s, "src-ip")) ++ s_mask.sin_addr.s_addr = htonl(arg); ++ else if (!strcmp(s, "dst-ip")) ++ d_mask.sin_addr.s_addr = htonl(arg); ++ else if (!strcmp(s, "src-port")) ++ s_mask.sin_port = htons((u_short)(arg)); ++ else if (!strcmp(s, "dst-port")) ++ d_mask.sin_port = htons((u_short)(arg)); ++ else if (!strcmp(s, "proto")) ++ p_mask = arg; ++ else { ++ optind = save; ++ break; ++ } + } break; case 'n': ++nflag; ---- trafshow.1.origSunTueFriFriTueFri Aug 28 09:37:38 1998 -+++ trafshow.1998Tue Apr 15 22:32:21 2003 -@@ -42,6 +42,16 @@ - .B \-k - Disable input keyboard checking. It is intended to avoid loss of packets. - .TP -+.B \-m -+[src-ip M] [dst-ip M] [src-port M] [dst-port M] [proto M] -+.br -+Mask the specified field with mask M (which should be specified -+as an hex number e.g. 0xffff0000) before further processing -+of the packet. This allows to aggregate traffic in the display -+to ease analysis. -+.br -+.The masks for all field not specified will be set to 0. -+.TP - .B \-n - Don't convert host addresses and port numbers to names. - .TP - - - >Release-Note: >Audit-Trail: >Unformatted: