pptpd: fix musl compatibility
authorJo-Philipp Wich <redacted>
Tue, 16 Jun 2015 22:10:05 +0000 (00:10 +0200)
committerJo-Philipp Wich <redacted>
Tue, 16 Jun 2015 22:12:42 +0000 (00:12 +0200)
 - Ship a net/ppp_defs.h replacement header since musl does not provide one
   but pppd/pppd.h provided by pppd is needing it.
 - Replace deprecated MSG_TRYHARD flag with the proper MSG_DONTROUTE one
 - Unconditionally include string.h in bcrelay to avoid undeclared memset()
   and strcpy() warnings.

Signed-off-by: Jo-Philipp Wich <redacted>
net/pptpd/Makefile
net/pptpd/patches/100-musl-compat.patch [new file with mode: 0644]

index a2fb91fa99d01e7170c7921ee52869f4a7c89d43..d17d1962e4ffcaa55fd4adf6a6169221ede3c8d4 100644 (file)
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=pptpd
 PKG_VERSION:=1.4.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
 PKG_SOURCE_URL:=@SF/poptop
diff --git a/net/pptpd/patches/100-musl-compat.patch b/net/pptpd/patches/100-musl-compat.patch
new file mode 100644 (file)
index 0000000..6ce625a
--- /dev/null
@@ -0,0 +1,38 @@
+--- 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 <string.h>
+ #include <stdio.h>
++#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 <time.h>
++
++#include <asm/types.h>
++#include <linux/ppp_defs.h>
++
++#endif /* net/ppp_defs.h */
git clone https://git.99rst.org/PROJECT