diff options
author | Saurav Sachidanand <sauravsachidanand@gmail.com> | 2016-03-15 22:27:22 +0530 |
---|---|---|
committer | Saurav Sachidanand <sauravsachidanand@gmail.com> | 2016-03-17 18:21:20 +0530 |
commit | 4ddf4e7bdcde769265acd23fa9dea28d2a05bb57 (patch) | |
tree | d7a15d18e3fa9a7e931df9eb0e5ee6606f66c033 | |
parent | 183772583fcbb1f8103e8d6542a620134ba9182e (diff) | |
download | servo-4ddf4e7bdcde769265acd23fa9dea28d2a05bb57.tar.gz servo-4ddf4e7bdcde769265acd23fa9dea28d2a05bb57.zip |
Update WebSocket blocked ports to match the Fetch spec
-rw-r--r-- | components/script/dom/websocket.rs | 22 | ||||
-rw-r--r-- | tests/wpt/web-platform-tests/websockets/Create-Secure-blocked-port.htm | 75 |
2 files changed, 86 insertions, 11 deletions
diff --git a/components/script/dom/websocket.rs b/components/script/dom/websocket.rs index a6d9d9ae358..e2a29229efc 100644 --- a/components/script/dom/websocket.rs +++ b/components/script/dom/websocket.rs @@ -55,8 +55,8 @@ enum WebSocketRequestState { Closed = 3, } -// list of blacklist ports according to -// http://mxr.mozilla.org/mozilla-central/source/netwerk/base/nsIOService.cpp#87 +// list of bad ports according to +// https://fetch.spec.whatwg.org/#port-blocking const BLOCKED_PORTS_LIST: &'static [u16] = &[ 1, // tcpmux 7, // echo @@ -67,7 +67,7 @@ const BLOCKED_PORTS_LIST: &'static [u16] = &[ 17, // qotd 19, // chargen 20, // ftp-data - 21, // ftp-cntl + 21, // ftp 22, // ssh 23, // telnet 25, // smtp @@ -90,11 +90,11 @@ const BLOCKED_PORTS_LIST: &'static [u16] = &[ 115, // sftp 117, // uucp-path 119, // nntp - 123, // NTP + 123, // ntp 135, // loc-srv / epmap 139, // netbios 143, // imap2 - 179, // BGP + 179, // bgp 389, // ldap 465, // smtp+ssl 512, // print / exec @@ -103,19 +103,25 @@ const BLOCKED_PORTS_LIST: &'static [u16] = &[ 515, // printer 526, // tempo 530, // courier - 531, // Chat + 531, // chat 532, // netnews 540, // uucp 556, // remotefs 563, // nntp+ssl - 587, // - 601, // + 587, // smtp + 601, // syslog-conn 636, // ldap+ssl 993, // imap+ssl 995, // pop3+ssl 2049, // nfs + 3659, // apple-sasl 4045, // lockd 6000, // x11 + 6665, // irc (alternate) + 6666, // irc (alternate) + 6667, // irc (default) + 6668, // irc (alternate) + 6669, // irc (alternate) ]; // Close codes defined in https://tools.ietf.org/html/rfc6455#section-7.4.1 diff --git a/tests/wpt/web-platform-tests/websockets/Create-Secure-blocked-port.htm b/tests/wpt/web-platform-tests/websockets/Create-Secure-blocked-port.htm index 8a4866d0724..ab35ee1bb59 100644 --- a/tests/wpt/web-platform-tests/websockets/Create-Secure-blocked-port.htm +++ b/tests/wpt/web-platform-tests/websockets/Create-Secure-blocked-port.htm @@ -10,9 +10,78 @@ <div id="log"></div> <script> test(function () { - var wsocket; - var blockedPort = 25; - assert_throws("SECURITY_ERR", function () { wsocket = CreateWebSocketWithBlockedPort(blockedPort) }); + // list of bad ports according to + // https://fetch.spec.whatwg.org/#port-blocking + var BLOCKED_PORTS_LIST = [ + 1, // tcpmux + 7, // echo + 9, // discard + 11, // systat + 13, // daytime + 15, // netstat + 17, // qotd + 19, // chargen + 20, // ftp-data + 21, // ftp + 22, // ssh + 23, // telnet + 25, // smtp + 37, // time + 42, // name + 43, // nicname + 53, // domain + 77, // priv-rjs + 79, // finger + 87, // ttylink + 95, // supdup + 101, // hostriame + 102, // iso-tsap + 103, // gppitnp + 104, // acr-nema + 109, // pop2 + 110, // pop3 + 111, // sunrpc + 113, // auth + 115, // sftp + 117, // uucp-path + 119, // nntp + 123, // ntp + 135, // loc-srv / epmap + 139, // netbios + 143, // imap2 + 179, // bgp + 389, // ldap + 465, // smtp+ssl + 512, // print / exec + 513, // login + 514, // shell + 515, // printer + 526, // tempo + 530, // courier + 531, // chat + 532, // netnews + 540, // uucp + 556, // remotefs + 563, // nntp+ssl + 587, // smtp + 601, // syslog-conn + 636, // ldap+ssl + 993, // imap+ssl + 995, // pop3+ssl + 2049, // nfs + 3659, // apple-sasl + 4045, // lockd + 6000, // x11 + 6665, // irc (alternate) + 6666, // irc (alternate) + 6667, // irc (default) + 6668, // irc (alternate) + 6669, // irc (alternate) + ]; + for (var i = 0; i < BLOCKED_PORTS_LIST.length; i++) { + var blockedPort = BLOCKED_PORTS_LIST[i]; + assert_throws("SECURITY_ERR", function () { CreateWebSocketWithBlockedPort(blockedPort) }); + } }, "W3C WebSocket API - Create Secure WebSocket - Pass a URL with a blocked port - SECURITY_ERR should be thrown") </script> </body> |