86 lines
2.8 KiB
HTML
86 lines
2.8 KiB
HTML
<html>
|
|
<script>
|
|
// Note that port "1" is tested by the initial load.
|
|
var blockedPorts = [7, 9, 11, 13, 15, 17, 19, 20,
|
|
21, 22, 23, 25, 37, 42, 43, 53, 77, 79, 87, 95, 101, 102,
|
|
103, 104, 109, 110, 111, 113, 115, 117, 119, 123, 135, 139,
|
|
143, 179, 389, 465, 512, 513, 514, 515, 526, 530, 531, 532,
|
|
540, 548, 556, 563, 587, 601, 636, 993, 995, 2049, 3659, 4045,
|
|
4190, 6000, 6665, 6666, 6667, 6668, 6669, 6679, 6697,
|
|
|
|
// Port numbers that we consider to be invalid due to being out of range.
|
|
Math.pow(2, 16) - 1, Math.pow(2, 16), Math.pow(2, 32) - 1, Math.pow(2, 32)];
|
|
|
|
var allowedPorts = [0, 80, ""];
|
|
|
|
var baseURL = "255.255.255.255";
|
|
var currentPort = 0;
|
|
|
|
if (window.testRunner) {
|
|
testRunner.waitUntilDone();
|
|
testRunner.dumpResourceLoadCallbacks();
|
|
}
|
|
|
|
function nextBlockedPortTest() {
|
|
if (!(currentPort in blockedPorts)) {
|
|
currentPort = 0;
|
|
nextAllowedPortTest();
|
|
return;
|
|
}
|
|
var newURL = "http://" + baseURL + ":" + blockedPorts[currentPort] + "/test.jpg";
|
|
currentPort++;
|
|
testIMG.src = newURL;
|
|
}
|
|
|
|
function nextAllowedPortTest() {
|
|
if (!(currentPort in allowedPorts)) {
|
|
ftpTest();
|
|
return;
|
|
}
|
|
var newURL = "http://" + baseURL + ":" + allowedPorts[currentPort] + "/test.jpg";
|
|
currentPort++;
|
|
testIMG.setAttribute("onError", "nextAllowedPortTest();");
|
|
testIMG.src = newURL;
|
|
}
|
|
|
|
function ftpTest() {
|
|
testIMG.setAttribute("onError", "ftp21Test();");
|
|
var newURL = "ftp://" + baseURL + "/test.jpg";
|
|
testIMG.src = newURL;
|
|
}
|
|
|
|
function ftp21Test() {
|
|
testIMG.setAttribute("onError", "ftp22Test();");
|
|
var newURL = "ftp://" + baseURL + ":21/test.jpg";
|
|
testIMG.src = newURL;
|
|
}
|
|
|
|
function ftp22Test() {
|
|
testIMG.setAttribute("onError", "finishTesting();");
|
|
var newURL = "ftp://" + baseURL + ":22/test.jpg";
|
|
testIMG.src = newURL;
|
|
}
|
|
|
|
function finishTesting() {
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
setTimeout("testRunner.notifyDone()", 0);
|
|
}
|
|
}
|
|
|
|
function makeImage() {
|
|
var image = document.createElement("img");
|
|
image.onerror=nextBlockedPortTest;
|
|
image.src="http://255.255.255.255:1/test.jpg";
|
|
image.id="testIMG";
|
|
document.body.appendChild(image);
|
|
}
|
|
</script>
|
|
<body onload="makeImage()">
|
|
<p>This test attempts to change the src of an IMG tag to all blocked ports to confirm that WebKit returns the
|
|
correct error for them - blocked instead of cannot find. It also tries the FTP ports for exemptions. Due to the
|
|
nature of this test, the results can only be processed automatically via DumpRenderTree
|
|
</p>
|
|
</body>
|
|
</html>
|