Author: jhb
Date: Sun Jan 25 20:37:32 2015
New Revision: 277714
URL: https://svnweb.freebsd.org/changeset/base/277714

Log:
  natd(8) will work with an unconfigured interface and effectively not do
  anything until the interface is assigned an address.  This fixes
  ipfw_nat to do the same by using an IP of INADDR_ANY instead of
  aborting the nat setup if the requested interface is not yet configured.
  
  Differential Revision:        https://reviews.freebsd.org/D1539
  Reviewed by:  melifaro, glebius, gnn
  MFC after:    1 week

Modified:
  head/sbin/ipfw/nat.c

Modified: head/sbin/ipfw/nat.c
==============================================================================
--- head/sbin/ipfw/nat.c        Sun Jan 25 20:16:45 2015        (r277713)
+++ head/sbin/ipfw/nat.c        Sun Jan 25 20:37:32 2015        (r277714)
@@ -163,9 +163,9 @@ set_addr_dynamic(const char *ifn, struct
                }
        }
        if (sin == NULL)
-               errx(1, "%s: cannot get interface address", ifn);
-
-       n->ip = sin->sin_addr;
+               n->ip.s_addr = htonl(INADDR_ANY);
+       else
+               n->ip = sin->sin_addr;
        strncpy(n->if_name, ifn, IF_NAMESIZE);
 
        free(buf);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to