chiark / gitweb /
reject some of the uxsup changes
[userv-utils.git] / ipif / udptunnel-reconf.pl
index ea4c86f0d337f80ce7d29921bb90eeee9f1473be..e4851a47fdba0c102c3acb45feeda48ff0a6063a 100755 (executable)
@@ -55,7 +55,7 @@ sub run_m4 ($$$) {
     undef $/;
     $m4out= <X>;
     $/= "\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 +163,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