From 5ca89b31210b249f79a1a5cd1a258c85fdb7970e Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 7 Aug 2013 02:30:23 +0200 Subject: Guard socket options not available on FreeBSD --- src/receive.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/receive.c') diff --git a/src/receive.c b/src/receive.c index fc835eb..bf4b93e 100644 --- a/src/receive.c +++ b/src/receive.c @@ -40,6 +40,7 @@ static inline void handle_socket_control(fastd_context_t *ctx, struct msghdr *me if ((char*)cmsg + sizeof(*cmsg) > end) return; +#ifdef USE_PKTINFO if (cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_PKTINFO) { struct in_pktinfo *pktinfo = (struct in_pktinfo*)CMSG_DATA(cmsg); if ((char*)pktinfo + sizeof(*pktinfo) > end) @@ -51,6 +52,7 @@ static inline void handle_socket_control(fastd_context_t *ctx, struct msghdr *me return; } +#endif if (cmsg->cmsg_level == IPPROTO_IPV6 && cmsg->cmsg_type == IPV6_PKTINFO) { struct in6_pktinfo *pktinfo = (struct in6_pktinfo*)CMSG_DATA(cmsg); @@ -173,11 +175,13 @@ void fastd_receive(fastd_context_t *ctx, fastd_socket_t *sock) { handle_socket_control(ctx, &message, sock, &local_addr); +#ifdef USE_PKTINFO if (!local_addr.sa.sa_family) { pr_error(ctx, "received packet without packet info"); fastd_buffer_free(buffer); return; } +#endif fastd_peer_address_simplify(&recvaddr); -- cgit v1.2.3