Author: maxim
Date: Tue Oct 14 17:53:26 2008
New Revision: 183889
URL: http://svn.freebsd.org/changeset/base/183889

Log:
  o Do nothing in show_nat() for a test mode (-n).  This prevents
  show_nat() from endless loop and makes work ipfw -n nat <...>.
  
  PR:           bin/128064
  Submitted by: sem
  MFC after:    1 month

Modified:
  head/sbin/ipfw/ipfw2.c

Modified: head/sbin/ipfw/ipfw2.c
==============================================================================
--- head/sbin/ipfw/ipfw2.c      Tue Oct 14 17:48:36 2008        (r183888)
+++ head/sbin/ipfw/ipfw2.c      Tue Oct 14 17:53:26 2008        (r183889)
@@ -3856,9 +3856,6 @@ nospace:
 }
 
 static void
-show_nat(int ac, char **av);
-
-static void
 print_nat_config(char *buf) {
        struct cfg_nat *n;
        int i, cnt, flag, off;
@@ -4066,11 +4063,6 @@ config_nat(int ac, char **av)
        i = do_cmd(IP_FW_NAT_CFG, buf, off);
        if (i)
                err(1, "setsockopt(%s)", "IP_FW_NAT_CFG");
-
-       /* After every modification, we show the resultant rule. */
-       int _ac = 3;
-       char *_av[] = {"show", "config", id};
-       show_nat(_ac, _av);
 }
 
 static void
@@ -6035,6 +6027,9 @@ show_nat(int ac, char **av)
        lrule = IPFW_DEFAULT_RULE; /* max ipfw rule number */
        ac--; av++;
 
+       if (test_only)
+               return;
+
        /* Parse parameters. */
        for (cmd = IP_FW_NAT_GET_LOG, do_cfg = 0; ac != 0; ac--, av++) {
                if (!strncmp(av[0], "config", strlen(av[0]))) {
@@ -6059,6 +6054,7 @@ show_nat(int ac, char **av)
                if (do_cmd(cmd, data, (uintptr_t)&nbytes) < 0)
                        err(EX_OSERR, "getsockopt(IP_FW_GET_%s)",
                            (cmd == IP_FW_NAT_GET_LOG) ? "LOG" : "CONFIG");
+               printf("nbytes %b\n", nbytes);
        }
        if (nbytes == 0)
                exit(0);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to