summaryrefslogtreecommitdiff
path: root/chromium/net
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/net')
-rw-r--r--chromium/net/base/net_error_list.h3
-rw-r--r--chromium/net/cert/mock_cert_verifier.cc19
-rw-r--r--chromium/net/cert/mock_cert_verifier.h20
-rw-r--r--chromium/net/dns/mock_host_resolver.cc31
-rw-r--r--chromium/net/dns/mock_host_resolver.h32
-rw-r--r--chromium/net/net.gyp2
-rw-r--r--chromium/net/quic/quic_http_stream.cc7
7 files changed, 63 insertions, 51 deletions
diff --git a/chromium/net/base/net_error_list.h b/chromium/net/base/net_error_list.h
index 0585c3e18ca..3416cd07c15 100644
--- a/chromium/net/base/net_error_list.h
+++ b/chromium/net/base/net_error_list.h
@@ -570,6 +570,9 @@ NET_ERROR(RESPONSE_HEADERS_TRUNCATED, -357)
// to read any requests sent, so they may be resent.
NET_ERROR(QUIC_HANDSHAKE_FAILED, -358)
+// An https resource was requested over an insecure QUIC connection.
+NET_ERROR(REQUEST_FOR_SECURE_RESOURCE_OVER_INSECURE_QUIC, -359)
+
// The cache does not have the requested entry.
NET_ERROR(CACHE_MISS, -400)
diff --git a/chromium/net/cert/mock_cert_verifier.cc b/chromium/net/cert/mock_cert_verifier.cc
index a30e3d54c86..ea5538e8c86 100644
--- a/chromium/net/cert/mock_cert_verifier.cc
+++ b/chromium/net/cert/mock_cert_verifier.cc
@@ -13,6 +13,25 @@
namespace net {
+struct MockCertVerifier::Rule {
+ Rule(X509Certificate* cert,
+ const std::string& hostname,
+ const CertVerifyResult& result,
+ int rv)
+ : cert(cert),
+ hostname(hostname),
+ result(result),
+ rv(rv) {
+ DCHECK(cert);
+ DCHECK(result.verified_cert.get());
+ }
+
+ scoped_refptr<X509Certificate> cert;
+ std::string hostname;
+ CertVerifyResult result;
+ int rv;
+};
+
MockCertVerifier::MockCertVerifier() : default_result_(ERR_CERT_INVALID) {}
MockCertVerifier::~MockCertVerifier() {}
diff --git a/chromium/net/cert/mock_cert_verifier.h b/chromium/net/cert/mock_cert_verifier.h
index 704c66b2b80..5af7b7e7a06 100644
--- a/chromium/net/cert/mock_cert_verifier.h
+++ b/chromium/net/cert/mock_cert_verifier.h
@@ -57,25 +57,7 @@ class MockCertVerifier : public CertVerifier {
int rv);
private:
- struct Rule {
- Rule(X509Certificate* cert,
- const std::string& hostname,
- const CertVerifyResult& result,
- int rv)
- : cert(cert),
- hostname(hostname),
- result(result),
- rv(rv) {
- DCHECK(cert);
- DCHECK(result.verified_cert.get());
- }
-
- scoped_refptr<X509Certificate> cert;
- std::string hostname;
- CertVerifyResult result;
- int rv;
- };
-
+ struct Rule;
typedef std::list<Rule> RuleList;
int default_result_;
diff --git a/chromium/net/dns/mock_host_resolver.cc b/chromium/net/dns/mock_host_resolver.cc
index 25918ba3247..ff5ffbc2f75 100644
--- a/chromium/net/dns/mock_host_resolver.cc
+++ b/chromium/net/dns/mock_host_resolver.cc
@@ -212,6 +212,37 @@ void MockHostResolverBase::ResolveNow(size_t id) {
//-----------------------------------------------------------------------------
+struct RuleBasedHostResolverProc::Rule {
+ enum ResolverType {
+ kResolverTypeFail,
+ kResolverTypeSystem,
+ kResolverTypeIPLiteral,
+ };
+
+ ResolverType resolver_type;
+ std::string host_pattern;
+ AddressFamily address_family;
+ HostResolverFlags host_resolver_flags;
+ std::string replacement;
+ std::string canonical_name;
+ int latency_ms; // In milliseconds.
+
+ Rule(ResolverType resolver_type,
+ const std::string& host_pattern,
+ AddressFamily address_family,
+ HostResolverFlags host_resolver_flags,
+ const std::string& replacement,
+ const std::string& canonical_name,
+ int latency_ms)
+ : resolver_type(resolver_type),
+ host_pattern(host_pattern),
+ address_family(address_family),
+ host_resolver_flags(host_resolver_flags),
+ replacement(replacement),
+ canonical_name(canonical_name),
+ latency_ms(latency_ms) {}
+};
+
RuleBasedHostResolverProc::RuleBasedHostResolverProc(HostResolverProc* previous)
: HostResolverProc(previous) {
}
diff --git a/chromium/net/dns/mock_host_resolver.h b/chromium/net/dns/mock_host_resolver.h
index f8a424011a9..3593fbdfe91 100644
--- a/chromium/net/dns/mock_host_resolver.h
+++ b/chromium/net/dns/mock_host_resolver.h
@@ -209,37 +209,7 @@ class RuleBasedHostResolverProc : public HostResolverProc {
int* os_error) OVERRIDE;
private:
- struct Rule {
- enum ResolverType {
- kResolverTypeFail,
- kResolverTypeSystem,
- kResolverTypeIPLiteral,
- };
-
- ResolverType resolver_type;
- std::string host_pattern;
- AddressFamily address_family;
- HostResolverFlags host_resolver_flags;
- std::string replacement;
- std::string canonical_name;
- int latency_ms; // In milliseconds.
-
- Rule(ResolverType resolver_type,
- const std::string& host_pattern,
- AddressFamily address_family,
- HostResolverFlags host_resolver_flags,
- const std::string& replacement,
- const std::string& canonical_name,
- int latency_ms)
- : resolver_type(resolver_type),
- host_pattern(host_pattern),
- address_family(address_family),
- host_resolver_flags(host_resolver_flags),
- replacement(replacement),
- canonical_name(canonical_name),
- latency_ms(latency_ms) {}
- };
-
+ struct Rule;
typedef std::list<Rule> RuleList;
virtual ~RuleBasedHostResolverProc();
diff --git a/chromium/net/net.gyp b/chromium/net/net.gyp
index 69f482751c9..c2d618ef220 100644
--- a/chromium/net/net.gyp
+++ b/chromium/net/net.gyp
@@ -1366,7 +1366,7 @@
'../build/linux/system.gyp:gio',
],
}],
- [ 'desktop_linux == 1 or chromeos == 1 or qt_os == "embedded_linux"', {
+ [ 'desktop_linux == 1 or chromeos == 1', {
'conditions': [
['use_openssl==1', {
'dependencies': [
diff --git a/chromium/net/quic/quic_http_stream.cc b/chromium/net/quic/quic_http_stream.cc
index 56dbbab13e5..f8b2e6517dc 100644
--- a/chromium/net/quic/quic_http_stream.cc
+++ b/chromium/net/quic/quic_http_stream.cc
@@ -58,6 +58,13 @@ int QuicHttpStream::InitializeStream(const HttpRequestInfo* request_info,
return was_handshake_confirmed_ ? ERR_CONNECTION_CLOSED :
ERR_QUIC_HANDSHAKE_FAILED;
+ if (request_info->url.SchemeIsSecure()) {
+ SSLInfo ssl_info;
+ if (!session_->GetSSLInfo(&ssl_info) || !ssl_info.cert) {
+ return ERR_REQUEST_FOR_SECURE_RESOURCE_OVER_INSECURE_QUIC;
+ }
+ }
+
stream_net_log_ = stream_net_log;
request_info_ = request_info;
priority_ = priority;