]> git.meshlink.io Git - catta/blobdiff - avahi-core/socket.c
* add support to browse for domains in avahi-browse
[catta] / avahi-core / socket.c
index b3bdac23a226d276c3c71a493bd42574421eb0e9..c03cc34d6c5aadb04ecd098a6c4644a052fe9bcd 100644 (file)
 #include <errno.h>
 #include <string.h>
 #include <stdio.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <arpa/inet.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <sys/time.h>
-#include <net/if.h>
 #include <sys/ioctl.h>
 #include <assert.h>
 
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+#include <net/if.h>
+#include <sys/uio.h>
+
 #ifdef IP_RECVIF
 #include <net/if_dl.h>
 #endif
@@ -292,7 +295,7 @@ static int ipv6_pktinfo(int fd) {
 
 int avahi_open_socket_ipv4(int no_reuse) {
     struct sockaddr_in local;
-    int fd = -1, r;
+    int fd = -1, r, ittl;
     uint8_t ttl, cyes;
         
     if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
@@ -306,8 +309,8 @@ int avahi_open_socket_ipv4(int no_reuse) {
         goto fail;
     }
 
-    ttl = 255;
-    if (setsockopt(fd, IPPROTO_IP, IP_TTL, &ttl, sizeof(ttl)) < 0) {
+    ittl = 255;
+    if (setsockopt(fd, IPPROTO_IP, IP_TTL, &ittl, sizeof(ittl)) < 0) {
         avahi_log_warn("IP_TTL failed: %s", strerror(errno));
         goto fail;
     }
@@ -491,10 +494,11 @@ int avahi_send_dns_packet_ipv4(int fd, int interface, AvahiDnsPacket *p, const A
         msg.msg_control = cmsg_data;
         msg.msg_controllen = sizeof(cmsg_data);
     }
+#else
+#ifdef __GNUC__
+#warning "FIXME: We need some code to set the outgoing interface here if IP_PKTINFO is not available"
+#endif
 #endif
-
-    /** FIXME: We need some code to set the outgoing interface here if
-     * IP_PKTINFO is not available */
     
     return sendmsg_loop(fd, &msg, 0);
 }
@@ -678,7 +682,6 @@ AvahiDnsPacket* avahi_recv_dns_packet_ipv6(int fd, struct sockaddr_in6 *ret_sa,
     uint8_t aux[64];
     ssize_t l;
     int ms;
-    
     struct cmsghdr *cmsg;
     int found_ttl = 0, found_iface = 0;