drop userspace pptp - it is defunct, slow and badly integrated

SVN-Revision: 32198
This commit is contained in:
Jo-Philipp Wich 2012-06-11 20:09:01 +00:00
parent 13b8a13d48
commit b43599598c
4 changed files with 0 additions and 184 deletions

View File

@ -1,48 +0,0 @@
#
# Copyright (C) 2006-2012 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:=pptp
PKG_VERSION:=1.7.1
PKG_RELEASE:=5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=@SF/pptpclient
PKG_MD5SUM:=b47735ba5d6d37dfdbccb85afc044ede
include $(INCLUDE_DIR)/package.mk
define Package/pptp
SECTION:=net
CATEGORY:=Network
TITLE:=PPTP client
MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
URL:=http://pptpclient.sourceforge.net/
DEPENDS:=+ppp +kmod-gre +resolveip
endef
define Package/pptp/description
This package contains a PPTP (Point-to-Point Tunneling Protocol) client.
endef
define Package/pptp/conffiles
/etc/ppp/options.pptp
endef
MAKE_FLAGS += OPTIMIZE="$(TARGET_CFLAGS)"
define Package/pptp/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/pptp $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/ppp
$(INSTALL_DATA) ./files/options.pptp $(1)/etc/ppp/
$(INSTALL_DIR) $(1)/lib/netifd/proto/
$(INSTALL_BIN) ./files/pptp.sh $(1)/lib/netifd/proto/
endef
$(eval $(call BuildPackage,pptp))

View File

@ -1,7 +0,0 @@
lock
noauth
nobsdcomp
nodeflate
idle 0
mppe required,no40,no56,stateless
maxfail 0

View File

@ -1,55 +0,0 @@
#!/bin/sh
. /lib/functions.sh
. ../netifd-proto.sh
init_proto "$@"
INCLUDE_ONLY=1
. ./ppp.sh
proto_pptp_init_config() {
ppp_generic_init_config
proto_config_add_string "server"
proto_config_add_boolean "buffering"
available=1
no_device=1
}
proto_pptp_setup() {
local config="$1"
local iface="$2"
local load
json_get_vars server buffering
serv_addr=
for ip in $(resolveip -t 5 "$server"); do
( proto_add_host_dependency "$config" "$server" )
serv_addr=1
done
[ -n "$serv_addr" ] || {
echo "Could not resolve server address"
sleep 5
proto_setup_failed "$config"
exit 1
}
[ "${buffering:-1}" == 0 ] && buffering="--nobuffer" || buffering=
for module in slhc ppp_generic ppp_async ip_gre; do
grep -q "$module" /proc/modules && continue
/sbin/insmod $module 2>&- >&-
load=1
done
[ "$load" = "1" ] && sleep 1
ppp_generic_setup "$config" \
pty "/usr/sbin/pptp $server --loglevel 0 --nolaunchpppd $buffering" \
file /etc/ppp/options.pptp
}
proto_pptp_teardown() {
ppp_generic_teardown "$@"
}
add_protocol pptp

View File

@ -1,74 +0,0 @@
--- a/pptp.c
+++ b/pptp.c
@@ -60,6 +60,7 @@
int syncppp = 0;
int log_level = 1;
int disable_buffer = 0;
+pid_t callmgr_pid = 0;
struct in_addr get_ip_address(char *name);
int open_callmgr(struct in_addr inetaddr, char *phonenr, int argc,char **argv,char **envp, int pty_fd, int gre_fd);
@@ -115,6 +116,8 @@ sigjmp_buf env;
/*** signal handler ***********************************************************/
void sighandler(int sig)
{
+ fprintf(stderr, "Got signal, pid=%d\n", callmgr_pid);
+ fflush(stderr);
siglongjmp(env, 1);
}
@@ -330,6 +333,14 @@ int main(int argc, char **argv, char **e
parent_pid = 0; /* don't kill pppd */
}
+ if (sigsetjmp(env, 1)!= 0) goto shutdown;
+
+ signal(SIGINT, sighandler);
+ signal(SIGTERM, sighandler);
+ signal(SIGKILL, sighandler);
+ signal(SIGCHLD, sighandler);
+ signal(SIGUSR1, sigstats);
+
do {
/*
* Open connection to call manager (Launch call manager if necessary.)
@@ -360,13 +371,6 @@ int main(int argc, char **argv, char **e
if (rc != 0) perror("prctl");
#endif
inststr(argc, argv, envp, buf);
- if (sigsetjmp(env, 1)!= 0) goto shutdown;
-
- signal(SIGINT, sighandler);
- signal(SIGTERM, sighandler);
- signal(SIGKILL, sighandler);
- signal(SIGCHLD, sighandler);
- signal(SIGUSR1, sigstats);
/* Do GRE copy until close. */
pptp_gre_copy(call_id, peer_call_id, pty_fd, gre_fd);
@@ -375,6 +379,8 @@ shutdown:
/* on close, kill all. */
if(launchpppd)
kill(parent_pid, SIGTERM);
+ if (callmgr_pid)
+ kill(callmgr_pid, SIGTERM);
close(pty_fd);
close(callmgr_sock);
exit(0);
@@ -407,7 +413,7 @@ int open_callmgr(struct in_addr inetaddr
struct sockaddr_un where;
const int NUM_TRIES = 3;
int i, fd;
- pid_t pid;
+ pid_t pid = 0;
int status;
/* Open socket */
if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) {
@@ -434,6 +440,7 @@ int open_callmgr(struct in_addr inetaddr
launch_callmgr(inetaddr, phonenr, argc, argv, envp);
}
default: /* parent */
+ callmgr_pid = pid;
waitpid(pid, &status, 0);
if (status!= 0)
fatal("Call manager exited with error %d", status);