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. ---"