X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?a=blobdiff_plain;ds=sidebyside;f=ipif%2Fudptunnel-reconf.pl;h=6b77f97b7369a327f935ed8fbf7746234eb154c4;hb=70b9d2e0dbecb8fe1e2045a1752465cd35885bb0;hp=ea4c86f0d337f80ce7d29921bb90eeee9f1473be;hpb=1c18e501b40154a3caeda9f0c8962ffe708bf1b2;p=userv-utils.git diff --git a/ipif/udptunnel-reconf.pl b/ipif/udptunnel-reconf.pl index ea4c86f..6b77f97 100755 --- a/ipif/udptunnel-reconf.pl +++ b/ipif/udptunnel-reconf.pl @@ -3,6 +3,9 @@ # Set up the relevant stuff in /etc/userv/vpn, and then run # this. It should tell you what to do to inittab and ipif-networks. +# Copyright (C) 1999-2000,2003 Ian Jackson +# This file is part of ipif, part of userv-utils +# # This is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or @@ -55,7 +58,7 @@ sub run_m4 ($$$) { undef $/; $m4out= ; $/= "\n"; - close X; $? and exit -1; + $!=0; close X; $? and die "m4 failed with code $? $!"; $m4out =~ s/^\s+//; $m4out =~ s/\n+/\n/g; $m4out =~ s/\s+$//; @@ -163,16 +166,21 @@ $ipifnetsfile= var_global(ipifnetsfile); write_file($ipifnetsfile,'ipifnetsfile','', $ipif_file); $active_file= ''; +$knownhosts_file= ''; $inittab= ''; $ix= 0; foreach $site (@actives) { $active_file.= "$site\t".var_site('activesxinfo')."\n"; $inittab.= sprintf("t%d", $ix++).':'.var_site('inittab_line')."\n"; + $hostkey= var_site('rhostkey'); + $knownhosts_file.= var_site('sshdest').' '.$hostkey."\n" + if length $hostkey; $invoke_file= var_site('invoke_file'); write_file($invoke_file, 'invoke_file', - var_site('invoke_head'), var_site('invoke_body')); + var_site('invoke_head')."\n", var_site('invoke_body')); chmod 0777&~umask, $invoke_file or die $!; } +write_file(var_global('knownhostsfile'),'knownhostsfile', '',$knownhosts_file); write_file(var_global('activesfile'),'activesfile', '',$active_file); print