aboutsummaryrefslogtreecommitdiff
path: root/net/avahi-app
diff options
context:
space:
mode:
authorJoe Marcus Clarke <marcus@FreeBSD.org>2008-04-05 20:09:08 +0000
committerJoe Marcus Clarke <marcus@FreeBSD.org>2008-04-05 20:09:08 +0000
commit4a4ddf8f4aa58cd43a9f54b962d7d8aaa641c564 (patch)
tree85fa39ff1a9ecbfc092c157fc1f70b71231e16cd /net/avahi-app
parent009ec786da7019102fa0bb068bc68b5734d1ca3c (diff)
downloadports-4a4ddf8f4aa58cd43a9f54b962d7d8aaa641c564.tar.gz
ports-4a4ddf8f4aa58cd43a9f54b962d7d8aaa641c564.zip
Notes
Diffstat (limited to 'net/avahi-app')
-rw-r--r--net/avahi-app/Makefile2
-rw-r--r--net/avahi-app/files/patch-avahi-core_iface-pfroute.c32
2 files changed, 33 insertions, 1 deletions
diff --git a/net/avahi-app/Makefile b/net/avahi-app/Makefile
index 3bd79b734dd2..484d3b5bd80d 100644
--- a/net/avahi-app/Makefile
+++ b/net/avahi-app/Makefile
@@ -8,7 +8,7 @@
PORTNAME= avahi
PORTVERSION= 0.6.22
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES?= net dns
MASTER_SITES= http://www.avahi.org/download/
PKGNAMESUFFIX?= -app
diff --git a/net/avahi-app/files/patch-avahi-core_iface-pfroute.c b/net/avahi-app/files/patch-avahi-core_iface-pfroute.c
new file mode 100644
index 000000000000..59b5f601f284
--- /dev/null
+++ b/net/avahi-app/files/patch-avahi-core_iface-pfroute.c
@@ -0,0 +1,32 @@
+--- avahi-core/iface-pfroute.c.orig 2008-04-05 15:54:11.000000000 -0400
++++ avahi-core/iface-pfroute.c 2008-04-05 16:04:04.000000000 -0400
+@@ -172,6 +177,13 @@ static void rtm_addr(struct rt_msghdr *r
+ break;
+ case RTA_IFA:
+ memcpy(raddr.data.data, &((struct sockaddr_in6 *)sa)->sin6_addr, sizeof(struct in6_addr));
++#ifdef __KAME__
++ if (IN6_IS_ADDR_LINKLOCAL((struct in6_addr *)raddr.data.data))
++ {
++ ((struct in6_addr *)raddr.data.data)->s6_addr[2] = 0;
++ ((struct in6_addr *)raddr.data.data)->s6_addr[3] = 0;
++ }
++#endif
+ raddr_valid = 1;
+ default:
+ break;
+@@ -196,9 +207,12 @@ static void rtm_addr(struct rt_msghdr *r
+ if (!(addriface = avahi_interface_monitor_get_address(m, iface, &raddr)))
+ if (!(addriface = avahi_interface_address_new(m, iface, &raddr, prefixlen)))
+ return; /* OOM */
+- /* FIXME */
+- /* addriface->global_scope = ifaddrmsg->ifa_scope == RT_SCOPE_UNIVERSE || ifaddrmsg->ifa_scope == RT_SCOPE_SITE; */
+- addriface->global_scope = 1;
++ if (raddr.proto == AVAHI_PROTO_INET6)
++ {
++ addriface->global_scope = !(IN6_IS_ADDR_LINKLOCAL((struct in6_addr *)raddr.data.data) || IN6_IS_ADDR_MULTICAST((struct in6_addr *)raddr.data.data));
++ }
++ else
++ addriface->global_scope = 1;
+ }
+ else
+ {