]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Note sock->interface
authorAlan T. DeKok <aland@freeradius.org>
Fri, 13 Jan 2012 13:46:49 +0000 (14:46 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 13 Jan 2012 13:46:49 +0000 (14:46 +0100)
src/main/dhcpd.c

index 6424c4c52fe43d8cb55499c05e244cf0b2fc5209..619254b468efdc8f23369bd34ad53f553580bf62 100644 (file)
@@ -446,6 +446,10 @@ static int dhcp_socket_parse(CONF_SECTION *cs, rad_listen_t *this)
 
        sock = this->data;
 
+       if (!sock->interface) {
+               DEBUG("WARNING: No \"interface\" setting is defined.  Only unicast DHCP will work.");
+       }
+
        /*
         *      See whether or not we enable broadcast packets.
         */
@@ -484,8 +488,6 @@ static int dhcp_socket_parse(CONF_SECTION *cs, rad_listen_t *this)
                              &sock->suppress_responses, NULL);
        }
        
-       if (!sock->src_interface) sock->src_interface = strdup(sock->interface);
-
        cp = cf_pair_find(cs, "src_interface");
        if (cp) {
                cf_item_parse(cs, "src_interface", PW_TYPE_STRING_PTR,
@@ -494,6 +496,10 @@ static int dhcp_socket_parse(CONF_SECTION *cs, rad_listen_t *this)
                 sock->src_interface = sock->interface;
         }
 
+       if (!sock->src_interface && sock->interface) {
+               sock->src_interface = strdup(sock->interface);
+       }
+
        cp = cf_pair_find(cs, "src_ipaddr");
        if (cp) {
                memset(&sock->src_ipaddr, 0, sizeof(sock->src_ipaddr));