--- a/bcrelay.c +++ b/bcrelay.c @@ -667,7 +667,7 @@ static void mainloop(int argc, char **ar * there is no need to concern about the physical/link layer header because it is * filled in automatically (based on the contents of sa). */ - if ((nrsent = sendto(cur_ifsnr[j].sock_nr, ipp_p, rlen, MSG_DONTWAIT|MSG_TRYHARD, (struct sockaddr *)&sa, salen)) < 0) + if ((nrsent = sendto(cur_ifsnr[j].sock_nr, ipp_p, rlen, MSG_DONTWAIT|MSG_DONTROUTE, (struct sockaddr *)&sa, salen)) < 0) { if (errno == ENETDOWN) { syslog(LOG_NOTICE, "ignored ENETDOWN from sendto(), a network interface was going down?"); --- a/compat.c +++ b/compat.c @@ -11,10 +11,10 @@ #include "compat.h" #include "our_syslog.h" -#ifndef HAVE_STRLCPY #include #include +#ifndef HAVE_STRLCPY void strlcpy(char *dst, const char *src, size_t size) { strncpy(dst, src, size - 1); --- /dev/null +++ b/net/ppp_defs.h @@ -0,0 +1,10 @@ +#ifndef _NET_PPP_DEFS_H +#define _NET_PPP_DEFS_H 1 + +#define __need_time_t +#include + +#include +#include + +#endif /* net/ppp_defs.h */