diff options
Diffstat (limited to 'WebCore/platform/network/ResourceHandle.cpp')
| -rw-r--r-- | WebCore/platform/network/ResourceHandle.cpp | 95 |
1 files changed, 1 insertions, 94 deletions
diff --git a/WebCore/platform/network/ResourceHandle.cpp b/WebCore/platform/network/ResourceHandle.cpp index 5a40b21..7c20561 100644 --- a/WebCore/platform/network/ResourceHandle.cpp +++ b/WebCore/platform/network/ResourceHandle.cpp @@ -36,8 +36,6 @@ namespace WebCore { static bool shouldForceContentSniffing; -static bool portAllowed(const ResourceRequest&); - ResourceHandle::ResourceHandle(const ResourceRequest& request, ResourceHandleClient* client, bool defersLoading, bool shouldContentSniff, bool mightDownloadFromHandle) : d(new ResourceHandleInternal(this, request, client, defersLoading, shouldContentSniff, mightDownloadFromHandle)) @@ -57,7 +55,7 @@ PassRefPtr<ResourceHandle> ResourceHandle::create(const ResourceRequest& request return newHandle.release(); } - if (!portAllowed(request)) { + if (!portAllowed(request.url())) { newHandle->scheduleFailure(BlockedFailure); return newHandle.release(); } @@ -110,100 +108,9 @@ void ResourceHandle::clearAuthentication() { #if PLATFORM(MAC) d->m_currentMacChallenge = nil; -#elif USE(CFNETWORK) - d->m_currentCFChallenge = 0; #endif d->m_currentWebChallenge.nullify(); } - -static bool portAllowed(const ResourceRequest& request) -{ - unsigned short port = request.url().port(); - - // Since most URLs don't have a port, return early for the "no port" case. - if (!port) - return true; - - // This blocked port list matches the port blocking that Mozilla implements. - // See http://www.mozilla.org/projects/netlib/PortBanning.html for more information. - static const unsigned short blockedPortList[] = { - 1, // tcpmux - 7, // echo - 9, // discard - 11, // systat - 13, // daytime - 15, // netstat - 17, // qotd - 19, // chargen - 20, // FTP-data - 21, // FTP-control - 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, // ESMTP - 601, // syslog-conn - 636, // LDAP+SSL - 993, // IMAP+SSL - 995, // POP3+SSL - 2049, // NFS - 3659, // apple-sasl / PasswordServer [Apple addition] - 4045, // lockd - 6000, // X11 - }; - const unsigned short* const blockedPortListEnd = blockedPortList - + sizeof(blockedPortList) / sizeof(blockedPortList[0]); - - // If the port is not in the blocked port list, allow it. - if (!std::binary_search(blockedPortList, blockedPortListEnd, port)) - return true; - - // Allow ports 21 and 22 for FTP URLs, as Mozilla does. - if ((port == 21 || port == 22) && request.url().protocolIs("ftp")) - return true; - - // Allow any port number in a file URL, since the port number is ignored. - if (request.url().protocolIs("file")) - return true; - - return false; -} bool ResourceHandle::shouldContentSniff() const { |
