]> git.meshlink.io Git - catta/blobdiff - avahi-autoipd/main.c
merge fedora initscript changes, closes rhbz #246875
[catta] / avahi-autoipd / main.c
index 3271d83e8f6f0af56f2d1dbe4ff411e85f481d80..4a51dc378ef4fc559f55689b4ffa3352c10e400b 100644 (file)
 
 #ifndef __linux__
 #include <pcap.h>
+
+/* Old versions of PCAP defined it as D_IN */
+#ifndef PCAP_D_IN
+#define PCAP_D_IN D_IN
+#endif
+
 #endif
 
 #include <avahi-common/malloc.h>
@@ -77,6 +83,8 @@
 #include "main.h"
 #include "iface.h"
 
+
+
 /* An implementation of RFC 3927 */
 
 /* Constants from the RFC */
@@ -510,7 +518,7 @@ static int send_packet(int fd, int iface, ArpPacket *packet, size_t packet_len)
     sa.sll_halen = ETHER_ADDRLEN;
     memset(sa.sll_addr, 0xFF, ETHER_ADDRLEN);
 
-    if (sendto(fd, packet, packet_len, 0, (struct sockaddr*) &sa, sizeof(sa)) < 0) {
+    if (sendto(fd, packet->ether_payload, packet_len, 0, (struct sockaddr*) &sa, sizeof(sa)) < 0) {
         daemon_log(LOG_ERR, "sendto() failed: %s", strerror(errno));
         return -1;
     }
@@ -1042,7 +1050,7 @@ static int loop(int iface, uint32_t addr) {
         FD_ARP,
         FD_IFACE,
         FD_SIGNAL,
-        FD_MAX,
+        FD_MAX
     };
 
     int fd = -1, ret = -1;