From owner-freebsd-bugs@FreeBSD.ORG Thu May 1 20:40:16 2003 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6B1A537B405 for ; Thu, 1 May 2003 20:40:16 -0700 (PDT) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id E1CC443F75 for ; Thu, 1 May 2003 20:40:15 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.9/8.12.9) with ESMTP id h423eFUp092419 for ; Thu, 1 May 2003 20:40:15 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.9/8.12.9/Submit) id h423eFC3092418; Thu, 1 May 2003 20:40:15 -0700 (PDT) Date: Thu, 1 May 2003 20:40:15 -0700 (PDT) Message-Id: <200305020340.h423eFC3092418@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: "Dorr H. Clark" Subject: fix proposal Re: kern/48172: ipfw does not log size and flags X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: "Dorr H. Clark" List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 May 2003 03:40:16 -0000 The following reply was made to PR kern/48172; it has been noted by GNATS. From: "Dorr H. Clark" To: freebsd-gnats-submit@FreeBSD.org, 320099972051-0001@t-online.de Cc: Subject: fix proposal Re: kern/48172: ipfw does not log size and flags Date: Thu, 01 May 2003 18:09:35 -0700 Logging example before change: Mar 12 10:02:56 COEN_284 /kernel: ipfw: 400 Deny UDP 127.0.0.1:1034 127.0.0.1 out via lo0 Mar 12 10:02:56 COEN_284 /kernel: ipfw: 400 Deny TCP 192.168.0.101:1024 192.168.0.100 out via xl0 The following command is helpful: sysctl -w net.inet.ip.fw.verbose=1 Logging example after change: Mar 20 18:52:38 COEN_284 /kernel: ipfw: 400 Deny UDP 127.0.0.1:1034 127.0.0.1 id:10 ttl:64 size:67 out via lo0 Mar 20 18:52:38 COEN_284 /kernel: ipfw: 400 Deny TCP 192.168.0.101:1024 192.168.0.100 id:11 flg:2 seq:1aff3139 ack:00000000 ttl:64 size:55 out via xl0 This bug is pretty simple to fix, but it still makes a great project because of the fun of staging and testing the change. NOTE: This patch is compatible with 4.7-STABLE ! Here is the code change for this bug: --- /usr/src/sys/netinet/ip_fw.c Sun Jul 28 19:04:25 2002 +++ ip_fw.c Mon Apr 28 21:11:02 2003 @@ -570,6 +570,16 @@ if (offset == 0) snprintf(SNPARGS(proto, len), ":%d", ntohs(tcp->th_dport)); + else + len += snprintf(SNPARGS(proto,len), " "); + len += snprintf(SNPARGS(proto,len), "id:%u ",ntohs(ip->ip_id)); + len += snprintf(SNPARGS(proto,len), "flg:%x ",tcp->th_flags); + len += snprintf(SNPARGS(proto,len), "seq:%08x ",(unsigned int)ntohl(tcp->th_seq)); + len += snprintf(SNPARGS(proto,len), "ack:%08x ",(unsigned int)ntohl(tcp->th_ack)); + len += snprintf(SNPARGS(proto,len), "ttl:%u ",ip->ip_ttl); + len += snprintf(SNPARGS(proto,len), "size:%u ",ip->ip_len - +ip->ip_hl); + break; case IPPROTO_UDP: len = snprintf(SNPARGS(proto, 0), "UDP %s", @@ -584,6 +594,12 @@ if (offset == 0) snprintf(SNPARGS(proto, len), ":%d", ntohs(udp->uh_dport)); + + len += snprintf(SNPARGS(proto,len), "id:%u ",ntohs(ip->ip_id)); + len += snprintf(SNPARGS(proto,len), "ttl:%u ",ip->ip_ttl); + len += snprintf(SNPARGS(proto,len), "size:%u ",ip->ip_len - +ip->ip_hl); + break; case IPPROTO_ICMP: if (offset == 0) Jagdish Patel, engineer Dorr H. Clark, advisor COEN 284 - Operating Systems Case Study Santa Clara University, Santa Clara CA.