Allow setting the IP address on which to listen for connections.
authorDan Fandrich <dan@coneharvesters.com>
Mon, 17 Sep 2007 21:39:34 +0000 (21:39 +0000)
committerDan Fandrich <dan@coneharvesters.com>
Mon, 17 Sep 2007 21:39:34 +0000 (21:39 +0000)
tests/ftpserver.pl
tests/sshserver.pl

index a5b474f..c5268ca 100644 (file)
@@ -82,6 +82,7 @@ my $ipv6;
 my $ext; # append to log/pid file names
 my $grok_eprt;
 my $port = 8921; # just a default
+my $listenaddr = "127.0.0.1"; # just a default
 my $pidfile = ".ftpd.pid"; # a default, use --pidfile
 
 do {
@@ -109,6 +110,10 @@ do {
         $port = $ARGV[1];
         shift @ARGV;
     }
+    elsif($ARGV[0] eq "--addr") {
+        $listenaddr = $ARGV[1];
+        shift @ARGV;
+    }
 } while(shift @ARGV);
 
 sub catch_zap {
@@ -569,7 +574,8 @@ sub PASV_command {
 
     if($cmd ne "EPSV") {
         # PASV reply
-        my $p="127,0,0,1";
+        my $p=$listenaddr;
+        $p =~ s/\./,/g;
         if($pasvbadip) {
             $p="1,2,3,4";
         }
index d6802ea..bdff5a9 100644 (file)
@@ -15,6 +15,7 @@ use File::Spec;
 my $verbose=0; # set to 1 for debugging
 
 my $port = 8999;        # just our default, weird enough
+my $listenaddr = "127.0.0.1"; # address on which to listen
 
 my $path = `pwd`;
 chomp $path;
@@ -51,6 +52,10 @@ do {
         $username=$ARGV[1];
         shift @ARGV;
     }
+    elsif($ARGV[0] eq "-l") {
+        $listenaddr=$ARGV[1];
+        shift @ARGV;
+    }
     elsif($ARGV[0] =~ /^(\d+)$/) {
         $port = $1;
     }
@@ -160,7 +165,7 @@ AuthorizedKeysFile $path/curl_client_key.pub
 HostKey $path/curl_host_dsa_key
 PidFile $path/.ssh.pid
 Port $port
-ListenAddress localhost
+ListenAddress $listenaddr
 Protocol 2
 AllowTcpForwarding yes
 GatewayPorts no
@@ -210,7 +215,7 @@ my @dsahostkey = do { local $/ = ' '; <DSAKEYFILE> };
 close DSAKEYFILE || die "Could not close DSAKEYFILE";
 
 open(KNOWNHOSTS, ">$knownhostsfile") || die "Could not write $knownhostsfile";
-print KNOWNHOSTS "[127.0.0.1]:$port ssh-dss $dsahostkey[1]\n" || die 'Could not write to KNOWNHOSTS';
+print KNOWNHOSTS "[$listenaddr]:$port ssh-dss $dsahostkey[1]\n" || die 'Could not write to KNOWNHOSTS';
 close KNOWNHOSTS || die "Could not close KNOWNHOSTS";
 
 open(SSHFILE, ">$conffile_ssh") || die "Could not write $conffile_ssh";