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 {
$port = $ARGV[1];
shift @ARGV;
}
+ elsif($ARGV[0] eq "--addr") {
+ $listenaddr = $ARGV[1];
+ shift @ARGV;
+ }
} while(shift @ARGV);
sub catch_zap {
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";
}
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;
$username=$ARGV[1];
shift @ARGV;
}
+ elsif($ARGV[0] eq "-l") {
+ $listenaddr=$ARGV[1];
+ shift @ARGV;
+ }
elsif($ARGV[0] =~ /^(\d+)$/) {
$port = $1;
}
HostKey $path/curl_host_dsa_key
PidFile $path/.ssh.pid
Port $port
-ListenAddress localhost
+ListenAddress $listenaddr
Protocol 2
AllowTcpForwarding yes
GatewayPorts no
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";