Update to 0.6.10.

Security:	This release fixes a few security vulnerabilities.
		See http://www.avahi.org/milestone/Avahi%200.6.10 for more
		details.
This commit is contained in:
Joe Marcus Clarke 2006-05-06 10:09:07 +00:00
parent 2e85f2165e
commit 199d07f054
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=161475
3 changed files with 9 additions and 71 deletions

View File

@ -6,8 +6,7 @@
# $MCom: ports/net/avahi/Makefile,v 1.15 2006/04/28 01:52:15 marcus Exp $
PORTNAME= avahi
PORTVERSION= 0.6.9
PORTREVISION?= 5
PORTVERSION= 0.6.10
CATEGORIES?= net dns
MASTER_SITES= http://www.avahi.org/download/
@ -66,6 +65,11 @@ CONFIGURE_ARGS+=--disable-gtk
PLIST_SUB+= GTK="@comment "
.endif
post-patch:
@${REINPLACE_CMD} -e 's|-ldl||g' ${WRKSRC}/configure \
${WRKSRC}/avahi-client/Makefile.in \
${WRKSRC}/avahi-daemon/Makefile.in
post-install:
.if !defined(PACKAGE_BUILDING)
@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL

View File

@ -1,3 +1,3 @@
MD5 (avahi-0.6.9.tar.gz) = 2652910f0e52c373d7a15b6851750517
SHA256 (avahi-0.6.9.tar.gz) = 06ff5a190963abd2aed92b7b8f5deb4a5beb709e5c3d61876aab3c20fa593ed7
SIZE (avahi-0.6.9.tar.gz) = 873201
MD5 (avahi-0.6.10.tar.gz) = cfb9e05c138dff4c430a35eee6229e8a
SHA256 (avahi-0.6.10.tar.gz) = 780d9d171681bb37c3067b50ddb85a8f741f2b3f0e435cfedf60bb32635243ac
SIZE (avahi-0.6.10.tar.gz) = 879819

View File

@ -1,66 +0,0 @@
--- avahi-core/socket.c.orig Thu Feb 9 20:45:09 2006
+++ avahi-core/socket.c Mon Apr 24 17:14:18 2006
@@ -468,7 +468,7 @@ int avahi_send_dns_packet_ipv4(int fd, A
size_t cmsg_data[( CMSG_SPACE(sizeof(struct in_pktinfo)) / sizeof(size_t)) + 1];
#elif defined(IP_SENDSRCADDR)
struct cmsghdr *cmsg;
- size_t cmsg_data[( CMSG_SPACE(sizeof(struct in_addr)) / sizeof(size_t)) + 1];
+ uint8_t cmsg_data[CMSG_SPACE(sizeof(struct in_addr))];
#endif
assert(fd >= 0);
@@ -518,18 +518,17 @@ int avahi_send_dns_packet_ipv4(int fd, A
#elif defined(IP_SENDSRCADDR)
if (src_address) {
struct in_addr *addr;
+
+ msg.msg_control = cmsg_data;
+ msg.msg_controllen = sizeof(cmsg_data);
+ cmsg = CMSG_FIRSTHDR(&msg);
- memset(cmsg_data, 0, sizeof(cmsg_data));
- cmsg = (struct cmsghdr*) cmsg_data;
cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_addr));
cmsg->cmsg_level = IPPROTO_IP;
cmsg->cmsg_type = IP_SENDSRCADDR;
addr = (struct in_addr *)CMSG_DATA(cmsg);
addr->s_addr = src_address->address;
-
- msg.msg_control = cmsg_data;
- msg.msg_controllen = sizeof(cmsg_data);
}
#elif defined(IP_MULTICAST_IF)
{
@@ -551,7 +550,7 @@ int avahi_send_dns_packet_ipv6(int fd, A
struct msghdr msg;
struct iovec io;
struct cmsghdr *cmsg;
- size_t cmsg_data[(CMSG_SPACE(sizeof(struct in6_pktinfo))/sizeof(size_t)) + 1];
+ uint8_t cmsg_data[CMSG_SPACE(sizeof(struct in6_pktinfo))];
assert(fd >= 0);
assert(p);
@@ -576,9 +575,11 @@ int avahi_send_dns_packet_ipv6(int fd, A
if (interface > 0 || src_address) {
struct in6_pktinfo *pkti;
+
+ msg.msg_control = cmsg_data;
+ msg.msg_controllen = sizeof(cmsg_data);
+ cmsg = CMSG_FIRSTHDR(&msg);
- memset(cmsg_data, 0, sizeof(cmsg_data));
- cmsg = (struct cmsghdr*) cmsg_data;
cmsg->cmsg_len = CMSG_LEN(sizeof(struct in6_pktinfo));
cmsg->cmsg_level = IPPROTO_IPV6;
cmsg->cmsg_type = IPV6_PKTINFO;
@@ -591,8 +592,6 @@ int avahi_send_dns_packet_ipv6(int fd, A
if (src_address)
memcpy(&pkti->ipi6_addr, src_address->address, sizeof(src_address->address));
- msg.msg_control = cmsg_data;
- msg.msg_controllen = sizeof(cmsg_data);
} else {
msg.msg_control = NULL;
msg.msg_controllen = 0;