Skip site navigation (1)Skip section navigation (2)
Date:      20 Jul 2003 05:24:57 -0000
From:      Andy Gilligan <andy@evo6.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Cc:        stable@FreeBSD.org
Subject:   bin/54649: [PATCH] ipfw2 fails with 'bad command' error
Message-ID:  <20030720052457.68999.qmail@mx1.evo6.net>
Resent-Message-ID: <200307200530.h6K5UDK6034276@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         54649
>Category:       bin
>Synopsis:       [PATCH] ipfw2 fails with 'bad command' error
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 19 22:30:13 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Andy Gilligan
>Release:        FreeBSD 4.8-STABLE i386
>Organization:
>Environment:
System: FreeBSD vega 4.8-STABLE FreeBSD 4.8-STABLE #13: Sun Jul 20 01:01:07 BST 2003 root@vega:/usr/obj/usr/src/sys/VEGA i386

>Description:

	When using a program to preprocess rules, /sbin/ipfw will
	fail with a 'bad command' error if those rules contain any
	pipe or queue definitions.

	This only affects IPFW2.

>How-To-Repeat:

	Create /etc/ipfw.rules containing:

	pipe 1 config bw 500kbit/s
	add pipe 1 all from any to any

	Then execute:

	# ipfw -p cat /etc/ipfw.rules
	command is cat
	Line 2: bad command `pipe'

	Using any preprocessor that generates those rules will
	give the same error.

>Fix:

	Correctly initialise the 'do_pipe' variable in ipfw_main()

Index: sbin/ipfw/ipfw2.c
===================================================================
RCS file: /data/cvs/freebsd/src/sbin/ipfw/ipfw2.c,v
retrieving revision 1.4.2.16
diff -u -r1.4.2.16 ipfw2.c
--- sbin/ipfw/ipfw2.c	17 Jul 2003 06:03:39 -0000	1.4.2.16
+++ sbin/ipfw/ipfw2.c	20 Jul 2003 04:51:28 -0000
@@ -3591,6 +3591,7 @@
 	char **av, **save_av;
 	int do_acct = 0;		/* Show packet/byte count */
 	int do_force = 0;		/* Don't ask for confirmation */
+	do_pipe = 0;
 
 #define WHITESP		" \t\f\v\n\r"
 	if (oldac == 0)
>Release-Note:
>Audit-Trail:
>Unformatted:


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030720052457.68999.qmail>