Author: ae
Date: Wed Jul  3 09:43:26 2019
New Revision: 349642
URL: https://svnweb.freebsd.org/changeset/base/349642

Log:
  MFC r349364:
    Restore ipfw(8)'s compact output support broken after r331668.
  
    Also modify it a bit. Now -c option omits only 'from any to any' part
    and works for different protocols (not just for ip).
  
    Reported by:        Dmitry Selivanov <dseliv at gmail>

Modified:
  stable/12/sbin/ipfw/ipfw2.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/sbin/ipfw/ipfw2.c
==============================================================================
--- stable/12/sbin/ipfw/ipfw2.c Wed Jul  3 09:14:39 2019        (r349641)
+++ stable/12/sbin/ipfw/ipfw2.c Wed Jul  3 09:43:26 2019        (r349642)
@@ -2223,6 +2223,8 @@ show_static_rule(struct cmdline_opts *co, struct forma
        }
 
        print_proto(bp, fo, &state);
+       if (co->do_compact != 0 && (rule->flags & IPFW_RULE_NOOPT))
+               goto justopts;
 
        /* Print source */
        bprintf(bp, " from");
@@ -4395,6 +4397,8 @@ chkarg:
        }
     OR_BLOCK(get_proto);
 
+       first_cmd = cmd; /* update pointer to use in compact form */
+
        /*
         * "from", mandatory
         */
@@ -4466,6 +4470,8 @@ chkarg:
                                cmd = next_cmd(cmd, &cblen);
                }
        }
+       if (first_cmd == cmd)
+               rule->flags |= IPFW_RULE_NOOPT;
 
 read_options:
        prev = NULL;
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to