Page MenuHomeFreeBSD

D17373.id.diff
No OneTemporary

D17373.id.diff

Index: head/sbin/ipfw/ipfw2.c
===================================================================
--- head/sbin/ipfw/ipfw2.c
+++ head/sbin/ipfw/ipfw2.c
@@ -2207,6 +2207,12 @@
*/
if (co->comment_only != 0)
goto end;
+
+ if (rule->flags & IPFW_RULE_JUSTOPTS) {
+ state.flags |= HAVE_PROTO | HAVE_SRCIP | HAVE_DSTIP;
+ goto justopts;
+ }
+
print_proto(bp, fo, &state);
/* Print source */
@@ -2219,6 +2225,7 @@
print_address(bp, fo, &state, dst_opcodes, nitems(dst_opcodes),
O_IP_DSTPORT, HAVE_DSTIP);
+justopts:
/* Print the rest of options */
while (print_opcode(bp, fo, &state, -1))
;
@@ -4340,8 +4347,10 @@
}
} else if (first_cmd != cmd) {
errx(EX_DATAERR, "invalid protocol ``%s''", *av);
- } else
+ } else {
+ rule->flags |= IPFW_RULE_JUSTOPTS;
goto read_options;
+ }
OR_BLOCK(get_proto);
/*
Index: head/sys/netinet/ip_fw.h
===================================================================
--- head/sys/netinet/ip_fw.h
+++ head/sys/netinet/ip_fw.h
@@ -615,6 +615,7 @@
ipfw_insn cmd[1]; /* storage for commands */
};
#define IPFW_RULE_NOOPT 0x01 /* Has no options in body */
+#define IPFW_RULE_JUSTOPTS 0x02 /* new format of rule body */
/* Unaligned version */

File Metadata

Mime Type
text/plain
Expires
Mon, Apr 20, 12:05 PM (3 h, 17 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31838196
Default Alt Text
D17373.id.diff (1 KB)

Event Timeline