Chromium Code Reviews| Index: net/url_request/ftp_protocol_handler.cc |
| diff --git a/net/url_request/ftp_protocol_handler.cc b/net/url_request/ftp_protocol_handler.cc |
| index e10a1cdba147702909e466015bb8d802b33ee840..a1941dd735bba829cd7f3514ef966cf3a57afdc6 100644 |
| --- a/net/url_request/ftp_protocol_handler.cc |
| +++ b/net/url_request/ftp_protocol_handler.cc |
| @@ -5,6 +5,10 @@ |
| #include "net/url_request/ftp_protocol_handler.h" |
| #include "base/logging.h" |
| +#include "net/base/net_errors.h" |
| +#include "net/base/net_util.h" |
|
mmenke
2012/07/27 19:12:22
Should probably include "googleurl/src/gurl.h" as
shalev
2012/07/30 02:27:00
Done.
|
| +#include "net/url_request/url_request.h" |
| +#include "net/url_request/url_request_error_job.h" |
| #include "net/url_request/url_request_ftp_job.h" |
| namespace net { |
| @@ -22,6 +26,12 @@ FtpProtocolHandler::FtpProtocolHandler( |
| URLRequestJob* FtpProtocolHandler::MaybeCreateJob( |
| URLRequest* request) const { |
| + int port = request->url().IntPort(); |
| + if (request->url().has_port() && |
| + !IsPortAllowedByFtp(port) && !IsPortAllowedByOverride(port)) { |
| + return new URLRequestErrorJob(request, ERR_UNSAFE_PORT); |
| + } |
| + |
| return new URLRequestFtpJob(request, |
| network_delegate_, |
| ftp_transaction_factory_, |