[PATCH] ipfw2 fails with 'bad command' error

Andy Gilligan andy at evo6.org
Sat Jul 19 22:25:01 PDT 2003


>Submitter-Id:	current-users
>Originator:	Andy Gilligan
>Confidential:	no
>Synopsis:	[PATCH] ipfw2 fails with 'bad command' error
>Severity:	serious
>Priority:	high
>Category:	bin
>Class:		sw-bug
>Release:	FreeBSD 4.8-STABLE i386
>Environment:
System: FreeBSD vega 4.8-STABLE FreeBSD 4.8-STABLE #13: Sun Jul 20 01:01:07 BST 2003 root at 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)


More information about the freebsd-stable mailing list