Commit 9345e477 authored by lpsolit%gmail.com's avatar lpsolit%gmail.com

Bug 358588: The sslbase's port is harcoded, but shouldn't (allow the port to be…

Bug 358588: The sslbase's port is harcoded, but shouldn't (allow the port to be specified with the parameter) - Patch by Fré©ric Buclin <LpSolit@gmail.com> r=glob a=LpSolit
parent ba10f28c
......@@ -101,17 +101,21 @@ sub check_sslbase {
return "must be a legal URL, that starts with https and ends with a slash.";
}
my $host = $1;
if ($host =~ /:\d+$/) {
return "must not contain a port.";
# Fall back to port 443 if for some reason getservbyname() fails.
my $port = getservbyname('https', 'tcp') || 443;
if ($host =~ /^(.+):(\d+)$/) {
$host = $1;
$port = $2;
}
local *SOCK;
my $proto = getprotobyname('tcp');
socket(SOCK, PF_INET, SOCK_STREAM, $proto);
my $sin = sockaddr_in(443, inet_aton($host));
my $iaddr = inet_aton($host) || return "The host $host cannot be resolved";
my $sin = sockaddr_in($port, $iaddr);
if (!connect(SOCK, $sin)) {
return "Failed to connect to " . html_quote($host) .
":443, unable to enable SSL.";
return "Failed to connect to $host:$port; unable to enable SSL";
}
close(SOCK);
}
return "";
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment