From: Patrick Monnerat Date: Sat, 25 Feb 2023 10:49:31 +0000 (+0100) Subject: runtests: use a hash table for server port numbers X-Git-Tag: curl-8_0_0~142 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8bfa4d66de70c907b74b1b6102561039f04f1368;p=thirdparty%2Fcurl.git runtests: use a hash table for server port numbers Closes #10077 --- diff --git a/tests/runtests.pl b/tests/runtests.pl index 8de211bc5c..6ac1bd7da5 100755 --- a/tests/runtests.pl +++ b/tests/runtests.pl @@ -130,42 +130,7 @@ my $HOST6IP="[::1]"; # address on which the test server listens my $CLIENTIP="127.0.0.1"; # address which curl uses for incoming connections my $CLIENT6IP="[::1]"; # address which curl uses for incoming connections -my $noport="[not running]"; - -my $NOLISTENPORT=47; # port number we use for a local non-listening service -my $MQTTPORT=$noport; # MQTT server port -my $HTTPPORT=$noport; # HTTP server port -my $HTTP6PORT=$noport; # HTTP IPv6 server port -my $HTTPSPORT=$noport; # HTTPS (stunnel) server port -my $HTTPSPROXYPORT = $noport; # HTTPS-proxy (stunnel) port -my $FTPPORT=$noport; # FTP server port -my $FTPSPORT=$noport; # FTPS (stunnel) server port -my $FTP6PORT=$noport; # FTP IPv6 server port -my $TFTPPORT=$noport; # TFTP -my $TFTP6PORT=$noport; # TFTP -my $SSHPORT=$noport; # SCP/SFTP -my $SOCKSPORT=$noport; # SOCKS4/5 port -my $POP3PORT=$noport; # POP3 -my $POP36PORT=$noport; # POP3 IPv6 server port -my $IMAPPORT=$noport; # IMAP -my $IMAP6PORT=$noport; # IMAP IPv6 server port -my $SMTPPORT=$noport; # SMTP -my $SMTP6PORT=$noport; # SMTP IPv6 server port -my $RTSPPORT=$noport; # RTSP -my $RTSP6PORT=$noport; # RTSP IPv6 server port -my $GOPHERPORT=$noport; # Gopher -my $GOPHERSPORT=$noport; # Gophers -my $GOPHER6PORT=$noport; # Gopher IPv6 server port -my $HTTPTLSPORT=$noport; # HTTP TLS (non-stunnel) server port -my $HTTPTLS6PORT=$noport; # HTTP TLS (non-stunnel) IPv6 server port -my $HTTPPROXYPORT=$noport; # HTTP proxy port, when using CONNECT -my $HTTP2PORT=$noport; # HTTP/2 no-tls server port -my $HTTP2TLSPORT=$noport; # HTTP/2 tls server port -my $HTTP3PORT=$noport; # HTTP/3 server port -my $DICTPORT=$noport; # DICT server port -my $SMBPORT=$noport; # SMB server port -my $SMBSPORT=$noport; # SMBS server port -my $TELNETPORT=$noport; # TELNET server port with negotiation +my %PORT = (nolisten => 47); # port we use for a local non-listening service my $HTTPUNIXPATH; # HTTP server Unix domain socket path my $SOCKSUNIXPATH; # socks server Unix domain socket path @@ -830,6 +795,14 @@ sub torture { return 0; } +####################################################################### +# Return the port to use for the given protocol. +# +sub protoport { + my ($proto) = @_; + return $PORT{$proto} || "[not running]"; +} + ####################################################################### # Stop a test server along with pids which aren't in the %run hash yet. # This also stops all servers which are relative to the given one. @@ -1558,7 +1531,7 @@ sub runhttp2server { $flags .= "--nghttpx \"$ENV{'NGHTTPX'}\" "; $flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" "; - $flags .= "--connect $HOSTIP:$HTTPPORT "; + $flags .= "--connect $HOSTIP:" . protoport("http") . " "; $flags .= $verbose_flag if($debugprotocol); my ($http2pid, $pid2); @@ -1584,7 +1557,7 @@ sub runhttp2server { if($verbose) { logmsg "RUN: $srvrname server PID $http2pid ". "http-port $port https-port $port2 ". - "backend $HOSTIP:$HTTPPORT\n"; + "backend $HOSTIP:" . protoport("http") . "\n"; } last; } @@ -1631,7 +1604,7 @@ sub runhttp3server { $flags .= "--nghttpx \"$ENV{'NGHTTPX'}\" "; $flags .= "--pidfile \"$pidfile\" --logfile \"$logfile\" "; - $flags .= "--connect $HOSTIP:$HTTPPORT "; + $flags .= "--connect $HOSTIP:" . protoport("http") . " "; $flags .= "--cert \"$cert\" " if($cert); $flags .= $verbose_flag if($debugprotocol); @@ -1815,14 +1788,14 @@ sub runhttpsserver { $flags .= "--certfile \"$certfile\" " if($certfile ne 'stunnel.pem'); $flags .= "--stunnel \"$stunnel\" --srcdir \"$srcdir\" "; if($proto eq "gophers") { - $flags .= "--connect $GOPHERPORT"; + $flags .= "--connect " . protoport("gopher"); } elsif(!$proxy) { - $flags .= "--connect $HTTPPORT"; + $flags .= "--connect " . protoport("http"); } else { # for HTTPS-proxy we connect to the HTTP proxy - $flags .= "--connect $HTTPPROXYPORT"; + $flags .= "--connect " . protoport("httpproxy"); } my $pid2; @@ -2001,38 +1974,8 @@ sub runpingpongserver { logmsg "RUN: $srvrname server is PID $ftppid port $port\n" if($verbose); # Assign the correct port variable! - if($proto eq "ftp") { - if($ipvnum == 6) { - # if IPv6, use a different setup - $FTP6PORT = $port; - } - else { - $FTPPORT = $port; - } - } - elsif($proto eq "pop3") { - if($ipvnum == 6) { - $POP36PORT = $port; - } - else { - $POP3PORT = $port; - } - } - elsif($proto eq "imap") { - if($ipvnum == 6) { - $IMAP6PORT = $port; - } - else { - $IMAPPORT = $port; - } - } - elsif($proto eq "smtp") { - if($ipvnum == 6) { - $SMTP6PORT = $port; - } - else { - $SMTPPORT = $port; - } + if($proto =~ /^(?:ftp|imap|pop3|smtp)$/) { + $PORT{$proto . ($ipvnum == 6? '6': '')} = $port; } else { print STDERR "Unsupported protocol $proto!!\n"; @@ -2088,7 +2031,7 @@ sub runftpsserver { $flags .= "--ipv$ipvnum --proto $proto "; $flags .= "--certfile \"$certfile\" " if($certfile ne 'stunnel.pem'); $flags .= "--stunnel \"$stunnel\" --srcdir \"$srcdir\" "; - $flags .= "--connect $FTPPORT"; + $flags .= "--connect " . $PORT{"ftp"}; my $ftpspid; my $pid2; @@ -2435,8 +2378,8 @@ sub runsshserver { sub runmqttserver { my ($id, $verbose, $ipv6) = @_; my $ip=$HOSTIP; - my $port = $MQTTPORT; my $proto = 'mqtt'; + my $port = protoport($proto); my $ipvnum = 4; my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1; my $server; @@ -2481,10 +2424,11 @@ sub runmqttserver { return (0,0); } - $MQTTPORT = pidfromfile($portfile); + my $mqttport = pidfromfile($portfile); + $PORT{"mqtt"} = $mqttport; if($verbose) { - logmsg "RUN: $srvrname server is now running PID $pid2 on PORT $MQTTPORT\n"; + logmsg "RUN: $srvrname server is now running PID $pid2 on PORT $mqttport\n"; } return ($pid2, $sockspid); @@ -2812,23 +2756,10 @@ sub responsive_pingpong_server { my $ip = ($ipv6 && ($ipv6 =~ /6$/)) ? "$HOST6IP" : "$HOSTIP"; my $ipvnum = ($ipv6 && ($ipv6 =~ /6$/)) ? 6 : 4; my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1; + my $protoip = $proto . ($ipvnum == 6? '6': ''); - if($proto eq "ftp") { - $port = $FTPPORT; - - if($ipvnum==6) { - # if IPv6, use a different setup - $port = $FTP6PORT; - } - } - elsif($proto eq "pop3") { - $port = ($ipvnum==6) ? $POP36PORT : $POP3PORT; - } - elsif($proto eq "imap") { - $port = ($ipvnum==6) ? $IMAP6PORT : $IMAPPORT; - } - elsif($proto eq "smtp") { - $port = ($ipvnum==6) ? $SMTP6PORT : $SMTPPORT; + if($proto =~ /^(?:ftp|imap|pop3|smtp)$/) { + $port = protoport($protoip); } else { print STDERR "Unsupported protocol $proto!!\n"; @@ -2844,16 +2775,16 @@ sub responsive_pingpong_server { # sub responsive_rtsp_server { my ($verbose, $ipv6) = @_; - my $port = $RTSPPORT; - my $ip = $HOSTIP; my $proto = 'rtsp'; + my $port = protoport($proto); + my $ip = $HOSTIP; my $ipvnum = 4; my $idnum = 1; if($ipv6) { # if IPv6, use a different setup $ipvnum = 6; - $port = $RTSP6PORT; + $port = protoport('rtsp6'); $ip = $HOST6IP; } @@ -2866,16 +2797,16 @@ sub responsive_rtsp_server { # sub responsive_tftp_server { my ($id, $verbose, $ipv6) = @_; - my $port = $TFTPPORT; - my $ip = $HOSTIP; my $proto = 'tftp'; + my $port = protoport($proto); + my $ip = $HOSTIP; my $ipvnum = 4; my $idnum = ($id && ($id =~ /^(\d+)$/) && ($id > 1)) ? $id : 1; if($ipv6) { # if IPv6, use a different setup $ipvnum = 6; - $port = $TFTP6PORT; + $port = protoport('tftp6'); $ip = $HOST6IP; } @@ -2889,12 +2820,17 @@ sub responsive_tftp_server { # sub responsive_httptls_server { my ($verbose, $ipv6) = @_; - my $proto = "httptls"; - my $port = ($ipv6 && ($ipv6 =~ /6$/)) ? $HTTPTLS6PORT : $HTTPTLSPORT; - my $ip = ($ipv6 && ($ipv6 =~ /6$/)) ? "$HOST6IP" : "$HOSTIP"; my $ipvnum = ($ipv6 && ($ipv6 =~ /6$/)) ? 6 : 4; + my $proto = "httptls"; + my $port = protoport($proto); + my $ip = "$HOSTIP"; my $idnum = 1; + if ($ipvnum == 6) { + $port = protoport("httptls6"); + $ip = "$HOST6IP"; + } + return &responsiveserver($proto, $ipvnum, $idnum, $ip, $port); } @@ -3496,46 +3432,37 @@ sub checksystem { # sub subVariables { my ($thing, $testnum, $prefix) = @_; + my $port; if(!$prefix) { $prefix = "%"; } # test server ports - $$thing =~ s/${prefix}FTP6PORT/$FTP6PORT/g; - $$thing =~ s/${prefix}FTPSPORT/$FTPSPORT/g; - $$thing =~ s/${prefix}FTPPORT/$FTPPORT/g; - $$thing =~ s/${prefix}GOPHER6PORT/$GOPHER6PORT/g; - $$thing =~ s/${prefix}GOPHERPORT/$GOPHERPORT/g; - $$thing =~ s/${prefix}GOPHERSPORT/$GOPHERSPORT/g; - $$thing =~ s/${prefix}HTTPTLS6PORT/$HTTPTLS6PORT/g; - $$thing =~ s/${prefix}HTTPTLSPORT/$HTTPTLSPORT/g; - $$thing =~ s/${prefix}HTTP6PORT/$HTTP6PORT/g; - $$thing =~ s/${prefix}HTTPSPORT/$HTTPSPORT/g; - $$thing =~ s/${prefix}HTTPSPROXYPORT/$HTTPSPROXYPORT/g; - $$thing =~ s/${prefix}HTTP2PORT/$HTTP2PORT/g; - $$thing =~ s/${prefix}HTTP2TLSPORT/$HTTP2TLSPORT/g; - $$thing =~ s/${prefix}HTTP3PORT/$HTTP3PORT/g; - $$thing =~ s/${prefix}HTTPPORT/$HTTPPORT/g; - $$thing =~ s/${prefix}PROXYPORT/$HTTPPROXYPORT/g; - $$thing =~ s/${prefix}MQTTPORT/$MQTTPORT/g; - $$thing =~ s/${prefix}IMAP6PORT/$IMAP6PORT/g; - $$thing =~ s/${prefix}IMAPPORT/$IMAPPORT/g; - $$thing =~ s/${prefix}POP36PORT/$POP36PORT/g; - $$thing =~ s/${prefix}POP3PORT/$POP3PORT/g; - $$thing =~ s/${prefix}RTSP6PORT/$RTSP6PORT/g; - $$thing =~ s/${prefix}RTSPPORT/$RTSPPORT/g; - $$thing =~ s/${prefix}SMTP6PORT/$SMTP6PORT/g; - $$thing =~ s/${prefix}SMTPPORT/$SMTPPORT/g; - $$thing =~ s/${prefix}SOCKSPORT/$SOCKSPORT/g; - $$thing =~ s/${prefix}SSHPORT/$SSHPORT/g; - $$thing =~ s/${prefix}TFTP6PORT/$TFTP6PORT/g; - $$thing =~ s/${prefix}TFTPPORT/$TFTPPORT/g; - $$thing =~ s/${prefix}DICTPORT/$DICTPORT/g; - $$thing =~ s/${prefix}SMBPORT/$SMBPORT/g; - $$thing =~ s/${prefix}SMBSPORT/$SMBSPORT/g; - $$thing =~ s/${prefix}TELNETPORT/$TELNETPORT/g; - $$thing =~ s/${prefix}NOLISTENPORT/$NOLISTENPORT/g; + foreach my $proto ('DICT', + 'FTP', 'FTP6', 'FTPS', + 'GOPHER', 'GOPHER6', 'GOPHERS', + 'HTTP', 'HTTP6', 'HTTPS', + 'HTTPSPROXY', 'HTTPTLS', 'HTTPTLS6', + 'HTTP2', 'HTTP2TLS', + 'HTTP3', + 'IMAP', 'IMAP6', 'IMAPS', + 'MQTT', + 'NOLISTEN', + 'POP3', 'POP36', 'POP3S', + 'RTSP', 'RTSP6', + 'SMB', 'SMBS', + 'SMTP', 'SMTP6', 'SMTPS', + 'SOCKS', + 'SSH', + 'TELNET', + 'TFTP', 'TFTP6') { + $port = protoport(lc $proto); + $$thing =~ s/${prefix}(?:$proto)PORT/$port/g; + } + # Special case: for PROXYPORT substitution, use httpproxy. + $port = protoport('httpproxy'); + $$thing =~ s/${prefix}PROXYPORT/$port/g; # server Unix domain socket paths $$thing =~ s/${prefix}HTTPUNIXPATH/$HTTPUNIXPATH/g; @@ -5087,13 +5014,14 @@ sub startservers { } elsif($what eq "gopher") { if($torture && $run{'gopher'} && - !responsive_http_server("gopher", $verbose, 0, $GOPHERPORT)) { + !responsive_http_server("gopher", $verbose, 0, + protoport("gopher"))) { if(stopserver('gopher')) { return "failed stopping unresponsive GOPHER server"; } } if(!$run{'gopher'}) { - ($pid, $pid2, $GOPHERPORT) = + ($pid, $pid2, $PORT{'gopher'}) = runhttpserver("gopher", $verbose, 0); if($pid <= 0) { return "failed starting GOPHER server"; @@ -5106,13 +5034,13 @@ sub startservers { elsif($what eq "gopher-ipv6") { if($torture && $run{'gopher-ipv6'} && !responsive_http_server("gopher", $verbose, "ipv6", - $GOPHER6PORT)) { + protoport("gopher"))) { if(stopserver('gopher-ipv6')) { return "failed stopping unresponsive GOPHER-IPv6 server"; } } if(!$run{'gopher-ipv6'}) { - ($pid, $pid2, $GOPHER6PORT) = + ($pid, $pid2, $PORT{"gopher6"}) = runhttpserver("gopher", $verbose, "ipv6"); if($pid <= 0) { return "failed starting GOPHER-IPv6 server"; @@ -5124,7 +5052,7 @@ sub startservers { } elsif($what eq "http/3") { if(!$run{'http/3'}) { - ($pid, $pid2, $HTTP3PORT) = runhttp3server($verbose); + ($pid, $pid2, $PORT{"http3"}) = runhttp3server($verbose); if($pid <= 0) { return "failed starting HTTP/3 server"; } @@ -5135,7 +5063,7 @@ sub startservers { } elsif($what eq "http/2") { if(!$run{'http/2'}) { - ($pid, $pid2, $HTTP2PORT, $HTTP2TLSPORT) = + ($pid, $pid2, $PORT{"http2"}, $PORT{"http2tls"}) = runhttp2server($verbose); if($pid <= 0) { return "failed starting HTTP/2 server"; @@ -5147,13 +5075,13 @@ sub startservers { } elsif($what eq "http") { if($torture && $run{'http'} && - !responsive_http_server("http", $verbose, 0, $HTTPPORT)) { + !responsive_http_server("http", $verbose, 0, protoport('http'))) { if(stopserver('http')) { return "failed stopping unresponsive HTTP server"; } } if(!$run{'http'}) { - ($pid, $pid2, $HTTPPORT) = + ($pid, $pid2, $PORT{'http'}) = runhttpserver("http", $verbose, 0); if($pid <= 0) { return "failed starting HTTP server"; @@ -5166,13 +5094,13 @@ sub startservers { elsif($what eq "http-proxy") { if($torture && $run{'http-proxy'} && !responsive_http_server("http", $verbose, "proxy", - $HTTPPROXYPORT)) { + protoport("httpproxy"))) { if(stopserver('http-proxy')) { return "failed stopping unresponsive HTTP-proxy server"; } } if(!$run{'http-proxy'}) { - ($pid, $pid2, $HTTPPROXYPORT) = + ($pid, $pid2, $PORT{"httpproxy"}) = runhttpserver("http", $verbose, "proxy"); if($pid <= 0) { return "failed starting HTTP-proxy server"; @@ -5184,13 +5112,14 @@ sub startservers { } elsif($what eq "http-ipv6") { if($torture && $run{'http-ipv6'} && - !responsive_http_server("http", $verbose, "ipv6", $HTTP6PORT)) { + !responsive_http_server("http", $verbose, "ipv6", + protoport("http6"))) { if(stopserver('http-ipv6')) { return "failed stopping unresponsive HTTP-IPv6 server"; } } if(!$run{'http-ipv6'}) { - ($pid, $pid2, $HTTP6PORT) = + ($pid, $pid2, $PORT{"http6"}) = runhttpserver("http", $verbose, "ipv6"); if($pid <= 0) { return "failed starting HTTP-IPv6 server"; @@ -5208,7 +5137,7 @@ sub startservers { } } if(!$run{'rtsp'}) { - ($pid, $pid2, $RTSPPORT) = runrtspserver($verbose); + ($pid, $pid2, $PORT{'rtsp'}) = runrtspserver($verbose); if($pid <= 0) { return "failed starting RTSP server"; } @@ -5224,7 +5153,7 @@ sub startservers { } } if(!$run{'rtsp-ipv6'}) { - ($pid, $pid2, $RTSP6PORT) = runrtspserver($verbose, "ipv6"); + ($pid, $pid2, $PORT{'rtsp6'}) = runrtspserver($verbose, "ipv6"); if($pid <= 0) { return "failed starting RTSP-IPv6 server"; } @@ -5259,7 +5188,7 @@ sub startservers { $run{'ftp'}="$pid $pid2"; } if(!$run{'ftps'}) { - ($pid, $pid2, $FTPSPORT) = + ($pid, $pid2, $PORT{'ftps'}) = runftpsserver($verbose, "", $certfile); if($pid <= 0) { return "failed starting FTPS server (stunnel)"; @@ -5284,13 +5213,14 @@ sub startservers { } } if($torture && $run{'http'} && - !responsive_http_server("http", $verbose, 0, $HTTPPORT)) { + !responsive_http_server("http", $verbose, 0, + protoport('http'))) { if(stopserver('http')) { return "failed stopping unresponsive HTTP server"; } } if(!$run{'http'}) { - ($pid, $pid2, $HTTPPORT) = + ($pid, $pid2, $PORT{'http'}) = runhttpserver("http", $verbose, 0); if($pid <= 0) { return "failed starting HTTP server"; @@ -5299,7 +5229,7 @@ sub startservers { $run{'http'}="$pid $pid2"; } if(!$run{'https'}) { - ($pid, $pid2, $HTTPSPORT) = + ($pid, $pid2, $PORT{'https'}) = runhttpsserver($verbose, "https", "", $certfile); if($pid <= 0) { return "failed starting HTTPS server (stunnel)"; @@ -5321,30 +5251,35 @@ sub startservers { } } if($torture && $run{'gopher'} && - !responsive_http_server("gopher", $verbose, 0, $GOPHERPORT)) { + !responsive_http_server("gopher", $verbose, 0, + protoport('gopher'))) { if(stopserver('gopher')) { return "failed stopping unresponsive GOPHER server"; } } if(!$run{'gopher'}) { - ($pid, $pid2, $GOPHERPORT) = + my $port; + ($pid, $pid2, $port) = runhttpserver("gopher", $verbose, 0); + $PORT{'gopher'} = $port; if($pid <= 0) { return "failed starting GOPHER server"; } printf ("* pid gopher => %d %d\n", $pid, $pid2) if($verbose); - print "GOPHERPORT => $GOPHERPORT\n" if($verbose); + print "GOPHERPORT => $port\n" if($verbose); $run{'gopher'}="$pid $pid2"; } if(!$run{'gophers'}) { - ($pid, $pid2, $GOPHERSPORT) = + my $port; + ($pid, $pid2, $port) = runhttpsserver($verbose, "gophers", "", $certfile); + $PORT{'gophers'} = $port; if($pid <= 0) { return "failed starting GOPHERS server (stunnel)"; } logmsg sprintf("* pid gophers => %d %d\n", $pid, $pid2) if($verbose); - print "GOPHERSPORT => $GOPHERSPORT\n" if($verbose); + print "GOPHERSPORT => $port\n" if($verbose); $run{'gophers'}="$pid $pid2"; } } @@ -5369,7 +5304,7 @@ sub startservers { } if(!$run{'https-proxy'}) { - ($pid, $pid2, $HTTPSPROXYPORT) = + ($pid, $pid2, $PORT{"httpsproxy"}) = runhttpsserver($verbose, "https", "proxy", $certfile); if($pid <= 0) { return "failed starting HTTPS-proxy (stunnel)"; @@ -5391,7 +5326,7 @@ sub startservers { } } if(!$run{'httptls'}) { - ($pid, $pid2, $HTTPTLSPORT) = + ($pid, $pid2, $PORT{'httptls'}) = runhttptlsserver($verbose, "IPv4"); if($pid <= 0) { return "failed starting HTTPTLS server (gnutls-serv)"; @@ -5413,7 +5348,7 @@ sub startservers { } } if(!$run{'httptls-ipv6'}) { - ($pid, $pid2, $HTTPTLS6PORT) = + ($pid, $pid2, $PORT{"httptls6"}) = runhttptlsserver($verbose, "ipv6"); if($pid <= 0) { return "failed starting HTTPTLS-IPv6 server (gnutls-serv)"; @@ -5431,7 +5366,7 @@ sub startservers { } } if(!$run{'tftp'}) { - ($pid, $pid2, $TFTPPORT) = + ($pid, $pid2, $PORT{'tftp'}) = runtftpserver("", $verbose); if($pid <= 0) { return "failed starting TFTP server"; @@ -5448,7 +5383,7 @@ sub startservers { } } if(!$run{'tftp-ipv6'}) { - ($pid, $pid2, $TFTP6PORT) = + ($pid, $pid2, $PORT{'tftp6'}) = runtftpserver("", $verbose, "ipv6"); if($pid <= 0) { return "failed starting TFTP-IPv6 server"; @@ -5459,7 +5394,7 @@ sub startservers { } elsif($what eq "sftp" || $what eq "scp") { if(!$run{'ssh'}) { - ($pid, $pid2, $SSHPORT) = runsshserver("", $verbose); + ($pid, $pid2, $PORT{'ssh'}) = runsshserver("", $verbose); if($pid <= 0) { return "failed starting SSH server"; } @@ -5469,7 +5404,7 @@ sub startservers { } elsif($what eq "socks4" || $what eq "socks5" ) { if(!$run{'socks'}) { - ($pid, $pid2, $SOCKSPORT) = runsocksserver("", $verbose); + ($pid, $pid2, $PORT{"socks"}) = runsocksserver("", $verbose); if($pid <= 0) { return "failed starting socks server"; } @@ -5518,7 +5453,7 @@ sub startservers { } elsif($what eq "dict") { if(!$run{'dict'}) { - ($pid, $pid2, $DICTPORT) = rundictserver($verbose, ""); + ($pid, $pid2, $PORT{"dict"}) = rundictserver($verbose, ""); if($pid <= 0) { return "failed starting DICT server"; } @@ -5529,7 +5464,7 @@ sub startservers { } elsif($what eq "smb") { if(!$run{'smb'}) { - ($pid, $pid2, $SMBPORT) = runsmbserver($verbose, ""); + ($pid, $pid2, $PORT{"smb"}) = runsmbserver($verbose, ""); if($pid <= 0) { return "failed starting SMB server"; } @@ -5540,7 +5475,7 @@ sub startservers { } elsif($what eq "telnet") { if(!$run{'telnet'}) { - ($pid, $pid2, $TELNETPORT) = + ($pid, $pid2, $PORT{"telnet"}) = runnegtelnetserver($verbose, ""); if($pid <= 0) { return "failed starting neg TELNET server";