Signed-off-by: Luka Perkov <luka@openwrt.org>lilik-openwrt-22.03
@ -0,0 +1,69 @@ | |||
# | |||
# Copyright (C) 2006-2015 OpenWrt.org | |||
# | |||
# This is free software, licensed under the GNU General Public License v2. | |||
# See /LICENSE for more information. | |||
# | |||
include $(TOPDIR)/rules.mk | |||
PKG_NAME:=pptpd | |||
PKG_VERSION:=1.4.0 | |||
PKG_RELEASE:=1 | |||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz | |||
PKG_SOURCE_URL:=@SF/poptop | |||
PKG_MD5SUM:=36f9f45c6ffa92bc3b6e24ae2d053505 | |||
PKG_INSTALL:=1 | |||
PKG_BUILD_PARALLEL:=1 | |||
PKG_MAINTAINER:=Luka Perkov <luka@openwrt.org> | |||
include $(INCLUDE_DIR)/package.mk | |||
define Package/pptpd | |||
SECTION:=net | |||
CATEGORY:=Network | |||
DEPENDS:=+kmod-ppp +kmod-gre +kmod-mppe +ppp | |||
TITLE:=PopTop pptp server | |||
URL:=http://poptop.sourceforge.net/ | |||
SUBMENU:=VPN | |||
endef | |||
CONFIGURE_ARGS += \ | |||
--enable-bcrelay \ | |||
CONFIGURE_VARS += \ | |||
ac_cv_header_libintl_h=no \ | |||
MAKE_FLAGS += \ | |||
COPTS="$(TARGET_CFLAGS)" \ | |||
INSTALL="install" \ | |||
define Package/pptpd/conffiles | |||
/etc/pptpd.conf | |||
/etc/ppp/options.pptpd | |||
/etc/config/pptpd | |||
endef | |||
define Package/pptpd/install | |||
$(INSTALL_DIR) $(1)/usr/sbin | |||
$(CP) \ | |||
$(PKG_INSTALL_DIR)/usr/sbin/bcrelay \ | |||
$(PKG_INSTALL_DIR)/usr/sbin/pptpctrl \ | |||
$(PKG_INSTALL_DIR)/usr/sbin/pptpd \ | |||
$(1)/usr/sbin/ | |||
$(INSTALL_DIR) $(1)/usr/lib/pptpd | |||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pptpd/* $(1)/usr/lib/pptpd/ | |||
$(INSTALL_DIR) $(1)/etc | |||
$(INSTALL_DATA) ./files/pptpd.conf $(1)/etc/ | |||
$(INSTALL_DIR) $(1)/etc/init.d | |||
$(INSTALL_BIN) ./files/pptpd.init $(1)/etc/init.d/pptpd | |||
$(INSTALL_DIR) $(1)/etc/ppp | |||
$(INSTALL_DATA) ./files/options.pptpd $(1)/etc/ppp/ | |||
$(INSTALL_DIR) $(1)/etc/config | |||
$(INSTALL_DATA) ./files/pptpd.config $(1)/etc/config/pptpd | |||
endef | |||
$(eval $(call BuildPackage,pptpd)) |
@ -0,0 +1,22 @@ | |||
#debug | |||
#logfile /tmp/pptp-server.log | |||
auth | |||
name "pptp-server" | |||
lcp-echo-failure 3 | |||
lcp-echo-interval 60 | |||
default-asyncmap | |||
mtu 1482 | |||
mru 1482 | |||
nobsdcomp | |||
nodeflate | |||
#noproxyarp | |||
#nomppc | |||
mppe required,no40,no56,stateless | |||
require-mschap-v2 | |||
refuse-chap | |||
refuse-mschap | |||
refuse-eap | |||
refuse-pap | |||
#ms-dns 172.16.1.1 | |||
#plugin radius.so | |||
#radius-config-file /etc/radius.conf |
@ -0,0 +1,5 @@ | |||
#debug | |||
option /etc/ppp/options.pptpd | |||
speed 115200 | |||
stimeout 10 | |||
#localip & remoteip are not needed, ip management is done by pppd |
@ -0,0 +1,8 @@ | |||
config service 'pptpd' | |||
option 'enabled' '0' | |||
option 'localip' '192.168.0.1' | |||
option 'remoteip' '192.168.0.20-30' | |||
config 'login' | |||
option 'username' 'youruser' | |||
option 'password' 'yourpass' |
@ -0,0 +1,58 @@ | |||
#!/bin/sh /etc/rc.common | |||
# Copyright (C) 2006 OpenWrt.org | |||
START=60 | |||
BIN=/usr/sbin/pptpd | |||
DEFAULT=/etc/default/$BIN | |||
RUN_D=/var/run | |||
PID_F=$RUN_D/$BIN.pid | |||
CONFIG=/var/etc/pptpd.conf | |||
CHAP_SECRETS=/var/etc/chap-secrets | |||
setup_login() { | |||
local section="$1" | |||
config_get username "$section" username | |||
config_get password "$section" password | |||
[ -n "$username" ] || return 0 | |||
[ -n "$password" ] || return 0 | |||
echo "$username pptp-server $password *" >> $CHAP_SECRETS | |||
} | |||
setup_config() { | |||
local section="$1" | |||
config_get enabled "$section" enabled | |||
[ "$enabled" -eq 0 ] && return 1 | |||
mkdir -p /var/etc | |||
cp /etc/pptpd.conf $CONFIG | |||
config_get localip "$section" localip | |||
config_get remoteip "$section" remoteip | |||
[ -n "$localip" ] && echo "localip $localip" >> $CONFIG | |||
[ -n "$remoteip" ] && echo "remoteip $remoteip" >> $CONFIG | |||
return 0 | |||
} | |||
start_pptpd() { | |||
[ -f $DEFAULT ] && . $DEFAULT | |||
mkdir -p $RUN_D | |||
for m in arc4 sha1_generic slhc crc-ccitt ppp_generic ppp_async ppp_mppe; do | |||
insmod $m >/dev/null 2>&1 | |||
done | |||
ln -sfn $CHAP_SECRETS /etc/ppp/chap-secrets | |||
service_start $BIN $OPTIONS -c $CONFIG | |||
} | |||
start() { | |||
config_load pptpd | |||
setup_config pptpd || return | |||
config_foreach setup_login login | |||
start_pptpd | |||
} | |||
stop() { | |||
service_stop $BIN | |||
} |
@ -0,0 +1,18 @@ | |||
--- a/pqueue.c | |||
+++ b/pqueue.c | |||
@@ -7,13 +7,11 @@ | |||
#include "pqueue.h" | |||
#ifdef DEBUG_PQUEUE | |||
-#define DEBUG_ON 1 | |||
+#define DEBUG_CMD(_a) { _a } | |||
#else | |||
-#define DEBUG_ON 0 | |||
+#define DEBUG_CMD(_a) | |||
#endif | |||
-#define DEBUG_CMD(_a) if (DEBUG_ON) { _a } | |||
- | |||
#define MIN_CAPACITY 128 /* min allocated buffer for a packet */ | |||
static int pqueue_alloc (int seq, unsigned char *packet, int packlen, pqueue_t **new); |
@ -0,0 +1,11 @@ | |||
--- a/plugins/Makefile | |||
+++ b/plugins/Makefile | |||
@@ -18,7 +18,7 @@ all: $(PLUGINS) | |||
%.so: %.c | |||
$(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^ $(LDADD) | |||
-LIBDIR ?= $(DESTDIR)$(prefix)/lib/pptpd | |||
+LIBDIR = $(DESTDIR)$(prefix)/lib/pptpd | |||
install: $(PLUGINS) | |||
$(INSTALL) -d $(LIBDIR) |
@ -0,0 +1,11 @@ | |||
--- a/Makefile.in | |||
+++ b/Makefile.in | |||
@@ -153,7 +153,7 @@ AUTOMAKE = @AUTOMAKE@ | |||
AWK = @AWK@ | |||
CC = @CC@ | |||
CCDEPMODE = @CCDEPMODE@ | |||
-CFLAGS = -O2 -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' | |||
+CFLAGS = $(COPTS) -fno-builtin -Wall -DSBINDIR='"$(sbindir)"' | |||
CPP = @CPP@ | |||
CPPFLAGS = @CPPFLAGS@ | |||
CYGPATH_W = @CYGPATH_W@ |