diff --git a/configure.in b/configure.in index 9e82735d..4d023324 100644 --- a/configure.in +++ b/configure.in @@ -116,11 +116,11 @@ else ;; ipv6:netbsd*) sysdesc=bsd-v6 CPPFLAGS="$CPPFLAGS -I/usr/pkg/include" - LDFLAGS="$LDFLAGS -L/usr/pkg/lib" + LDFLAGS="$LDFLAGS -L/usr/pkg/lib -R/usr/pkg/lib" ;; ipv4:netbsd*) sysdesc=bsd CPPFLAGS="$CPPFLAGS -I/usr/pkg/include" - LDFLAGS="$LDFLAGS -L/usr/pkg/lib" + LDFLAGS="$LDFLAGS -L/usr/pkg/lib -R/usr/pkg/lib" ;; ipv6:freebsd*) sysdesc=bsd-v6 ;; diff --git a/sysdep/bsd/sysio.h b/sysdep/bsd/sysio.h index ff821a77..847ce261 100644 --- a/sysdep/bsd/sysio.h +++ b/sysdep/bsd/sysio.h @@ -159,6 +159,7 @@ sysio_process_rx_cmsgs(sock *s, struct msghdr *msg) } /* Unfortunately, IP_SENDSRCADDR does not work for raw IP sockets on BSD kernels */ +/* static void sysio_prepare_tx_cmsgs(sock *s, struct msghdr *msg, void *cbuf, size_t cbuflen) { @@ -174,7 +175,6 @@ sysio_prepare_tx_cmsgs(sock *s, struct msghdr *msg, void *cbuf, size_t cbuflen) if (s->iface) { struct in_addr m; -// set_inaddr(&m, s->iface->addr->ip); set_inaddr(&m, s->saddr); setsockopt(s->fd, IPPROTO_IP, IP_MULTICAST_IF, &m, sizeof(m)); } @@ -189,6 +189,7 @@ sysio_prepare_tx_cmsgs(sock *s, struct msghdr *msg, void *cbuf, size_t cbuflen) msg->msg_controllen = cm->cmsg_len; } +*/ #endif diff --git a/sysdep/linux/sysio.h b/sysdep/linux/sysio.h index 795d0b36..9c10333a 100644 --- a/sysdep/linux/sysio.h +++ b/sysdep/linux/sysio.h @@ -282,7 +282,7 @@ sysio_process_rx_cmsgs(sock *s, struct msghdr *msg) return; } - +/* static void sysio_prepare_tx_cmsgs(sock *s, struct msghdr *msg, void *cbuf, size_t cbuflen) { @@ -306,4 +306,6 @@ sysio_prepare_tx_cmsgs(sock *s, struct msghdr *msg, void *cbuf, size_t cbuflen) msg->msg_controllen = cm->cmsg_len; } +*/ + #endif diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c index 930844a6..d1fad1ff 100644 --- a/sysdep/unix/io.c +++ b/sysdep/unix/io.c @@ -706,6 +706,7 @@ sysio_process_rx_cmsgs(sock *s, struct msghdr *msg) return; } +/* static void sysio_prepare_tx_cmsgs(sock *s, struct msghdr *msg, void *cbuf, size_t cbuflen) { @@ -730,6 +731,7 @@ sysio_prepare_tx_cmsgs(sock *s, struct msghdr *msg, void *cbuf, size_t cbuflen) msg->msg_controllen = cm->cmsg_len; return; } +*/ #endif static char * @@ -1220,7 +1222,7 @@ sk_maybe_write(sock *s) fill_in_sockifa(&sa, s->iface); struct iovec iov = {s->tbuf, s->tpos - s->tbuf}; - byte cmsg_buf[CMSG_TX_SPACE]; + // byte cmsg_buf[CMSG_TX_SPACE]; struct msghdr msg = { .msg_name = &sa, @@ -1228,7 +1230,7 @@ sk_maybe_write(sock *s) .msg_iov = &iov, .msg_iovlen = 1}; - sysio_prepare_tx_cmsgs(s, &msg, cmsg_buf, sizeof(cmsg_buf)); + // sysio_prepare_tx_cmsgs(s, &msg, cmsg_buf, sizeof(cmsg_buf)); e = sendmsg(s->fd, &msg, 0); if (e < 0)