• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2012 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // This file intentionally does not have header guards, it's included
6 // inside a macro to generate enum values. The following line silences a
7 // presubmit and Tricium warning that would otherwise be triggered by this:
8 // no-include-guard-because-multiply-included
9 // NOLINT(build/header_guard)
10 
11 // This file contains the list of network errors.
12 
13 //
14 // Ranges:
15 //     0- 99 System related errors
16 //   100-199 Connection related errors
17 //   200-299 Certificate errors
18 //   300-399 HTTP errors
19 //   400-499 Cache errors
20 //   500-599 ?
21 //   600-699 FTP errors
22 //   700-799 Certificate manager errors
23 //   800-899 DNS resolver errors
24 
25 // An asynchronous IO operation is not yet complete.  This usually does not
26 // indicate a fatal error.  Typically this error will be generated as a
27 // notification to wait for some external notification that the IO operation
28 // finally completed.
29 NET_ERROR(IO_PENDING, -1)
30 
31 // A generic failure occurred.
32 NET_ERROR(FAILED, -2)
33 
34 // An operation was aborted (due to user action).
35 NET_ERROR(ABORTED, -3)
36 
37 // An argument to the function is incorrect.
38 NET_ERROR(INVALID_ARGUMENT, -4)
39 
40 // The handle or file descriptor is invalid.
41 NET_ERROR(INVALID_HANDLE, -5)
42 
43 // The file or directory cannot be found.
44 NET_ERROR(FILE_NOT_FOUND, -6)
45 
46 // An operation timed out.
47 NET_ERROR(TIMED_OUT, -7)
48 
49 // The file is too large.
50 NET_ERROR(FILE_TOO_BIG, -8)
51 
52 // An unexpected error.  This may be caused by a programming mistake or an
53 // invalid assumption.
54 NET_ERROR(UNEXPECTED, -9)
55 
56 // Permission to access a resource, other than the network, was denied.
57 NET_ERROR(ACCESS_DENIED, -10)
58 
59 // The operation failed because of unimplemented functionality.
60 NET_ERROR(NOT_IMPLEMENTED, -11)
61 
62 // There were not enough resources to complete the operation.
63 NET_ERROR(INSUFFICIENT_RESOURCES, -12)
64 
65 // Memory allocation failed.
66 NET_ERROR(OUT_OF_MEMORY, -13)
67 
68 // The file upload failed because the file's modification time was different
69 // from the expectation.
70 NET_ERROR(UPLOAD_FILE_CHANGED, -14)
71 
72 // The socket is not connected.
73 NET_ERROR(SOCKET_NOT_CONNECTED, -15)
74 
75 // The file already exists.
76 NET_ERROR(FILE_EXISTS, -16)
77 
78 // The path or file name is too long.
79 NET_ERROR(FILE_PATH_TOO_LONG, -17)
80 
81 // Not enough room left on the disk.
82 NET_ERROR(FILE_NO_SPACE, -18)
83 
84 // The file has a virus.
85 NET_ERROR(FILE_VIRUS_INFECTED, -19)
86 
87 // The client chose to block the request.
88 NET_ERROR(BLOCKED_BY_CLIENT, -20)
89 
90 // The network changed.
91 NET_ERROR(NETWORK_CHANGED, -21)
92 
93 // The request was blocked by the URL block list configured by the domain
94 // administrator.
95 NET_ERROR(BLOCKED_BY_ADMINISTRATOR, -22)
96 
97 // The socket is already connected.
98 NET_ERROR(SOCKET_IS_CONNECTED, -23)
99 
100 // Error -24 was removed (BLOCKED_ENROLLMENT_CHECK_PENDING)
101 
102 // The upload failed because the upload stream needed to be re-read, due to a
103 // retry or a redirect, but the upload stream doesn't support that operation.
104 NET_ERROR(UPLOAD_STREAM_REWIND_NOT_SUPPORTED, -25)
105 
106 // The request failed because the URLRequestContext is shutting down, or has
107 // been shut down.
108 NET_ERROR(CONTEXT_SHUT_DOWN, -26)
109 
110 // The request failed because the response was delivered along with requirements
111 // which are not met ('X-Frame-Options' and 'Content-Security-Policy' ancestor
112 // checks and 'Cross-Origin-Resource-Policy' for instance).
113 NET_ERROR(BLOCKED_BY_RESPONSE, -27)
114 
115 // Error -28 was removed (BLOCKED_BY_XSS_AUDITOR).
116 
117 // The request was blocked by system policy disallowing some or all cleartext
118 // requests. Used for NetworkSecurityPolicy on Android.
119 NET_ERROR(CLEARTEXT_NOT_PERMITTED, -29)
120 
121 // The request was blocked by a Content Security Policy
122 NET_ERROR(BLOCKED_BY_CSP, -30)
123 
124 // The request was blocked because of no H/2 or QUIC session.
125 NET_ERROR(H2_OR_QUIC_REQUIRED, -31)
126 
127 // The request was blocked by CORB or ORB.
128 NET_ERROR(BLOCKED_BY_ORB, -32)
129 
130 // A connection was closed (corresponding to a TCP FIN).
131 NET_ERROR(CONNECTION_CLOSED, -100)
132 
133 // A connection was reset (corresponding to a TCP RST).
134 NET_ERROR(CONNECTION_RESET, -101)
135 
136 // A connection attempt was refused.
137 NET_ERROR(CONNECTION_REFUSED, -102)
138 
139 // A connection timed out as a result of not receiving an ACK for data sent.
140 // This can include a FIN packet that did not get ACK'd.
141 NET_ERROR(CONNECTION_ABORTED, -103)
142 
143 // A connection attempt failed.
144 NET_ERROR(CONNECTION_FAILED, -104)
145 
146 // The host name could not be resolved.
147 NET_ERROR(NAME_NOT_RESOLVED, -105)
148 
149 // The Internet connection has been lost.
150 NET_ERROR(INTERNET_DISCONNECTED, -106)
151 
152 // An SSL protocol error occurred.
153 NET_ERROR(SSL_PROTOCOL_ERROR, -107)
154 
155 // The IP address or port number is invalid (e.g., cannot connect to the IP
156 // address 0 or the port 0).
157 NET_ERROR(ADDRESS_INVALID, -108)
158 
159 // The IP address is unreachable.  This usually means that there is no route to
160 // the specified host or network.
161 NET_ERROR(ADDRESS_UNREACHABLE, -109)
162 
163 // The server requested a client certificate for SSL client authentication.
164 NET_ERROR(SSL_CLIENT_AUTH_CERT_NEEDED, -110)
165 
166 // A tunnel connection through the proxy could not be established.
167 NET_ERROR(TUNNEL_CONNECTION_FAILED, -111)
168 
169 // No SSL protocol versions are enabled.
170 NET_ERROR(NO_SSL_VERSIONS_ENABLED, -112)
171 
172 // The client and server don't support a common SSL protocol version or
173 // cipher suite.
174 NET_ERROR(SSL_VERSION_OR_CIPHER_MISMATCH, -113)
175 
176 // The server requested a renegotiation (rehandshake).
177 NET_ERROR(SSL_RENEGOTIATION_REQUESTED, -114)
178 
179 // The proxy requested authentication (for tunnel establishment) with an
180 // unsupported method.
181 NET_ERROR(PROXY_AUTH_UNSUPPORTED, -115)
182 
183 // Error -116 was removed (CERT_ERROR_IN_SSL_RENEGOTIATION)
184 
185 // The SSL handshake failed because of a bad or missing client certificate.
186 NET_ERROR(BAD_SSL_CLIENT_AUTH_CERT, -117)
187 
188 // A connection attempt timed out.
189 NET_ERROR(CONNECTION_TIMED_OUT, -118)
190 
191 // There are too many pending DNS resolves, so a request in the queue was
192 // aborted.
193 NET_ERROR(HOST_RESOLVER_QUEUE_TOO_LARGE, -119)
194 
195 // Failed establishing a connection to the SOCKS proxy server for a target host.
196 NET_ERROR(SOCKS_CONNECTION_FAILED, -120)
197 
198 // The SOCKS proxy server failed establishing connection to the target host
199 // because that host is unreachable.
200 NET_ERROR(SOCKS_CONNECTION_HOST_UNREACHABLE, -121)
201 
202 // The request to negotiate an alternate protocol failed.
203 NET_ERROR(ALPN_NEGOTIATION_FAILED, -122)
204 
205 // The peer sent an SSL no_renegotiation alert message.
206 NET_ERROR(SSL_NO_RENEGOTIATION, -123)
207 
208 // Winsock sometimes reports more data written than passed.  This is probably
209 // due to a broken LSP.
210 NET_ERROR(WINSOCK_UNEXPECTED_WRITTEN_BYTES, -124)
211 
212 // An SSL peer sent us a fatal decompression_failure alert. This typically
213 // occurs when a peer selects DEFLATE compression in the mistaken belief that
214 // it supports it.
215 NET_ERROR(SSL_DECOMPRESSION_FAILURE_ALERT, -125)
216 
217 // An SSL peer sent us a fatal bad_record_mac alert. This has been observed
218 // from servers with buggy DEFLATE support.
219 NET_ERROR(SSL_BAD_RECORD_MAC_ALERT, -126)
220 
221 // The proxy requested authentication (for tunnel establishment).
222 NET_ERROR(PROXY_AUTH_REQUESTED, -127)
223 
224 // Error -129 was removed (SSL_WEAK_SERVER_EPHEMERAL_DH_KEY).
225 
226 // Could not create a connection to the proxy server. An error occurred
227 // either in resolving its name, or in connecting a socket to it.
228 // Note that this does NOT include failures during the actual "CONNECT" method
229 // of an HTTP proxy.
230 NET_ERROR(PROXY_CONNECTION_FAILED, -130)
231 
232 // A mandatory proxy configuration could not be used. Currently this means
233 // that a mandatory PAC script could not be fetched, parsed or executed.
234 NET_ERROR(MANDATORY_PROXY_CONFIGURATION_FAILED, -131)
235 
236 // -132 was formerly ERR_ESET_ANTI_VIRUS_SSL_INTERCEPTION
237 
238 // We've hit the max socket limit for the socket pool while preconnecting.  We
239 // don't bother trying to preconnect more sockets.
240 NET_ERROR(PRECONNECT_MAX_SOCKET_LIMIT, -133)
241 
242 // The permission to use the SSL client certificate's private key was denied.
243 NET_ERROR(SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED, -134)
244 
245 // The SSL client certificate has no private key.
246 NET_ERROR(SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY, -135)
247 
248 // The certificate presented by the HTTPS Proxy was invalid.
249 NET_ERROR(PROXY_CERTIFICATE_INVALID, -136)
250 
251 // An error occurred when trying to do a name resolution (DNS).
252 NET_ERROR(NAME_RESOLUTION_FAILED, -137)
253 
254 // Permission to access the network was denied. This is used to distinguish
255 // errors that were most likely caused by a firewall from other access denied
256 // errors. See also ERR_ACCESS_DENIED.
257 NET_ERROR(NETWORK_ACCESS_DENIED, -138)
258 
259 // The request throttler module cancelled this request to avoid DDOS.
260 NET_ERROR(TEMPORARILY_THROTTLED, -139)
261 
262 // A request to create an SSL tunnel connection through the HTTPS proxy
263 // received a 302 (temporary redirect) response.  The response body might
264 // include a description of why the request failed.
265 //
266 // TODO(https://crbug.com/928551): This is deprecated and should not be used by
267 // new code.
268 NET_ERROR(HTTPS_PROXY_TUNNEL_RESPONSE_REDIRECT, -140)
269 
270 // We were unable to sign the CertificateVerify data of an SSL client auth
271 // handshake with the client certificate's private key.
272 //
273 // Possible causes for this include the user implicitly or explicitly
274 // denying access to the private key, the private key may not be valid for
275 // signing, the key may be relying on a cached handle which is no longer
276 // valid, or the CSP won't allow arbitrary data to be signed.
277 NET_ERROR(SSL_CLIENT_AUTH_SIGNATURE_FAILED, -141)
278 
279 // The message was too large for the transport.  (for example a UDP message
280 // which exceeds size threshold).
281 NET_ERROR(MSG_TOO_BIG, -142)
282 
283 // Error -143 was removed (SPDY_SESSION_ALREADY_EXISTS)
284 
285 // Error -144 was removed (LIMIT_VIOLATION).
286 
287 // Websocket protocol error. Indicates that we are terminating the connection
288 // due to a malformed frame or other protocol violation.
289 NET_ERROR(WS_PROTOCOL_ERROR, -145)
290 
291 // Error -146 was removed (PROTOCOL_SWITCHED)
292 
293 // Returned when attempting to bind an address that is already in use.
294 NET_ERROR(ADDRESS_IN_USE, -147)
295 
296 // An operation failed because the SSL handshake has not completed.
297 NET_ERROR(SSL_HANDSHAKE_NOT_COMPLETED, -148)
298 
299 // SSL peer's public key is invalid.
300 NET_ERROR(SSL_BAD_PEER_PUBLIC_KEY, -149)
301 
302 // The certificate didn't match the built-in public key pins for the host name.
303 // The pins are set in net/http/transport_security_state.cc and require that
304 // one of a set of public keys exist on the path from the leaf to the root.
305 NET_ERROR(SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, -150)
306 
307 // Server request for client certificate did not contain any types we support.
308 NET_ERROR(CLIENT_AUTH_CERT_TYPE_UNSUPPORTED, -151)
309 
310 // Error -152 was removed (ORIGIN_BOUND_CERT_GENERATION_TYPE_MISMATCH)
311 
312 // An SSL peer sent us a fatal decrypt_error alert. This typically occurs when
313 // a peer could not correctly verify a signature (in CertificateVerify or
314 // ServerKeyExchange) or validate a Finished message.
315 NET_ERROR(SSL_DECRYPT_ERROR_ALERT, -153)
316 
317 // There are too many pending WebSocketJob instances, so the new job was not
318 // pushed to the queue.
319 NET_ERROR(WS_THROTTLE_QUEUE_TOO_LARGE, -154)
320 
321 // Error -155 was removed (TOO_MANY_SOCKET_STREAMS)
322 
323 // The SSL server certificate changed in a renegotiation.
324 NET_ERROR(SSL_SERVER_CERT_CHANGED, -156)
325 
326 // Error -157 was removed (SSL_INAPPROPRIATE_FALLBACK).
327 
328 // Error -158 was removed (CT_NO_SCTS_VERIFIED_OK).
329 
330 // The SSL server sent us a fatal unrecognized_name alert.
331 NET_ERROR(SSL_UNRECOGNIZED_NAME_ALERT, -159)
332 
333 // Failed to set the socket's receive buffer size as requested.
334 NET_ERROR(SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR, -160)
335 
336 // Failed to set the socket's send buffer size as requested.
337 NET_ERROR(SOCKET_SET_SEND_BUFFER_SIZE_ERROR, -161)
338 
339 // Failed to set the socket's receive buffer size as requested, despite success
340 // return code from setsockopt.
341 NET_ERROR(SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE, -162)
342 
343 // Failed to set the socket's send buffer size as requested, despite success
344 // return code from setsockopt.
345 NET_ERROR(SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE, -163)
346 
347 // Failed to import a client certificate from the platform store into the SSL
348 // library.
349 NET_ERROR(SSL_CLIENT_AUTH_CERT_BAD_FORMAT, -164)
350 
351 // Error -165 was removed (SSL_FALLBACK_BEYOND_MINIMUM_VERSION).
352 
353 // Resolving a hostname to an IP address list included the IPv4 address
354 // "127.0.53.53". This is a special IP address which ICANN has recommended to
355 // indicate there was a name collision, and alert admins to a potential
356 // problem.
357 NET_ERROR(ICANN_NAME_COLLISION, -166)
358 
359 // The SSL server presented a certificate which could not be decoded. This is
360 // not a certificate error code as no X509Certificate object is available. This
361 // error is fatal.
362 NET_ERROR(SSL_SERVER_CERT_BAD_FORMAT, -167)
363 
364 // Certificate Transparency: Received a signed tree head that failed to parse.
365 NET_ERROR(CT_STH_PARSING_FAILED, -168)
366 
367 // Certificate Transparency: Received a signed tree head whose JSON parsing was
368 // OK but was missing some of the fields.
369 NET_ERROR(CT_STH_INCOMPLETE, -169)
370 
371 // The attempt to reuse a connection to send proxy auth credentials failed
372 // before the AuthController was used to generate credentials. The caller should
373 // reuse the controller with a new connection. This error is only used
374 // internally by the network stack.
375 NET_ERROR(UNABLE_TO_REUSE_CONNECTION_FOR_PROXY_AUTH, -170)
376 
377 // Certificate Transparency: Failed to parse the received consistency proof.
378 NET_ERROR(CT_CONSISTENCY_PROOF_PARSING_FAILED, -171)
379 
380 // The SSL server required an unsupported cipher suite that has since been
381 // removed. This error will temporarily be signaled on a fallback for one or two
382 // releases immediately following a cipher suite's removal, after which the
383 // fallback will be removed.
384 NET_ERROR(SSL_OBSOLETE_CIPHER, -172)
385 
386 // When a WebSocket handshake is done successfully and the connection has been
387 // upgraded, the URLRequest is cancelled with this error code.
388 NET_ERROR(WS_UPGRADE, -173)
389 
390 // Socket ReadIfReady support is not implemented. This error should not be user
391 // visible, because the normal Read() method is used as a fallback.
392 NET_ERROR(READ_IF_READY_NOT_IMPLEMENTED, -174)
393 
394 // Error -175 was removed (SSL_VERSION_INTERFERENCE).
395 
396 // No socket buffer space is available.
397 NET_ERROR(NO_BUFFER_SPACE, -176)
398 
399 // There were no common signature algorithms between our client certificate
400 // private key and the server's preferences.
401 NET_ERROR(SSL_CLIENT_AUTH_NO_COMMON_ALGORITHMS, -177)
402 
403 // TLS 1.3 early data was rejected by the server. This will be received before
404 // any data is returned from the socket. The request should be retried with
405 // early data disabled.
406 NET_ERROR(EARLY_DATA_REJECTED, -178)
407 
408 // TLS 1.3 early data was offered, but the server responded with TLS 1.2 or
409 // earlier. This is an internal error code to account for a
410 // backwards-compatibility issue with early data and TLS 1.2. It will be
411 // received before any data is returned from the socket. The request should be
412 // retried with early data disabled.
413 //
414 // See https://tools.ietf.org/html/rfc8446#appendix-D.3 for details.
415 NET_ERROR(WRONG_VERSION_ON_EARLY_DATA, -179)
416 
417 // TLS 1.3 was enabled, but a lower version was negotiated and the server
418 // returned a value indicating it supported TLS 1.3. This is part of a security
419 // check in TLS 1.3, but it may also indicate the user is behind a buggy
420 // TLS-terminating proxy which implemented TLS 1.2 incorrectly. (See
421 // https://crbug.com/boringssl/226.)
422 NET_ERROR(TLS13_DOWNGRADE_DETECTED, -180)
423 
424 // The server's certificate has a keyUsage extension incompatible with the
425 // negotiated TLS key exchange method.
426 NET_ERROR(SSL_KEY_USAGE_INCOMPATIBLE, -181)
427 
428 // The ECHConfigList fetched over DNS cannot be parsed.
429 NET_ERROR(INVALID_ECH_CONFIG_LIST, -182)
430 
431 // ECH was enabled, but the server was unable to decrypt the encrypted
432 // ClientHello.
433 NET_ERROR(ECH_NOT_NEGOTIATED, -183)
434 
435 // ECH was enabled, the server was unable to decrypt the encrypted ClientHello,
436 // and additionally did not present a certificate valid for the public name.
437 NET_ERROR(ECH_FALLBACK_CERTIFICATE_INVALID, -184)
438 
439 // Certificate error codes
440 //
441 // The values of certificate error codes must be consecutive.
442 
443 // The server responded with a certificate whose common name did not match
444 // the host name.  This could mean:
445 //
446 // 1. An attacker has redirected our traffic to their server and is
447 //    presenting a certificate for which they know the private key.
448 //
449 // 2. The server is misconfigured and responding with the wrong cert.
450 //
451 // 3. The user is on a wireless network and is being redirected to the
452 //    network's login page.
453 //
454 // 4. The OS has used a DNS search suffix and the server doesn't have
455 //    a certificate for the abbreviated name in the address bar.
456 //
457 NET_ERROR(CERT_COMMON_NAME_INVALID, -200)
458 
459 // The server responded with a certificate that, by our clock, appears to
460 // either not yet be valid or to have expired.  This could mean:
461 //
462 // 1. An attacker is presenting an old certificate for which they have
463 //    managed to obtain the private key.
464 //
465 // 2. The server is misconfigured and is not presenting a valid cert.
466 //
467 // 3. Our clock is wrong.
468 //
469 NET_ERROR(CERT_DATE_INVALID, -201)
470 
471 // The server responded with a certificate that is signed by an authority
472 // we don't trust.  The could mean:
473 //
474 // 1. An attacker has substituted the real certificate for a cert that
475 //    contains their public key and is signed by their cousin.
476 //
477 // 2. The server operator has a legitimate certificate from a CA we don't
478 //    know about, but should trust.
479 //
480 // 3. The server is presenting a self-signed certificate, providing no
481 //    defense against active attackers (but foiling passive attackers).
482 //
483 NET_ERROR(CERT_AUTHORITY_INVALID, -202)
484 
485 // The server responded with a certificate that contains errors.
486 // This error is not recoverable.
487 //
488 // MSDN describes this error as follows:
489 //   "The SSL certificate contains errors."
490 // NOTE: It's unclear how this differs from ERR_CERT_INVALID. For consistency,
491 // use that code instead of this one from now on.
492 //
493 NET_ERROR(CERT_CONTAINS_ERRORS, -203)
494 
495 // The certificate has no mechanism for determining if it is revoked.  In
496 // effect, this certificate cannot be revoked.
497 NET_ERROR(CERT_NO_REVOCATION_MECHANISM, -204)
498 
499 // Revocation information for the security certificate for this site is not
500 // available.  This could mean:
501 //
502 // 1. An attacker has compromised the private key in the certificate and is
503 //    blocking our attempt to find out that the cert was revoked.
504 //
505 // 2. The certificate is unrevoked, but the revocation server is busy or
506 //    unavailable.
507 //
508 NET_ERROR(CERT_UNABLE_TO_CHECK_REVOCATION, -205)
509 
510 // The server responded with a certificate has been revoked.
511 // We have the capability to ignore this error, but it is probably not the
512 // thing to do.
513 NET_ERROR(CERT_REVOKED, -206)
514 
515 // The server responded with a certificate that is invalid.
516 // This error is not recoverable.
517 //
518 // MSDN describes this error as follows:
519 //   "The SSL certificate is invalid."
520 //
521 NET_ERROR(CERT_INVALID, -207)
522 
523 // The server responded with a certificate that is signed using a weak
524 // signature algorithm.
525 NET_ERROR(CERT_WEAK_SIGNATURE_ALGORITHM, -208)
526 
527 // -209 is available: was CERT_NOT_IN_DNS.
528 
529 // The host name specified in the certificate is not unique.
530 NET_ERROR(CERT_NON_UNIQUE_NAME, -210)
531 
532 // The server responded with a certificate that contains a weak key (e.g.
533 // a too-small RSA key).
534 NET_ERROR(CERT_WEAK_KEY, -211)
535 
536 // The certificate claimed DNS names that are in violation of name constraints.
537 NET_ERROR(CERT_NAME_CONSTRAINT_VIOLATION, -212)
538 
539 // The certificate's validity period is too long.
540 NET_ERROR(CERT_VALIDITY_TOO_LONG, -213)
541 
542 // Certificate Transparency was required for this connection, but the server
543 // did not provide CT information that complied with the policy.
544 NET_ERROR(CERTIFICATE_TRANSPARENCY_REQUIRED, -214)
545 
546 // The certificate chained to a legacy Symantec root that is no longer trusted.
547 // https://g.co/chrome/symantecpkicerts
548 NET_ERROR(CERT_SYMANTEC_LEGACY, -215)
549 
550 // -216 was QUIC_CERT_ROOT_NOT_KNOWN which has been renumbered to not be in the
551 // certificate error range.
552 
553 // The certificate is known to be used for interception by an entity other
554 // the device owner.
555 NET_ERROR(CERT_KNOWN_INTERCEPTION_BLOCKED, -217)
556 
557 // -218 was SSL_OBSOLETE_VERSION which is not longer used. TLS 1.0/1.1 instead
558 // cause SSL_VERSION_OR_CIPHER_MISMATCH now.
559 
560 // Add new certificate error codes here.
561 //
562 // Update the value of CERT_END whenever you add a new certificate error
563 // code.
564 
565 // The value immediately past the last certificate error code.
566 NET_ERROR(CERT_END, -219)
567 
568 // The URL is invalid.
569 NET_ERROR(INVALID_URL, -300)
570 
571 // The scheme of the URL is disallowed.
572 NET_ERROR(DISALLOWED_URL_SCHEME, -301)
573 
574 // The scheme of the URL is unknown.
575 NET_ERROR(UNKNOWN_URL_SCHEME, -302)
576 
577 // Attempting to load an URL resulted in a redirect to an invalid URL.
578 NET_ERROR(INVALID_REDIRECT, -303)
579 
580 // Attempting to load an URL resulted in too many redirects.
581 NET_ERROR(TOO_MANY_REDIRECTS, -310)
582 
583 // Attempting to load an URL resulted in an unsafe redirect (e.g., a redirect
584 // to file:// is considered unsafe).
585 NET_ERROR(UNSAFE_REDIRECT, -311)
586 
587 // Attempting to load an URL with an unsafe port number.  These are port
588 // numbers that correspond to services, which are not robust to spurious input
589 // that may be constructed as a result of an allowed web construct (e.g., HTTP
590 // looks a lot like SMTP, so form submission to port 25 is denied).
591 NET_ERROR(UNSAFE_PORT, -312)
592 
593 // The server's response was invalid.
594 NET_ERROR(INVALID_RESPONSE, -320)
595 
596 // Error in chunked transfer encoding.
597 NET_ERROR(INVALID_CHUNKED_ENCODING, -321)
598 
599 // The server did not support the request method.
600 NET_ERROR(METHOD_NOT_SUPPORTED, -322)
601 
602 // The response was 407 (Proxy Authentication Required), yet we did not send
603 // the request to a proxy.
604 NET_ERROR(UNEXPECTED_PROXY_AUTH, -323)
605 
606 // The server closed the connection without sending any data.
607 NET_ERROR(EMPTY_RESPONSE, -324)
608 
609 // The headers section of the response is too large.
610 NET_ERROR(RESPONSE_HEADERS_TOO_BIG, -325)
611 
612 // Error -326 was removed (PAC_STATUS_NOT_OK)
613 
614 // The evaluation of the PAC script failed.
615 NET_ERROR(PAC_SCRIPT_FAILED, -327)
616 
617 // The response was 416 (Requested range not satisfiable) and the server cannot
618 // satisfy the range requested.
619 NET_ERROR(REQUEST_RANGE_NOT_SATISFIABLE, -328)
620 
621 // The identity used for authentication is invalid.
622 NET_ERROR(MALFORMED_IDENTITY, -329)
623 
624 // Content decoding of the response body failed.
625 NET_ERROR(CONTENT_DECODING_FAILED, -330)
626 
627 // An operation could not be completed because all network IO
628 // is suspended.
629 NET_ERROR(NETWORK_IO_SUSPENDED, -331)
630 
631 // FLIP data received without receiving a SYN_REPLY on the stream.
632 NET_ERROR(SYN_REPLY_NOT_RECEIVED, -332)
633 
634 // Converting the response to target encoding failed.
635 NET_ERROR(ENCODING_CONVERSION_FAILED, -333)
636 
637 // The server sent an FTP directory listing in a format we do not understand.
638 NET_ERROR(UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT, -334)
639 
640 // Obsolete.  Was only logged in NetLog when an HTTP/2 pushed stream expired.
641 // NET_ERROR(INVALID_SPDY_STREAM, -335)
642 
643 // There are no supported proxies in the provided list.
644 NET_ERROR(NO_SUPPORTED_PROXIES, -336)
645 
646 // There is an HTTP/2 protocol error.
647 NET_ERROR(HTTP2_PROTOCOL_ERROR, -337)
648 
649 // Credentials could not be established during HTTP Authentication.
650 NET_ERROR(INVALID_AUTH_CREDENTIALS, -338)
651 
652 // An HTTP Authentication scheme was tried which is not supported on this
653 // machine.
654 NET_ERROR(UNSUPPORTED_AUTH_SCHEME, -339)
655 
656 // Detecting the encoding of the response failed.
657 NET_ERROR(ENCODING_DETECTION_FAILED, -340)
658 
659 // (GSSAPI) No Kerberos credentials were available during HTTP Authentication.
660 NET_ERROR(MISSING_AUTH_CREDENTIALS, -341)
661 
662 // An unexpected, but documented, SSPI or GSSAPI status code was returned.
663 NET_ERROR(UNEXPECTED_SECURITY_LIBRARY_STATUS, -342)
664 
665 // The environment was not set up correctly for authentication (for
666 // example, no KDC could be found or the principal is unknown.
667 NET_ERROR(MISCONFIGURED_AUTH_ENVIRONMENT, -343)
668 
669 // An undocumented SSPI or GSSAPI status code was returned.
670 NET_ERROR(UNDOCUMENTED_SECURITY_LIBRARY_STATUS, -344)
671 
672 // The HTTP response was too big to drain.
673 NET_ERROR(RESPONSE_BODY_TOO_BIG_TO_DRAIN, -345)
674 
675 // The HTTP response contained multiple distinct Content-Length headers.
676 NET_ERROR(RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH, -346)
677 
678 // HTTP/2 headers have been received, but not all of them - status or version
679 // headers are missing, so we're expecting additional frames to complete them.
680 NET_ERROR(INCOMPLETE_HTTP2_HEADERS, -347)
681 
682 // No PAC URL configuration could be retrieved from DHCP. This can indicate
683 // either a failure to retrieve the DHCP configuration, or that there was no
684 // PAC URL configured in DHCP.
685 NET_ERROR(PAC_NOT_IN_DHCP, -348)
686 
687 // The HTTP response contained multiple Content-Disposition headers.
688 NET_ERROR(RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION, -349)
689 
690 // The HTTP response contained multiple Location headers.
691 NET_ERROR(RESPONSE_HEADERS_MULTIPLE_LOCATION, -350)
692 
693 // HTTP/2 server refused the request without processing, and sent either a
694 // GOAWAY frame with error code NO_ERROR and Last-Stream-ID lower than the
695 // stream id corresponding to the request indicating that this request has not
696 // been processed yet, or a RST_STREAM frame with error code REFUSED_STREAM.
697 // Client MAY retry (on a different connection).  See RFC7540 Section 8.1.4.
698 NET_ERROR(HTTP2_SERVER_REFUSED_STREAM, -351)
699 
700 // HTTP/2 server didn't respond to the PING message.
701 NET_ERROR(HTTP2_PING_FAILED, -352)
702 
703 // Obsolete.  Kept here to avoid reuse, as the old error can still appear on
704 // histograms.
705 // NET_ERROR(PIPELINE_EVICTION, -353)
706 
707 // The HTTP response body transferred fewer bytes than were advertised by the
708 // Content-Length header when the connection is closed.
709 NET_ERROR(CONTENT_LENGTH_MISMATCH, -354)
710 
711 // The HTTP response body is transferred with Chunked-Encoding, but the
712 // terminating zero-length chunk was never sent when the connection is closed.
713 NET_ERROR(INCOMPLETE_CHUNKED_ENCODING, -355)
714 
715 // There is a QUIC protocol error.
716 NET_ERROR(QUIC_PROTOCOL_ERROR, -356)
717 
718 // The HTTP headers were truncated by an EOF.
719 NET_ERROR(RESPONSE_HEADERS_TRUNCATED, -357)
720 
721 // The QUIC crypto handshake failed.  This means that the server was unable
722 // to read any requests sent, so they may be resent.
723 NET_ERROR(QUIC_HANDSHAKE_FAILED, -358)
724 
725 // Obsolete.  Kept here to avoid reuse, as the old error can still appear on
726 // histograms.
727 // NET_ERROR(REQUEST_FOR_SECURE_RESOURCE_OVER_INSECURE_QUIC, -359)
728 
729 // Transport security is inadequate for the HTTP/2 version.
730 NET_ERROR(HTTP2_INADEQUATE_TRANSPORT_SECURITY, -360)
731 
732 // The peer violated HTTP/2 flow control.
733 NET_ERROR(HTTP2_FLOW_CONTROL_ERROR, -361)
734 
735 // The peer sent an improperly sized HTTP/2 frame.
736 NET_ERROR(HTTP2_FRAME_SIZE_ERROR, -362)
737 
738 // Decoding or encoding of compressed HTTP/2 headers failed.
739 NET_ERROR(HTTP2_COMPRESSION_ERROR, -363)
740 
741 // Proxy Auth Requested without a valid Client Socket Handle.
742 NET_ERROR(PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION, -364)
743 
744 // HTTP_1_1_REQUIRED error code received on HTTP/2 session.
745 NET_ERROR(HTTP_1_1_REQUIRED, -365)
746 
747 // HTTP_1_1_REQUIRED error code received on HTTP/2 session to proxy.
748 NET_ERROR(PROXY_HTTP_1_1_REQUIRED, -366)
749 
750 // The PAC script terminated fatally and must be reloaded.
751 NET_ERROR(PAC_SCRIPT_TERMINATED, -367)
752 
753 // Obsolete. Kept here to avoid reuse.
754 // Request is throttled because of a Backoff header.
755 // See: crbug.com/486891.
756 // NET_ERROR(TEMPORARY_BACKOFF, -369)
757 
758 // The server was expected to return an HTTP/1.x response, but did not. Rather
759 // than treat it as HTTP/0.9, this error is returned.
760 NET_ERROR(INVALID_HTTP_RESPONSE, -370)
761 
762 // Initializing content decoding failed.
763 NET_ERROR(CONTENT_DECODING_INIT_FAILED, -371)
764 
765 // Received HTTP/2 RST_STREAM frame with NO_ERROR error code.  This error should
766 // be handled internally by HTTP/2 code, and should not make it above the
767 // SpdyStream layer.
768 NET_ERROR(HTTP2_RST_STREAM_NO_ERROR_RECEIVED, -372)
769 
770 // The pushed stream claimed by the request is no longer available.
771 NET_ERROR(HTTP2_PUSHED_STREAM_NOT_AVAILABLE, -373)
772 
773 // A pushed stream was claimed and later reset by the server. When this happens,
774 // the request should be retried.
775 NET_ERROR(HTTP2_CLAIMED_PUSHED_STREAM_RESET_BY_SERVER, -374)
776 
777 // An HTTP transaction was retried too many times due for authentication or
778 // invalid certificates. This may be due to a bug in the net stack that would
779 // otherwise infinite loop, or if the server or proxy continually requests fresh
780 // credentials or presents a fresh invalid certificate.
781 NET_ERROR(TOO_MANY_RETRIES, -375)
782 
783 // Received an HTTP/2 frame on a closed stream.
784 NET_ERROR(HTTP2_STREAM_CLOSED, -376)
785 
786 // Client is refusing an HTTP/2 stream.
787 NET_ERROR(HTTP2_CLIENT_REFUSED_STREAM, -377)
788 
789 // A pushed HTTP/2 stream was claimed by a request based on matching URL and
790 // request headers, but the pushed response headers do not match the request.
791 NET_ERROR(HTTP2_PUSHED_RESPONSE_DOES_NOT_MATCH, -378)
792 
793 // The server returned a non-2xx HTTP response code.
794 //
795 // Not that this error is only used by certain APIs that interpret the HTTP
796 // response itself. URLRequest for instance just passes most non-2xx
797 // response back as success.
798 NET_ERROR(HTTP_RESPONSE_CODE_FAILURE, -379)
799 
800 // The certificate presented on a QUIC connection does not chain to a known root
801 // and the origin connected to is not on a list of domains where unknown roots
802 // are allowed.
803 NET_ERROR(QUIC_CERT_ROOT_NOT_KNOWN, -380)
804 
805 // A GOAWAY frame has been received indicating that the request has not been
806 // processed and is therefore safe to retry on a different connection.
807 NET_ERROR(QUIC_GOAWAY_REQUEST_CAN_BE_RETRIED, -381)
808 
809 // The ACCEPT_CH restart has been triggered too many times
810 NET_ERROR(TOO_MANY_ACCEPT_CH_RESTARTS, -382)
811 
812 // The IP address space of the remote endpoint differed from the previous
813 // observed value during the same request. Any cache entry for the affected
814 // request should be invalidated.
815 NET_ERROR(INCONSISTENT_IP_ADDRESS_SPACE, -383)
816 
817 // The IP address space of the cached remote endpoint is blocked by local
818 // network access check.
819 NET_ERROR(CACHED_IP_ADDRESS_SPACE_BLOCKED_BY_LOCAL_NETWORK_ACCESS_POLICY, -384)
820 
821 // The cache does not have the requested entry.
822 NET_ERROR(CACHE_MISS, -400)
823 
824 // Unable to read from the disk cache.
825 NET_ERROR(CACHE_READ_FAILURE, -401)
826 
827 // Unable to write to the disk cache.
828 NET_ERROR(CACHE_WRITE_FAILURE, -402)
829 
830 // The operation is not supported for this entry.
831 NET_ERROR(CACHE_OPERATION_NOT_SUPPORTED, -403)
832 
833 // The disk cache is unable to open this entry.
834 NET_ERROR(CACHE_OPEN_FAILURE, -404)
835 
836 // The disk cache is unable to create this entry.
837 NET_ERROR(CACHE_CREATE_FAILURE, -405)
838 
839 // Multiple transactions are racing to create disk cache entries. This is an
840 // internal error returned from the HttpCache to the HttpCacheTransaction that
841 // tells the transaction to restart the entry-creation logic because the state
842 // of the cache has changed.
843 NET_ERROR(CACHE_RACE, -406)
844 
845 // The cache was unable to read a checksum record on an entry. This can be
846 // returned from attempts to read from the cache. It is an internal error,
847 // returned by the SimpleCache backend, but not by any URLRequest methods
848 // or members.
849 NET_ERROR(CACHE_CHECKSUM_READ_FAILURE, -407)
850 
851 // The cache found an entry with an invalid checksum. This can be returned from
852 // attempts to read from the cache. It is an internal error, returned by the
853 // SimpleCache backend, but not by any URLRequest methods or members.
854 NET_ERROR(CACHE_CHECKSUM_MISMATCH, -408)
855 
856 // Internal error code for the HTTP cache. The cache lock timeout has fired.
857 NET_ERROR(CACHE_LOCK_TIMEOUT, -409)
858 
859 // Received a challenge after the transaction has read some data, and the
860 // credentials aren't available.  There isn't a way to get them at that point.
861 NET_ERROR(CACHE_AUTH_FAILURE_AFTER_READ, -410)
862 
863 // Internal not-quite error code for the HTTP cache. In-memory hints suggest
864 // that the cache entry would not have been usable with the transaction's
865 // current configuration (e.g. load flags, mode, etc.)
866 NET_ERROR(CACHE_ENTRY_NOT_SUITABLE, -411)
867 
868 // The disk cache is unable to doom this entry.
869 NET_ERROR(CACHE_DOOM_FAILURE, -412)
870 
871 // The disk cache is unable to open or create this entry.
872 NET_ERROR(CACHE_OPEN_OR_CREATE_FAILURE, -413)
873 
874 // The server's response was insecure (e.g. there was a cert error).
875 NET_ERROR(INSECURE_RESPONSE, -501)
876 
877 // An attempt to import a client certificate failed, as the user's key
878 // database lacked a corresponding private key.
879 NET_ERROR(NO_PRIVATE_KEY_FOR_CERT, -502)
880 
881 // An error adding a certificate to the OS certificate database.
882 NET_ERROR(ADD_USER_CERT_FAILED, -503)
883 
884 // An error occurred while handling a signed exchange.
885 NET_ERROR(INVALID_SIGNED_EXCHANGE, -504)
886 
887 // An error occurred while handling a Web Bundle source.
888 NET_ERROR(INVALID_WEB_BUNDLE, -505)
889 
890 // A Trust Tokens protocol operation-executing request failed for one of a
891 // number of reasons (precondition failure, internal error, bad response).
892 NET_ERROR(TRUST_TOKEN_OPERATION_FAILED, -506)
893 
894 // When handling a Trust Tokens protocol operation-executing request, the system
895 // was able to execute the request's Trust Tokens operation without sending the
896 // request to its destination: for instance, the results could have been present
897 // in a local cache (for redemption) or the operation could have been diverted
898 // to a local provider (for "platform-provided" issuance).
899 NET_ERROR(TRUST_TOKEN_OPERATION_SUCCESS_WITHOUT_SENDING_REQUEST, -507)
900 
901 // *** Code -600 is reserved (was FTP_PASV_COMMAND_FAILED). ***
902 
903 // A generic error for failed FTP control connection command.
904 // If possible, please use or add a more specific error code.
905 NET_ERROR(FTP_FAILED, -601)
906 
907 // The server cannot fulfill the request at this point. This is a temporary
908 // error.
909 // FTP response code 421.
910 NET_ERROR(FTP_SERVICE_UNAVAILABLE, -602)
911 
912 // The server has aborted the transfer.
913 // FTP response code 426.
914 NET_ERROR(FTP_TRANSFER_ABORTED, -603)
915 
916 // The file is busy, or some other temporary error condition on opening
917 // the file.
918 // FTP response code 450.
919 NET_ERROR(FTP_FILE_BUSY, -604)
920 
921 // Server rejected our command because of syntax errors.
922 // FTP response codes 500, 501.
923 NET_ERROR(FTP_SYNTAX_ERROR, -605)
924 
925 // Server does not support the command we issued.
926 // FTP response codes 502, 504.
927 NET_ERROR(FTP_COMMAND_NOT_SUPPORTED, -606)
928 
929 // Server rejected our command because we didn't issue the commands in right
930 // order.
931 // FTP response code 503.
932 NET_ERROR(FTP_BAD_COMMAND_SEQUENCE, -607)
933 
934 // PKCS #12 import failed due to incorrect password.
935 NET_ERROR(PKCS12_IMPORT_BAD_PASSWORD, -701)
936 
937 // PKCS #12 import failed due to other error.
938 NET_ERROR(PKCS12_IMPORT_FAILED, -702)
939 
940 // CA import failed - not a CA cert.
941 NET_ERROR(IMPORT_CA_CERT_NOT_CA, -703)
942 
943 // Import failed - certificate already exists in database.
944 // Note it's a little weird this is an error but reimporting a PKCS12 is ok
945 // (no-op).  That's how Mozilla does it, though.
946 NET_ERROR(IMPORT_CERT_ALREADY_EXISTS, -704)
947 
948 // CA import failed due to some other error.
949 NET_ERROR(IMPORT_CA_CERT_FAILED, -705)
950 
951 // Server certificate import failed due to some internal error.
952 NET_ERROR(IMPORT_SERVER_CERT_FAILED, -706)
953 
954 // PKCS #12 import failed due to invalid MAC.
955 NET_ERROR(PKCS12_IMPORT_INVALID_MAC, -707)
956 
957 // PKCS #12 import failed due to invalid/corrupt file.
958 NET_ERROR(PKCS12_IMPORT_INVALID_FILE, -708)
959 
960 // PKCS #12 import failed due to unsupported features.
961 NET_ERROR(PKCS12_IMPORT_UNSUPPORTED, -709)
962 
963 // Key generation failed.
964 NET_ERROR(KEY_GENERATION_FAILED, -710)
965 
966 // Error -711 was removed (ORIGIN_BOUND_CERT_GENERATION_FAILED)
967 
968 // Failure to export private key.
969 NET_ERROR(PRIVATE_KEY_EXPORT_FAILED, -712)
970 
971 // Self-signed certificate generation failed.
972 NET_ERROR(SELF_SIGNED_CERT_GENERATION_FAILED, -713)
973 
974 // The certificate database changed in some way.
975 NET_ERROR(CERT_DATABASE_CHANGED, -714)
976 
977 // Error -715 was removed (CHANNEL_ID_IMPORT_FAILED)
978 
979 // The certificate verifier configuration changed in some way.
980 NET_ERROR(CERT_VERIFIER_CHANGED, -716)
981 
982 // DNS error codes.
983 
984 // DNS resolver received a malformed response.
985 NET_ERROR(DNS_MALFORMED_RESPONSE, -800)
986 
987 // DNS server requires TCP
988 NET_ERROR(DNS_SERVER_REQUIRES_TCP, -801)
989 
990 // DNS server failed.  This error is returned for all of the following
991 // error conditions:
992 // 1 - Format error - The name server was unable to interpret the query.
993 // 2 - Server failure - The name server was unable to process this query
994 //     due to a problem with the name server.
995 // 4 - Not Implemented - The name server does not support the requested
996 //     kind of query.
997 // 5 - Refused - The name server refuses to perform the specified
998 //     operation for policy reasons.
999 NET_ERROR(DNS_SERVER_FAILED, -802)
1000 
1001 // DNS transaction timed out.
1002 NET_ERROR(DNS_TIMED_OUT, -803)
1003 
1004 // The entry was not found in cache or other local sources, for lookups where
1005 // only local sources were queried.
1006 // TODO(ericorth): Consider renaming to DNS_LOCAL_MISS or something like that as
1007 // the cache is not necessarily queried either.
1008 NET_ERROR(DNS_CACHE_MISS, -804)
1009 
1010 // Suffix search list rules prevent resolution of the given host name.
1011 NET_ERROR(DNS_SEARCH_EMPTY, -805)
1012 
1013 // Failed to sort addresses according to RFC3484.
1014 NET_ERROR(DNS_SORT_ERROR, -806)
1015 
1016 // Error -807 was removed (DNS_HTTP_FAILED)
1017 
1018 // Failed to resolve the hostname of a DNS-over-HTTPS server.
1019 NET_ERROR(DNS_SECURE_RESOLVER_HOSTNAME_RESOLUTION_FAILED, -808)
1020 
1021 // DNS identified the request as disallowed for insecure connection (http/ws).
1022 // Error should be handled as if an HTTP redirect was received to redirect to
1023 // https or wss.
1024 NET_ERROR(DNS_NAME_HTTPS_ONLY, -809)
1025 
1026 // All DNS requests associated with this job have been cancelled.
1027 NET_ERROR(DNS_REQUEST_CANCELLED, -810)
1028 
1029 // The hostname resolution of HTTPS record was expected to be resolved with
1030 // alpn values of supported protocols, but did not.
1031 NET_ERROR(DNS_NO_MATCHING_SUPPORTED_ALPN, -811)
1032