summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/avahi/files/patch-avahi-core_socket.c34
1 files changed, 12 insertions, 22 deletions
diff --git a/net/avahi/files/patch-avahi-core_socket.c b/net/avahi/files/patch-avahi-core_socket.c
index 783d41c02..dc19ed379 100644
--- a/net/avahi/files/patch-avahi-core_socket.c
+++ b/net/avahi/files/patch-avahi-core_socket.c
@@ -1,38 +1,28 @@
---- avahi-core/socket.c.orig Sun Apr 23 19:20:31 2006
-+++ avahi-core/socket.c Sun Apr 23 20:16:46 2006
+--- 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];
-+ char cmsg_data[CMSG_SPACE(sizeof(struct in_addr))];
++ uint8_t cmsg_data[CMSG_SPACE(sizeof(struct in_addr))];
#endif
assert(fd >= 0);
-@@ -491,8 +491,8 @@ int avahi_send_dns_packet_ipv4(int fd, A
- msg.msg_iov = &io;
- msg.msg_iovlen = 1;
- msg.msg_flags = 0;
-- msg.msg_control = NULL;
-- msg.msg_controllen = 0;
-+ msg.msg_control = cmsg_data;
-+ msg.msg_controllen = sizeof(cmsg_data);
-
- #ifdef IP_PKTINFO
- if (interface > 0 || src_address) {
-@@ -518,18 +518,15 @@ int avahi_send_dns_packet_ipv4(int fd, A
+@@ -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_len = CMSG_LEN(sizeof(struct in_addr));
cmsg->cmsg_level = IPPROTO_IP;
cmsg->cmsg_type = IP_SENDSRCADDR;
-+ cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_addr));
addr = (struct in_addr *)CMSG_DATA(cmsg);
addr->s_addr = src_address->address;
@@ -42,30 +32,30 @@
}
#elif defined(IP_MULTICAST_IF)
{
-@@ -551,7 +548,7 @@ int avahi_send_dns_packet_ipv6(int fd, A
+@@ -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];
-+ char cmsg_data[CMSG_SPACE(sizeof(struct in6_pktinfo))];
++ uint8_t cmsg_data[CMSG_SPACE(sizeof(struct in6_pktinfo))];
assert(fd >= 0);
assert(p);
-@@ -576,9 +573,11 @@ int avahi_send_dns_packet_ipv6(int fd, A
+@@ -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);
++ 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 +590,6 @@ int avahi_send_dns_packet_ipv6(int fd, A
+@@ -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));