diff -Nur tspc2/conf/Makefile tspc2.owrt/conf/Makefile
--- tspc2/conf/Makefile	2004-03-29 17:37:56.000000000 +0200
+++ tspc2.owrt/conf/Makefile	2007-02-19 16:07:05.000000000 +0100
@@ -42,7 +42,7 @@
 	 sed -e "s+@ifname_tun@+$(ifname_tun)+" -e "s+@ifname@+$(ifname)+" -e "s+@target@+$(target)+" -e "s+@tsp_dir@+$(configdir)+" tspc.conf.in >$(BIN)/tspc.conf.sample; \
 	fi
 
-	chmod 700 $(BIN)/tspc.conf.sample
+	chmod 600 $(BIN)/tspc.conf.sample
 	
 
 clean:
diff -Nur tspc2/conf/tspc.conf.in tspc2.owrt/conf/tspc.conf.in
--- tspc2/conf/tspc.conf.in	2004-06-15 17:01:01.000000000 +0200
+++ tspc2.owrt/conf/tspc.conf.in	2007-02-19 16:07:05.000000000 +0100
@@ -18,13 +18,6 @@
 # to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, 
 # MA 02111-1307 USA
 #------------------------------------------------------------------------------
-#
-#
-# tsp directory:
-#  the only use is for the OS scripts which will be taken 
-#  from $tsp_dir/template
-#
-tsp_dir=@tsp_dir@
 
 #
 # authentication method:
@@ -66,28 +59,19 @@
 
 #
 # Name of the script:
-# template=checktunnel|freebsd|netbsd|linux|windows|darwin|cisco|
-#   solaris|openbsd
+# template=checktunnel|setup
 #
 # the value is the file name of the script in the tsp_dir/template directory
 # The script will be executed after the TSP session is completed. The script
 #  is configuring the tunnel interface and routes.
 # checktunnel is only printing information and does not configure any tunnel
-# freebsd is for FreeBSD 4.X and above
-# netbsd is for NetBSD 1.6 and above
-# linux is for Linux (most distributions)
-# windows is for WindowsXP
-# darwin is for MacOS X 10.2 and above
-# cisco is for Cisco IOS. This script prints the cisco configuration while
-#  not configuring the cisco itself.
-# solaris is for Solaris 8 and above.
-# openbsd is for OpenBSD 3.X and above
+# setup will do the actual work
 # you could customize your own script, name it and put the filename in 
 #  the template variable.
 # on unix, '.sh' is added to the name of the script. 
 # on windows, '.bat' is added to the name of the script.
 # 
-template=@target@
+template=setup
 
 #
 # 'server' is the tunnel broker identifier
diff -Nur tspc2/platform/linux/tsp_local.c tspc2.owrt/platform/linux/tsp_local.c
--- tspc2/platform/linux/tsp_local.c	2004-07-07 21:25:47.000000000 +0200
+++ tspc2.owrt/platform/linux/tsp_local.c	2007-02-19 16:07:18.000000000 +0100
@@ -59,13 +59,13 @@
 
 /* these globals are defined by US used by alot of things in  */
 
-char *FileName  = "tspc.conf";
-char *LogFile   = "tspc.log";
+char *FileName  = "/etc/tsp/tspc.conf";
+char *LogFile   = "/var/log/tspc.log";
 char *LogFileName = NULL;
-char *ScriptInterpretor = "/bin/sh";
+char *ScriptInterpretor = "";
 char *ScriptExtension = "sh";
 char *ScriptDir = NULL;
-char *TspHomeDir = "/usr/local/etc/tsp";
+char *TspHomeDir = "/etc/tsp";
 char DirSeparator = '/';
 
 int Verbose = 0;
@@ -143,7 +143,7 @@
 	{
 		  int tunfd;
 
-		  Display(0, ELInfo, "tspStartLocal", "Going daemon, check %s for tunnel creation status", LogFile);
+		  Display(1, ELInfo, "tspStartLocal", "Going daemon, check %s for tunnel creation status", LogFile);
 
 		  if (daemon(0,0) == -1) {
 			  Display(1, ELError, "tspStartLocal", "Unable to fork.");
diff -Nur tspc2/src/lib/config.c tspc2.owrt/src/lib/config.c
--- tspc2/src/lib/config.c	2004-06-29 17:06:13.000000000 +0200
+++ tspc2.owrt/src/lib/config.c	2007-02-19 16:07:11.000000000 +0100
@@ -474,14 +474,17 @@
   if(IsPresent(Conf->dns_server)) {
      char *Server;
      char *dns = strdup(Conf->dns_server);
+     struct addrinfo *contact;
      if (eq(Conf->host_type, "host")) {
        Display(1,ELError, "tspVerifyConfig", "DNS delegation is not supported for host_type=host");
        status = 1;
      }
      for(Server = strtok(dns, ":");Server; Server = strtok(NULL, ":")) {
-        if(gethostbyname(Server) == NULL) {
+        if(getaddrinfo(Server, "domain", 0, &contact)!=0) {
            Display(1,ELError, "tspVerifyConfig", "DNS server name %s is not resolving.", Server);
            status = 1;
+        } else {
+           freeaddrinfo(contact);
         }
      }
      free(dns);
diff -Nur tspc2/src/tsp/tsp_client.c tspc2.owrt/src/tsp/tsp_client.c
--- tspc2/src/tsp/tsp_client.c	2004-04-20 17:10:58.000000000 +0200
+++ tspc2.owrt/src/tsp/tsp_client.c	2007-02-19 16:07:18.000000000 +0100
@@ -275,7 +275,7 @@
 
 start_show:
 
-	Display(0, ELInfo, "tspSetupTunnel", "Got tunnel parameters from server, setting up local tunnel");
+	Display(1, ELInfo, "tspSetupTunnel", "Got tunnel parameters from server, setting up local tunnel");
 
 	/* and start the show */
 	ret = tspStartLocal(socket, conf, &t, nt[conf->transport]);
@@ -337,8 +337,8 @@
 	LogInit("tspc", LogFile);
 
 	Display( 1, ELInfo, "tspMain", "----- TSP Client Version %s Initializing -------------------------", TSP_CLIENT_VERSION);
-	Display( 0, ELInfo, "tspMain", IDENTIFICATION);
-	Display( 0, ELInfo, "tspMain", "Initializing (use -h for help)\n");
+	Display( 1, ELInfo, "tspMain", IDENTIFICATION);
+	Display( 1, ELInfo, "tspMain", "Initializing (use -h for help)\n");
 
 	if((status = tspInitialize(argc, argv, &c)) != 0) {	// *** we have no uninitialize
 		if (status == -1) {
@@ -361,12 +361,12 @@
 
 	/* first try with RUDP */
 	c.transport = NET_TOOLS_T_RUDP;
-	Display( 0, ELInfo, "tspMain", "\nConnecting to server with reliable udp");
+	Display( 1, ELInfo, "tspMain", "\nConnecting to server with reliable udp");
 
 try_server:
 
 	if (c.transport == NET_TOOLS_T_TCP)
-		Display( 0, ELInfo, "tspMain", "\nConnecting to server with tcp");
+		Display( 1, ELInfo, "tspMain", "\nConnecting to server with tcp");
 
 	Display( 1, ELInfo, "tspMain", "Using TSP protocol version %s",
 		TspProtocolVersionStrings[version_index]); 
diff -Nur tspc2/template/linux.sh tspc2.owrt/template/linux.sh
--- tspc2/template/linux.sh	2004-06-23 23:29:20.000000000 +0200
+++ tspc2.owrt/template/linux.sh	2007-02-19 16:08:39.000000000 +0100
@@ -135,9 +135,7 @@
    # 
    # Default route  
    Display 1 "Adding default route"
-   ExecNoCheck $route -A inet6 del ::/0 2>/dev/null # delete old default route
    ExecNoCheck $route -A inet6 del 2000::/3 2>/dev/null  # delete old gw route
-   Exec $route -A inet6 add ::/0 dev $TSP_TUNNEL_INTERFACE
    Exec $route -A inet6 add 2000::/3 dev $TSP_TUNNEL_INTERFACE
 fi
 
@@ -147,9 +145,10 @@
    Display 1 "Kernel setup"
    if [ X"${TSP_PREFIXLEN}" != X"64" ]; then
       #Better way on linux to avoid loop with the remaining /48?
-      $route -A inet6 add $TSP_PREFIX::/$TSP_PREFIXLEN dev $TSP_HOME_INTERFACE 2>/dev/null
+      ExecNoCheck $route -A inet6 del $TSP_PREFIX::/$TSP_PREFIXLEN dev $TSP_HOME_INTERFACE 2>/dev/null
+      Exec $route -A inet6 add $TSP_PREFIX::/$TSP_PREFIXLEN dev $TSP_HOME_INTERFACE
    fi
-   Exec $sysctl -w net.ipv6.conf.all.forwarding=1 # ipv6_forwarding enabled
+   Exec $sysctl -q -w net.ipv6.conf.all.forwarding=1 # ipv6_forwarding enabled
    Display 1 "Adding prefix to $TSP_HOME_INTERFACE"
    OLDADDR=`$ifconfig $TSP_HOME_INTERFACE | grep "inet6.* $PREF" | sed -e "s/^.*inet6 addr: //" -e "s/ Scope.*\$//"`
    if [ ! -z $OLDADDR ]; then
@@ -157,28 +156,28 @@
       Exec $ifconfig $TSP_HOME_INTERFACE inet6 del $OLDADDR
    fi
    Exec $ifconfig $TSP_HOME_INTERFACE add $TSP_PREFIX::1/64
-   # Router advertisement configuration 
-   Display 1 "Create new $rtadvdconfigfile"
-   echo "##### rtadvd.conf made by TSP ####" > "$rtadvdconfigfile"
-   echo "interface $TSP_HOME_INTERFACE" >> "$rtadvdconfigfile"
-   echo "{" >> "$rtadvdconfigfile"
-   echo " AdvSendAdvert on;" >> "$rtadvdconfigfile"
-   echo " prefix $TSP_PREFIX::/64" >> "$rtadvdconfigfile"
-   echo " {" >> "$rtadvdconfigfile"
-   echo " AdvOnLink on;" >> "$rtadvdconfigfile"
-   echo " AdvAutonomous on;" >> "$rtadvdconfigfile"
-   echo " };" >> "$rtadvdconfigfile"
-   echo "};" >> "$rtadvdconfigfile"
-   echo "" >> "$rtadvdconfigfile"
-   /etc/init.d/radvd stop
-   if [ -f $rtadvdconfigfile ]; then
-      KillProcess $rtadvdconfigfile
-      Exec $rtadvd -u radvd -C $rtadvdconfigfile
-      Display 1 "Starting radvd: $rtadvd -u radvd -C $rtadvdconfigfile"
-   else
-      echo "Error : file $rtadvdconfigfile not found"
-      exit 1
-   fi
+#   # Router advertisement configuration 
+#   Display 1 "Create new $rtadvdconfigfile"
+#   echo "##### rtadvd.conf made by TSP ####" > "$rtadvdconfigfile"
+#   echo "interface $TSP_HOME_INTERFACE" >> "$rtadvdconfigfile"
+#   echo "{" >> "$rtadvdconfigfile"
+#   echo " AdvSendAdvert on;" >> "$rtadvdconfigfile"
+#   echo " prefix $TSP_PREFIX::/64" >> "$rtadvdconfigfile"
+#   echo " {" >> "$rtadvdconfigfile"
+#   echo " AdvOnLink on;" >> "$rtadvdconfigfile"
+#   echo " AdvAutonomous on;" >> "$rtadvdconfigfile"
+#   echo " };" >> "$rtadvdconfigfile"
+#   echo "};" >> "$rtadvdconfigfile"
+#   echo "" >> "$rtadvdconfigfile"
+#   /etc/init.d/radvd stop
+#   if [ -f $rtadvdconfigfile ]; then
+#      KillProcess $rtadvdconfigfile
+#      Exec $rtadvd -u radvd -C $rtadvdconfigfile
+#      Display 1 "Starting radvd: $rtadvd -u radvd -C $rtadvdconfigfile"
+#   else
+#      echo "Error : file $rtadvdconfigfile not found"
+#      exit 1
+#   fi
 fi
 
 Display 1 "--- End of configuration script. ---"
