mirror of
https://github.com/pi-hole/dnsmasq.git
synced 2025-12-19 10:18:25 +00:00
Cope with router-solicit packets without valid source address.
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
version 2.62
|
version 2.62
|
||||||
Update German translation. Thanks to Conrad Kostecki.
|
Update German translation. Thanks to Conrad Kostecki.
|
||||||
|
|
||||||
|
Cope with router-solict packets wich don't have a valid
|
||||||
|
source address. Thanks to Vladislav Grishenko for the patch.
|
||||||
|
|
||||||
|
|
||||||
version 2.61
|
version 2.61
|
||||||
Re-write interface discovery code on *BSD to use
|
Re-write interface discovery code on *BSD to use
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ALL_HOSTS "FF02::1"
|
#define ALL_NODES "FF02::1"
|
||||||
#define ALL_ROUTERS "FF02::2"
|
#define ALL_ROUTERS "FF02::2"
|
||||||
|
|
||||||
struct ping_packet {
|
struct ping_packet {
|
||||||
|
|||||||
@@ -179,7 +179,8 @@ void icmp6_packet(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
my_syslog(MS_DHCP | LOG_INFO, "RTR-SOLICIT(%s) %s", interface, mac);
|
my_syslog(MS_DHCP | LOG_INFO, "RTR-SOLICIT(%s) %s", interface, mac);
|
||||||
send_ra(if_index, interface, &from.sin6_addr);
|
/* source address may not be valid in solicit request. */
|
||||||
|
send_ra(if_index, interface, !IN6_IS_ADDR_UNSPECIFIED(&from.sin6_addr) ? &from.sin6_addr : NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -317,7 +318,7 @@ static void send_ra(int iface, char *iface_name, struct in6_addr *dest)
|
|||||||
addr.sin6_scope_id = iface;
|
addr.sin6_scope_id = iface;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
inet_pton(AF_INET6, ALL_HOSTS, &addr.sin6_addr);
|
inet_pton(AF_INET6, ALL_NODES, &addr.sin6_addr);
|
||||||
|
|
||||||
send_from(daemon->icmp6fd, 0, daemon->outpacket.iov_base, save_counter(0),
|
send_from(daemon->icmp6fd, 0, daemon->outpacket.iov_base, save_counter(0),
|
||||||
(union mysockaddr *)&addr, (struct all_addr *)&parm.link_local, iface);
|
(union mysockaddr *)&addr, (struct all_addr *)&parm.link_local, iface);
|
||||||
|
|||||||
Reference in New Issue
Block a user