[package] drop userspace pptp - it is defunct, slow and badly integrated
[openwrt/svn-archive/archive.git] / package / pptp / patches / 100-signal_cleanup.patch
diff --git a/package/pptp/patches/100-signal_cleanup.patch b/package/pptp/patches/100-signal_cleanup.patch
deleted file mode 100644 (file)
index cb3a94f..0000000
+++ /dev/null
@@ -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);