You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
2.2 KiB

  1. commit 2b6bccca5d9d8ab7f11219a639707b325910a0b1
  2. Author: Philip Prindeville <philipp@redfish-solutions.com>
  3. Date: Thu Sep 17 00:27:55 2020 +0000
  4. Logic for p2p on tunnels incorrectly requires IFF_MULTICAST (#305)
  5. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
  6. --- a/avahi-core/iface-linux.c
  7. +++ b/avahi-core/iface-linux.c
  8. @@ -105,8 +105,8 @@ static void netlink_callback(AvahiNetlin
  9. (ifinfomsg->ifi_flags & IFF_UP) &&
  10. (!m->server->config.use_iff_running || (ifinfomsg->ifi_flags & IFF_RUNNING)) &&
  11. ((ifinfomsg->ifi_flags & IFF_LOOPBACK) ||
  12. - (ifinfomsg->ifi_flags & IFF_MULTICAST)) &&
  13. - (m->server->config.allow_point_to_point || !(ifinfomsg->ifi_flags & IFF_POINTOPOINT));
  14. + (ifinfomsg->ifi_flags & IFF_MULTICAST) ||
  15. + ((ifinfomsg->ifi_flags & IFF_POINTOPOINT) && m->server->config.allow_point_to_point));
  16. /* Handle interface attributes */
  17. l = NLMSG_PAYLOAD(n, sizeof(struct ifinfomsg));
  18. --- a/avahi-core/iface-pfroute.c
  19. +++ b/avahi-core/iface-pfroute.c
  20. @@ -81,8 +81,8 @@ static void rtm_info(struct rt_msghdr *r
  21. (ifm->ifm_flags & IFF_UP) &&
  22. (!m->server->config.use_iff_running || (ifm->ifm_flags & IFF_RUNNING)) &&
  23. ((ifm->ifm_flags & IFF_LOOPBACK) ||
  24. - (ifm->ifm_flags & IFF_MULTICAST)) &&
  25. - (m->server->config.allow_point_to_point || !(ifm->ifm_flags & IFF_POINTOPOINT));
  26. + (ifm->ifm_flags & IFF_MULTICAST) ||
  27. + ((ifm->ifm_flags & IFF_POINTOPOINT) && m->server->config.allow_point_to_point));
  28. avahi_free(hw->name);
  29. hw->name = avahi_strndup(sdl->sdl_data, sdl->sdl_nlen);
  30. @@ -428,8 +428,8 @@ static void if_add_interface(struct lifr
  31. (flags & IFF_UP) &&
  32. (!m->server->config.use_iff_running || (flags & IFF_RUNNING)) &&
  33. ((flags & IFF_LOOPBACK) ||
  34. - (flags & IFF_MULTICAST)) &&
  35. - (m->server->config.allow_point_to_point || !(flags & IFF_POINTOPOINT));
  36. + (flags & IFF_MULTICAST) ||
  37. + ((flags & IFF_POINTOPOINT) && m->server->config.allow_point_to_point));
  38. hw->name = avahi_strdup(lifreq->lifr_name);
  39. hw->mtu = mtu;
  40. /* TODO get mac address */