Date: Thu, 22 Aug 2002 18:41:08 +0300 (IDT) From: Roman Shterenzon <roman@xpert.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/41898: Maintainer update of net/netsed, bugfix Message-ID: <200208221541.g7MFf8PD035772@alchemy.oven.org>
next in thread | raw e-mail | index | archive | help
>Number: 41898 >Category: ports >Synopsis: Maintainer update of net/netsed, bugfix >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Aug 22 08:40:01 PDT 2002 >Closed-Date: >Last-Modified: >Originator: Roman Shterenzon >Release: FreeBSD 4.6-STABLE i386 >Organization: >Environment: System: FreeBSD alchemy.oven.org 4.6-STABLE FreeBSD 4.6-STABLE #0: Thu Aug 1 18:31:26 IDT 2002 root@alchemy.oven.org:/local/src/sys/compile/ALCHEMY i386 >Description: Thanks to Jerry Lundy the zombie prevention fix is here. >How-To-Repeat: >Fix: diff -urN /usr/ports/net/netsed/Makefile netsed/Makefile --- /usr/ports/net/netsed/Makefile Sat Mar 10 21:44:14 2001 +++ netsed/Makefile Thu Aug 22 18:37:35 2002 @@ -7,6 +7,7 @@ PORTNAME= netsed PORTVERSION= 0.01 +PORTREVISION= 1 CATEGORIES= net security MASTER_SITES= http://dione.ids.pl/~lcamtuf/ \ http://lcamtuf.na.export.pl/ diff -urN /usr/ports/net/netsed/files/patch-netsed.c netsed/files/patch-netsed.c --- /usr/ports/net/netsed/files/patch-netsed.c Sat Mar 10 21:44:15 2001 +++ netsed/files/patch-netsed.c Thu Aug 22 18:37:14 2002 @@ -1,6 +1,31 @@ ---- netsed.c.orig Tue Jan 9 11:30:40 2001 -+++ netsed.c Tue Jan 9 11:43:41 2001 -@@ -134,8 +134,10 @@ +--- netsed.c.orig Fri Jan 5 18:58:22 2001 ++++ netsed.c Sun Aug 11 14:32:29 2002 +@@ -2,6 +2,7 @@ + #include <unistd.h> + #include <sys/types.h> + #include <sys/socket.h> ++#include <sys/wait.h> + #include <netinet/in.h> + #include <arpa/inet.h> + #include <fcntl.h> +@@ -45,11 +46,11 @@ + ERR("This will replace all occurences of pat1 with pat2 in matching packets.\n"); + ERR("Additional parameter (count) can be used to expire rule after 'count'\n"); + ERR("succesful substitutions. Eight-bit characters, including NULL and '/', can\n"); +- ERR("be passed using HTTP-alike hex escape sequences (eg. %%0a%%0d). Single '%%'\n"); +- ERR("can be reached by using '%%%%'. Examples:\n\n"); +- ERR(" 's/anrew/mike/1' - replace 'andrew' with 'mike' (once)\n"); +- ERR(" 's/anrew/mike' - replace all occurences of 'andrew' with 'mike'\n"); +- ERR(" 's/anrew/mike%%00' - replace 'andrew' with 'mike\\x00' (to keep orig. size)\n"); ++ ERR("be passed using HTTP-alike hex escape sequences (eg. CRLF -> %%0a%%0d).\n"); ++ ERR("Single '%%' can be reached by using '%%%%'. Examples:\n\n"); ++ ERR(" 's/andrew/mike/1' - replace 'andrew' with 'mike' (once)\n"); ++ ERR(" 's/andrew/mike' - replace all occurences of 'andrew' with 'mike'\n"); ++ ERR(" 's/andrew/mike%%00' - replace 'andrew' with 'mike\\x00' (to keep orig. size)\n"); + ERR(" 's/%%%%/%%2f/20' - replace '%%' with '/' in first 20 packets\n\n"); + ERR("Rules are not working on cross-packet boundaries and are evaluated from\n"); + ERR("first to last not expired rule.\n"); +@@ -134,8 +135,10 @@ void bind_and_listen(int tcp,int port) { @@ -11,7 +36,7 @@ fcntl(lsock,F_SETFL,O_NONBLOCK); laddr.sin_family = PF_INET; laddr.sin_port = htons (port); -@@ -186,7 +188,6 @@ +@@ -186,7 +189,6 @@ rd=read(s1,buf,sizeof(buf)); if (rd<0 && errno!=EAGAIN) return 0; // s1 not connected if (rd>0) { @@ -19,7 +44,7 @@ printf("[+] Caught server -> client packet.\n"); rd=sed_the_buffer(rd); if (write(s2,b2,rd)<=0) return 0; // not able to send -@@ -195,7 +196,6 @@ +@@ -195,7 +197,6 @@ rd=read(s2,buf,sizeof(buf)); if (rd<0 && errno!=EAGAIN) return 0; // s2 not connected if (rd>0) { @@ -27,3 +52,27 @@ printf("[+] Caught client -> server packet.\n"); rd=sed_the_buffer(rd); if (write(s1,b2,rd)<=0) return 0; // not able to send +@@ -204,6 +205,14 @@ + return 1; + } + ++void sig_chld(int signo) ++{ ++ pid_t pid; ++ int stat; ++ while ( (pid = waitpid(-1, &stat, WNOHANG)) > 0) ++ printf("child %d terminated\n", pid); ++ return; ++} + + int main(int argc,char* argv[]) { + int i; +@@ -242,7 +251,7 @@ + if (fixedhost && fixedport) printf("[+] Using fixed forwarding to %s:%s.\n",argv[3],argv[4]); + else printf("[+] Using dynamic (transparent proxy) forwarding.\n"); + signal(SIGPIPE,SIG_IGN); +- signal(SIGCHLD,SIG_IGN); ++ signal(SIGCHLD,sig_chld); + + // Am I bad coder?;> + >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208221541.g7MFf8PD035772>