Package: pptp-linux
Version: 1.7.2-4-alex01
Severity: wishlist

Hi

when pptp-linux starts up it adds a host route to the default routing table
I don't want this it interfers with my secure vpn client.

I have attached a path that make pptp look at the envoronment for 
pptp_nohostroute - it will not add any host route at all
pptp_hostroute_tab - if it is going to add a host route add it to table x
   x is the value of pptp_hostroute_tab

I have test on my system and it work, don't see any reason why it would
have a problem any where else




-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing'), (500, 'stable'), (100, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_AU.UTF8, LC_CTYPE=en_AU.UTF8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages pptp-linux depends on:
ii  libc6                      2.10.2-6      Embedded GNU C Library: Shared lib
ii  ppp                        2.4.4rel-10.1 Point-to-Point Protocol (PPP) - da

pptp-linux recommends no packages.

pptp-linux suggests no packages.

-- no debconf information
diff -Nru pptp-linux-1.7.2/debian/changelog pptp-linux-1.7.2-alex01/debian/changelog
--- pptp-linux-1.7.2/debian/changelog	2010-04-09 23:19:30.000000000 +1000
+++ pptp-linux-1.7.2-alex01/debian/changelog	2010-04-09 23:56:41.771213798 +1000
@@ -1,3 +1,12 @@
+pptp-linux (1.7.2-4-alex01) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * add env var pptp_nohostroute to not allow pptp to add route to houst
+  * add env var pptp_hostroute_tab to tell pptp which route table to add
+    route host in
+
+ -- Alex Samad <a...@samad.com.au>  Fri, 09 Apr 2010 23:55:34 +1000
+
 pptp-linux (1.7.2-4) unstable; urgency=low
 
   * Removed suggest for kernel-patch-mppe as that package has been
diff -Nru pptp-linux-1.7.2/routing.c pptp-linux-1.7.2-alex01/routing.c
--- pptp-linux-1.7.2/routing.c	2008-05-14 16:33:55.000000000 +1000
+++ pptp-linux-1.7.2-alex01/routing.c	2010-04-09 23:55:19.514780291 +1000
@@ -22,6 +22,7 @@
 #include <unistd.h>
 #include <stdio.h>
 #include <string.h>
+#include <stdlib.h>
 #include "routing.h"
 
 /* route to the server */
@@ -51,6 +52,12 @@
 unfortunate.  The flag --remove-host-route is to remove the route
 regardless (not yet implemented).
 
+Checks for environment variables 
+pptp_nohostroute
+	if found then no host route is added to the routing table
+pptp_hostroute_tab
+	if found then value is read and use to add the host route to that
+	table and not the default table
 */
 
 void routing_init(char *ip) {
@@ -66,7 +73,14 @@
 
 void routing_start() {
   char buf[256];
-  snprintf(buf, 255, "/bin/ip route replace %s", route);
+  char * tab;
+  if ( ! getenv ( "pptp_nohostroute") ) {
+	if ( tab = getenv ("pptp_hostroute_tab") ){
+	  snprintf(buf, 255, "/bin/ip route replace tab %s %s", tab, route);
+	} else {
+	  snprintf(buf, 255, "/bin/ip route replace %s", route);
+	}
+  }
   FILE *p = popen(buf, "r");
   pclose(p);
 }

Reply via email to