1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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. 7 8 // This file contains the list of network errors. 9 10 // 11 // Ranges: 12 // 0- 99 System related errors 13 // 100-199 Connection related errors 14 // 200-299 Certificate errors 15 // 300-399 HTTP errors 16 // 400-499 Cache errors 17 // 500-599 ? 18 // 600-699 FTP errors 19 // 700-799 Certificate manager errors 20 // 800-899 DNS resolver errors 21 22 // An asynchronous IO operation is not yet complete. This usually does not 23 // indicate a fatal error. Typically this error will be generated as a 24 // notification to wait for some external notification that the IO operation 25 // finally completed. 26 NET_ERROR(IO_PENDING, -1) 27 28 // A generic failure occurred. 29 NET_ERROR(FAILED, -2) 30 31 // An operation was aborted (due to user action). 32 NET_ERROR(ABORTED, -3) 33 34 // An argument to the function is incorrect. 35 NET_ERROR(INVALID_ARGUMENT, -4) 36 37 // The handle or file descriptor is invalid. 38 NET_ERROR(INVALID_HANDLE, -5) 39 40 // The file or directory cannot be found. 41 NET_ERROR(FILE_NOT_FOUND, -6) 42 43 // An operation timed out. 44 NET_ERROR(TIMED_OUT, -7) 45 46 // The file is too large. 47 NET_ERROR(FILE_TOO_BIG, -8) 48 49 // An unexpected error. This may be caused by a programming mistake or an 50 // invalid assumption. 51 NET_ERROR(UNEXPECTED, -9) 52 53 // Permission to access a resource, other than the network, was denied. 54 NET_ERROR(ACCESS_DENIED, -10) 55 56 // The operation failed because of unimplemented functionality. 57 NET_ERROR(NOT_IMPLEMENTED, -11) 58 59 // There were not enough resources to complete the operation. 60 NET_ERROR(INSUFFICIENT_RESOURCES, -12) 61 62 // Memory allocation failed. 63 NET_ERROR(OUT_OF_MEMORY, -13) 64 65 // The file upload failed because the file's modification time was different 66 // from the expectation. 67 NET_ERROR(UPLOAD_FILE_CHANGED, -14) 68 69 // The socket is not connected. 70 NET_ERROR(SOCKET_NOT_CONNECTED, -15) 71 72 // The file already exists. 73 NET_ERROR(FILE_EXISTS, -16) 74 75 // The path or file name is too long. 76 NET_ERROR(FILE_PATH_TOO_LONG, -17) 77 78 // Not enough room left on the disk. 79 NET_ERROR(FILE_NO_SPACE, -18) 80 81 // The file has a virus. 82 NET_ERROR(FILE_VIRUS_INFECTED, -19) 83 84 // The client chose to block the request. 85 NET_ERROR(BLOCKED_BY_CLIENT, -20) 86 87 // The network changed. 88 NET_ERROR(NETWORK_CHANGED, -21) 89 90 // The request was blocked by the URL blacklist configured by the domain 91 // administrator. 92 NET_ERROR(BLOCKED_BY_ADMINISTRATOR, -22) 93 94 // The socket is already connected. 95 NET_ERROR(SOCKET_IS_CONNECTED, -23) 96 97 // The request was blocked because the forced reenrollment check is still 98 // pending. This error can only occur on ChromeOS. 99 // The error can be emitted by code in c/b/policy/policy_helpers.cc. 100 NET_ERROR(BLOCKED_ENROLLMENT_CHECK_PENDING, -24) 101 102 // A connection was closed (corresponding to a TCP FIN). 103 NET_ERROR(CONNECTION_CLOSED, -100) 104 105 // A connection was reset (corresponding to a TCP RST). 106 NET_ERROR(CONNECTION_RESET, -101) 107 108 // A connection attempt was refused. 109 NET_ERROR(CONNECTION_REFUSED, -102) 110 111 // A connection timed out as a result of not receiving an ACK for data sent. 112 // This can include a FIN packet that did not get ACK'd. 113 NET_ERROR(CONNECTION_ABORTED, -103) 114 115 // A connection attempt failed. 116 NET_ERROR(CONNECTION_FAILED, -104) 117 118 // The host name could not be resolved. 119 NET_ERROR(NAME_NOT_RESOLVED, -105) 120 121 // The Internet connection has been lost. 122 NET_ERROR(INTERNET_DISCONNECTED, -106) 123 124 // An SSL protocol error occurred. 125 NET_ERROR(SSL_PROTOCOL_ERROR, -107) 126 127 // The IP address or port number is invalid (e.g., cannot connect to the IP 128 // address 0 or the port 0). 129 NET_ERROR(ADDRESS_INVALID, -108) 130 131 // The IP address is unreachable. This usually means that there is no route to 132 // the specified host or network. 133 NET_ERROR(ADDRESS_UNREACHABLE, -109) 134 135 // The server requested a client certificate for SSL client authentication. 136 NET_ERROR(SSL_CLIENT_AUTH_CERT_NEEDED, -110) 137 138 // A tunnel connection through the proxy could not be established. 139 NET_ERROR(TUNNEL_CONNECTION_FAILED, -111) 140 141 // No SSL protocol versions are enabled. 142 NET_ERROR(NO_SSL_VERSIONS_ENABLED, -112) 143 144 // The client and server don't support a common SSL protocol version or 145 // cipher suite. 146 NET_ERROR(SSL_VERSION_OR_CIPHER_MISMATCH, -113) 147 148 // The server requested a renegotiation (rehandshake). 149 NET_ERROR(SSL_RENEGOTIATION_REQUESTED, -114) 150 151 // The proxy requested authentication (for tunnel establishment) with an 152 // unsupported method. 153 NET_ERROR(PROXY_AUTH_UNSUPPORTED, -115) 154 155 // During SSL renegotiation (rehandshake), the server sent a certificate with 156 // an error. 157 // 158 // Note: this error is not in the -2xx range so that it won't be handled as a 159 // certificate error. 160 NET_ERROR(CERT_ERROR_IN_SSL_RENEGOTIATION, -116) 161 162 // The SSL handshake failed because of a bad or missing client certificate. 163 NET_ERROR(BAD_SSL_CLIENT_AUTH_CERT, -117) 164 165 // A connection attempt timed out. 166 NET_ERROR(CONNECTION_TIMED_OUT, -118) 167 168 // There are too many pending DNS resolves, so a request in the queue was 169 // aborted. 170 NET_ERROR(HOST_RESOLVER_QUEUE_TOO_LARGE, -119) 171 172 // Failed establishing a connection to the SOCKS proxy server for a target host. 173 NET_ERROR(SOCKS_CONNECTION_FAILED, -120) 174 175 // The SOCKS proxy server failed establishing connection to the target host 176 // because that host is unreachable. 177 NET_ERROR(SOCKS_CONNECTION_HOST_UNREACHABLE, -121) 178 179 // The request to negotiate an alternate protocol failed. 180 NET_ERROR(NPN_NEGOTIATION_FAILED, -122) 181 182 // The peer sent an SSL no_renegotiation alert message. 183 NET_ERROR(SSL_NO_RENEGOTIATION, -123) 184 185 // Winsock sometimes reports more data written than passed. This is probably 186 // due to a broken LSP. 187 NET_ERROR(WINSOCK_UNEXPECTED_WRITTEN_BYTES, -124) 188 189 // An SSL peer sent us a fatal decompression_failure alert. This typically 190 // occurs when a peer selects DEFLATE compression in the mistaken belief that 191 // it supports it. 192 NET_ERROR(SSL_DECOMPRESSION_FAILURE_ALERT, -125) 193 194 // An SSL peer sent us a fatal bad_record_mac alert. This has been observed 195 // from servers with buggy DEFLATE support. 196 NET_ERROR(SSL_BAD_RECORD_MAC_ALERT, -126) 197 198 // The proxy requested authentication (for tunnel establishment). 199 NET_ERROR(PROXY_AUTH_REQUESTED, -127) 200 201 // A known TLS strict server didn't offer the renegotiation extension. 202 NET_ERROR(SSL_UNSAFE_NEGOTIATION, -128) 203 204 // The SSL server attempted to use a weak ephemeral Diffie-Hellman key. 205 NET_ERROR(SSL_WEAK_SERVER_EPHEMERAL_DH_KEY, -129) 206 207 // Could not create a connection to the proxy server. An error occurred 208 // either in resolving its name, or in connecting a socket to it. 209 // Note that this does NOT include failures during the actual "CONNECT" method 210 // of an HTTP proxy. 211 NET_ERROR(PROXY_CONNECTION_FAILED, -130) 212 213 // A mandatory proxy configuration could not be used. Currently this means 214 // that a mandatory PAC script could not be fetched, parsed or executed. 215 NET_ERROR(MANDATORY_PROXY_CONFIGURATION_FAILED, -131) 216 217 // -132 was formerly ERR_ESET_ANTI_VIRUS_SSL_INTERCEPTION 218 219 // We've hit the max socket limit for the socket pool while preconnecting. We 220 // don't bother trying to preconnect more sockets. 221 NET_ERROR(PRECONNECT_MAX_SOCKET_LIMIT, -133) 222 223 // The permission to use the SSL client certificate's private key was denied. 224 NET_ERROR(SSL_CLIENT_AUTH_PRIVATE_KEY_ACCESS_DENIED, -134) 225 226 // The SSL client certificate has no private key. 227 NET_ERROR(SSL_CLIENT_AUTH_CERT_NO_PRIVATE_KEY, -135) 228 229 // The certificate presented by the HTTPS Proxy was invalid. 230 NET_ERROR(PROXY_CERTIFICATE_INVALID, -136) 231 232 // An error occurred when trying to do a name resolution (DNS). 233 NET_ERROR(NAME_RESOLUTION_FAILED, -137) 234 235 // Permission to access the network was denied. This is used to distinguish 236 // errors that were most likely caused by a firewall from other access denied 237 // errors. See also ERR_ACCESS_DENIED. 238 NET_ERROR(NETWORK_ACCESS_DENIED, -138) 239 240 // The request throttler module cancelled this request to avoid DDOS. 241 NET_ERROR(TEMPORARILY_THROTTLED, -139) 242 243 // A request to create an SSL tunnel connection through the HTTPS proxy 244 // received a non-200 (OK) and non-407 (Proxy Auth) response. The response 245 // body might include a description of why the request failed. 246 NET_ERROR(HTTPS_PROXY_TUNNEL_RESPONSE, -140) 247 248 // We were unable to sign the CertificateVerify data of an SSL client auth 249 // handshake with the client certificate's private key. 250 // 251 // Possible causes for this include the user implicitly or explicitly 252 // denying access to the private key, the private key may not be valid for 253 // signing, the key may be relying on a cached handle which is no longer 254 // valid, or the CSP won't allow arbitrary data to be signed. 255 NET_ERROR(SSL_CLIENT_AUTH_SIGNATURE_FAILED, -141) 256 257 // The message was too large for the transport. (for example a UDP message 258 // which exceeds size threshold). 259 NET_ERROR(MSG_TOO_BIG, -142) 260 261 // A SPDY session already exists, and should be used instead of this connection. 262 NET_ERROR(SPDY_SESSION_ALREADY_EXISTS, -143) 263 264 // Error -144 was removed (LIMIT_VIOLATION). 265 266 // Websocket protocol error. Indicates that we are terminating the connection 267 // due to a malformed frame or other protocol violation. 268 NET_ERROR(WS_PROTOCOL_ERROR, -145) 269 270 // Connection was aborted for switching to another ptotocol. 271 // WebSocket abort SocketStream connection when alternate protocol is found. 272 NET_ERROR(PROTOCOL_SWITCHED, -146) 273 274 // Returned when attempting to bind an address that is already in use. 275 NET_ERROR(ADDRESS_IN_USE, -147) 276 277 // An operation failed because the SSL handshake has not completed. 278 NET_ERROR(SSL_HANDSHAKE_NOT_COMPLETED, -148) 279 280 // SSL peer's public key is invalid. 281 NET_ERROR(SSL_BAD_PEER_PUBLIC_KEY, -149) 282 283 // The certificate didn't match the built-in public key pins for the host name. 284 // The pins are set in net/http/transport_security_state.cc and require that 285 // one of a set of public keys exist on the path from the leaf to the root. 286 NET_ERROR(SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, -150) 287 288 // Server request for client certificate did not contain any types we support. 289 NET_ERROR(CLIENT_AUTH_CERT_TYPE_UNSUPPORTED, -151) 290 291 // Server requested one type of cert, then requested a different type while the 292 // first was still being generated. 293 NET_ERROR(ORIGIN_BOUND_CERT_GENERATION_TYPE_MISMATCH, -152) 294 295 // An SSL peer sent us a fatal decrypt_error alert. This typically occurs when 296 // a peer could not correctly verify a signature (in CertificateVerify or 297 // ServerKeyExchange) or validate a Finished message. 298 NET_ERROR(SSL_DECRYPT_ERROR_ALERT, -153) 299 300 // There are too many pending WebSocketJob instances, so the new job was not 301 // pushed to the queue. 302 NET_ERROR(WS_THROTTLE_QUEUE_TOO_LARGE, -154) 303 304 // There are too many active SocketStream instances, so the new connect request 305 // was rejected. 306 NET_ERROR(TOO_MANY_SOCKET_STREAMS, -155) 307 308 // The SSL server certificate changed in a renegotiation. 309 NET_ERROR(SSL_SERVER_CERT_CHANGED, -156) 310 311 // The SSL server indicated that an unnecessary TLS version fallback was 312 // performed. 313 NET_ERROR(SSL_INAPPROPRIATE_FALLBACK, -157) 314 315 // Certificate Transparency: All Signed Certificate Timestamps failed to verify. 316 NET_ERROR(CT_NO_SCTS_VERIFIED_OK, -158) 317 318 // The SSL server sent us a fatal unrecognized_name alert. 319 NET_ERROR(SSL_UNRECOGNIZED_NAME_ALERT, -159) 320 321 // Failed to set the socket's receive buffer size as requested. 322 NET_ERROR(SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR, -160) 323 324 // Failed to set the socket's send buffer size as requested. 325 NET_ERROR(SOCKET_SET_SEND_BUFFER_SIZE_ERROR, -161) 326 327 // Failed to set the socket's receive buffer size as requested, despite success 328 // return code from setsockopt. 329 NET_ERROR(SOCKET_RECEIVE_BUFFER_SIZE_UNCHANGEABLE, -162) 330 331 // Failed to set the socket's send buffer size as requested, despite success 332 // return code from setsockopt. 333 NET_ERROR(SOCKET_SEND_BUFFER_SIZE_UNCHANGEABLE, -163) 334 335 // Certificate error codes 336 // 337 // The values of certificate error codes must be consecutive. 338 339 // The server responded with a certificate whose common name did not match 340 // the host name. This could mean: 341 // 342 // 1. An attacker has redirected our traffic to his server and is 343 // presenting a certificate for which he knows the private key. 344 // 345 // 2. The server is misconfigured and responding with the wrong cert. 346 // 347 // 3. The user is on a wireless network and is being redirected to the 348 // network's login page. 349 // 350 // 4. The OS has used a DNS search suffix and the server doesn't have 351 // a certificate for the abbreviated name in the address bar. 352 // 353 NET_ERROR(CERT_COMMON_NAME_INVALID, -200) 354 355 // The server responded with a certificate that, by our clock, appears to 356 // either not yet be valid or to have expired. This could mean: 357 // 358 // 1. An attacker is presenting an old certificate for which he has 359 // managed to obtain the private key. 360 // 361 // 2. The server is misconfigured and is not presenting a valid cert. 362 // 363 // 3. Our clock is wrong. 364 // 365 NET_ERROR(CERT_DATE_INVALID, -201) 366 367 // The server responded with a certificate that is signed by an authority 368 // we don't trust. The could mean: 369 // 370 // 1. An attacker has substituted the real certificate for a cert that 371 // contains his public key and is signed by his cousin. 372 // 373 // 2. The server operator has a legitimate certificate from a CA we don't 374 // know about, but should trust. 375 // 376 // 3. The server is presenting a self-signed certificate, providing no 377 // defense against active attackers (but foiling passive attackers). 378 // 379 NET_ERROR(CERT_AUTHORITY_INVALID, -202) 380 381 // The server responded with a certificate that contains errors. 382 // This error is not recoverable. 383 // 384 // MSDN describes this error as follows: 385 // "The SSL certificate contains errors." 386 // NOTE: It's unclear how this differs from ERR_CERT_INVALID. For consistency, 387 // use that code instead of this one from now on. 388 // 389 NET_ERROR(CERT_CONTAINS_ERRORS, -203) 390 391 // The certificate has no mechanism for determining if it is revoked. In 392 // effect, this certificate cannot be revoked. 393 NET_ERROR(CERT_NO_REVOCATION_MECHANISM, -204) 394 395 // Revocation information for the security certificate for this site is not 396 // available. This could mean: 397 // 398 // 1. An attacker has compromised the private key in the certificate and is 399 // blocking our attempt to find out that the cert was revoked. 400 // 401 // 2. The certificate is unrevoked, but the revocation server is busy or 402 // unavailable. 403 // 404 NET_ERROR(CERT_UNABLE_TO_CHECK_REVOCATION, -205) 405 406 // The server responded with a certificate has been revoked. 407 // We have the capability to ignore this error, but it is probably not the 408 // thing to do. 409 NET_ERROR(CERT_REVOKED, -206) 410 411 // The server responded with a certificate that is invalid. 412 // This error is not recoverable. 413 // 414 // MSDN describes this error as follows: 415 // "The SSL certificate is invalid." 416 // 417 NET_ERROR(CERT_INVALID, -207) 418 419 // The server responded with a certificate that is signed using a weak 420 // signature algorithm. 421 NET_ERROR(CERT_WEAK_SIGNATURE_ALGORITHM, -208) 422 423 // -209 is availible: was CERT_NOT_IN_DNS. 424 425 // The host name specified in the certificate is not unique. 426 NET_ERROR(CERT_NON_UNIQUE_NAME, -210) 427 428 // The server responded with a certificate that contains a weak key (e.g. 429 // a too-small RSA key). 430 NET_ERROR(CERT_WEAK_KEY, -211) 431 432 // The certificate claimed DNS names that are in violation of name constraints. 433 NET_ERROR(CERT_NAME_CONSTRAINT_VIOLATION, -212) 434 435 // Add new certificate error codes here. 436 // 437 // Update the value of CERT_END whenever you add a new certificate error 438 // code. 439 440 // The value immediately past the last certificate error code. 441 NET_ERROR(CERT_END, -213) 442 443 // The URL is invalid. 444 NET_ERROR(INVALID_URL, -300) 445 446 // The scheme of the URL is disallowed. 447 NET_ERROR(DISALLOWED_URL_SCHEME, -301) 448 449 // The scheme of the URL is unknown. 450 NET_ERROR(UNKNOWN_URL_SCHEME, -302) 451 452 // Attempting to load an URL resulted in too many redirects. 453 NET_ERROR(TOO_MANY_REDIRECTS, -310) 454 455 // Attempting to load an URL resulted in an unsafe redirect (e.g., a redirect 456 // to file:// is considered unsafe). 457 NET_ERROR(UNSAFE_REDIRECT, -311) 458 459 // Attempting to load an URL with an unsafe port number. These are port 460 // numbers that correspond to services, which are not robust to spurious input 461 // that may be constructed as a result of an allowed web construct (e.g., HTTP 462 // looks a lot like SMTP, so form submission to port 25 is denied). 463 NET_ERROR(UNSAFE_PORT, -312) 464 465 // The server's response was invalid. 466 NET_ERROR(INVALID_RESPONSE, -320) 467 468 // Error in chunked transfer encoding. 469 NET_ERROR(INVALID_CHUNKED_ENCODING, -321) 470 471 // The server did not support the request method. 472 NET_ERROR(METHOD_NOT_SUPPORTED, -322) 473 474 // The response was 407 (Proxy Authentication Required), yet we did not send 475 // the request to a proxy. 476 NET_ERROR(UNEXPECTED_PROXY_AUTH, -323) 477 478 // The server closed the connection without sending any data. 479 NET_ERROR(EMPTY_RESPONSE, -324) 480 481 // The headers section of the response is too large. 482 NET_ERROR(RESPONSE_HEADERS_TOO_BIG, -325) 483 484 // The PAC requested by HTTP did not have a valid status code (non-200). 485 NET_ERROR(PAC_STATUS_NOT_OK, -326) 486 487 // The evaluation of the PAC script failed. 488 NET_ERROR(PAC_SCRIPT_FAILED, -327) 489 490 // The response was 416 (Requested range not satisfiable) and the server cannot 491 // satisfy the range requested. 492 NET_ERROR(REQUEST_RANGE_NOT_SATISFIABLE, -328) 493 494 // The identity used for authentication is invalid. 495 NET_ERROR(MALFORMED_IDENTITY, -329) 496 497 // Content decoding of the response body failed. 498 NET_ERROR(CONTENT_DECODING_FAILED, -330) 499 500 // An operation could not be completed because all network IO 501 // is suspended. 502 NET_ERROR(NETWORK_IO_SUSPENDED, -331) 503 504 // FLIP data received without receiving a SYN_REPLY on the stream. 505 NET_ERROR(SYN_REPLY_NOT_RECEIVED, -332) 506 507 // Converting the response to target encoding failed. 508 NET_ERROR(ENCODING_CONVERSION_FAILED, -333) 509 510 // The server sent an FTP directory listing in a format we do not understand. 511 NET_ERROR(UNRECOGNIZED_FTP_DIRECTORY_LISTING_FORMAT, -334) 512 513 // Attempted use of an unknown SPDY stream id. 514 NET_ERROR(INVALID_SPDY_STREAM, -335) 515 516 // There are no supported proxies in the provided list. 517 NET_ERROR(NO_SUPPORTED_PROXIES, -336) 518 519 // There is a SPDY protocol error. 520 NET_ERROR(SPDY_PROTOCOL_ERROR, -337) 521 522 // Credentials could not be established during HTTP Authentication. 523 NET_ERROR(INVALID_AUTH_CREDENTIALS, -338) 524 525 // An HTTP Authentication scheme was tried which is not supported on this 526 // machine. 527 NET_ERROR(UNSUPPORTED_AUTH_SCHEME, -339) 528 529 // Detecting the encoding of the response failed. 530 NET_ERROR(ENCODING_DETECTION_FAILED, -340) 531 532 // (GSSAPI) No Kerberos credentials were available during HTTP Authentication. 533 NET_ERROR(MISSING_AUTH_CREDENTIALS, -341) 534 535 // An unexpected, but documented, SSPI or GSSAPI status code was returned. 536 NET_ERROR(UNEXPECTED_SECURITY_LIBRARY_STATUS, -342) 537 538 // The environment was not set up correctly for authentication (for 539 // example, no KDC could be found or the principal is unknown. 540 NET_ERROR(MISCONFIGURED_AUTH_ENVIRONMENT, -343) 541 542 // An undocumented SSPI or GSSAPI status code was returned. 543 NET_ERROR(UNDOCUMENTED_SECURITY_LIBRARY_STATUS, -344) 544 545 // The HTTP response was too big to drain. 546 NET_ERROR(RESPONSE_BODY_TOO_BIG_TO_DRAIN, -345) 547 548 // The HTTP response contained multiple distinct Content-Length headers. 549 NET_ERROR(RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH, -346) 550 551 // SPDY Headers have been received, but not all of them - status or version 552 // headers are missing, so we're expecting additional frames to complete them. 553 NET_ERROR(INCOMPLETE_SPDY_HEADERS, -347) 554 555 // No PAC URL configuration could be retrieved from DHCP. This can indicate 556 // either a failure to retrieve the DHCP configuration, or that there was no 557 // PAC URL configured in DHCP. 558 NET_ERROR(PAC_NOT_IN_DHCP, -348) 559 560 // The HTTP response contained multiple Content-Disposition headers. 561 NET_ERROR(RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION, -349) 562 563 // The HTTP response contained multiple Location headers. 564 NET_ERROR(RESPONSE_HEADERS_MULTIPLE_LOCATION, -350) 565 566 // SPDY server refused the stream. Client should retry. This should never be a 567 // user-visible error. 568 NET_ERROR(SPDY_SERVER_REFUSED_STREAM, -351) 569 570 // SPDY server didn't respond to the PING message. 571 NET_ERROR(SPDY_PING_FAILED, -352) 572 573 // Obsolete. Kept here to avoid reuse, as the old error can still appear on 574 // histograms. 575 // NET_ERROR(PIPELINE_EVICTION, -353) 576 577 // The HTTP response body transferred fewer bytes than were advertised by the 578 // Content-Length header when the connection is closed. 579 NET_ERROR(CONTENT_LENGTH_MISMATCH, -354) 580 581 // The HTTP response body is transferred with Chunked-Encoding, but the 582 // terminating zero-length chunk was never sent when the connection is closed. 583 NET_ERROR(INCOMPLETE_CHUNKED_ENCODING, -355) 584 585 // There is a QUIC protocol error. 586 NET_ERROR(QUIC_PROTOCOL_ERROR, -356) 587 588 // The HTTP headers were truncated by an EOF. 589 NET_ERROR(RESPONSE_HEADERS_TRUNCATED, -357) 590 591 // The QUIC crytpo handshake failed. This means that the server was unable 592 // to read any requests sent, so they may be resent. 593 NET_ERROR(QUIC_HANDSHAKE_FAILED, -358) 594 595 // An https resource was requested over an insecure QUIC connection. 596 NET_ERROR(REQUEST_FOR_SECURE_RESOURCE_OVER_INSECURE_QUIC, -359) 597 598 // Transport security is inadequate for the SPDY version. 599 NET_ERROR(SPDY_INADEQUATE_TRANSPORT_SECURITY, -360) 600 601 // The peer violated SPDY flow control. 602 NET_ERROR(SPDY_FLOW_CONTROL_ERROR, -361) 603 604 // The peer sent an improperly sized SPDY frame. 605 NET_ERROR(SPDY_FRAME_SIZE_ERROR, -362) 606 607 // Decoding or encoding of compressed SPDY headers failed. 608 NET_ERROR(SPDY_COMPRESSION_ERROR, -363) 609 610 // Proxy Auth Requested without a valid Client Socket Handle. 611 NET_ERROR(PROXY_AUTH_REQUESTED_WITH_NO_CONNECTION, -364) 612 613 // The cache does not have the requested entry. 614 NET_ERROR(CACHE_MISS, -400) 615 616 // Unable to read from the disk cache. 617 NET_ERROR(CACHE_READ_FAILURE, -401) 618 619 // Unable to write to the disk cache. 620 NET_ERROR(CACHE_WRITE_FAILURE, -402) 621 622 // The operation is not supported for this entry. 623 NET_ERROR(CACHE_OPERATION_NOT_SUPPORTED, -403) 624 625 // The disk cache is unable to open this entry. 626 NET_ERROR(CACHE_OPEN_FAILURE, -404) 627 628 // The disk cache is unable to create this entry. 629 NET_ERROR(CACHE_CREATE_FAILURE, -405) 630 631 // Multiple transactions are racing to create disk cache entries. This is an 632 // internal error returned from the HttpCache to the HttpCacheTransaction that 633 // tells the transaction to restart the entry-creation logic because the state 634 // of the cache has changed. 635 NET_ERROR(CACHE_RACE, -406) 636 637 // The cache was unable to read a checksum record on an entry. This can be 638 // returned from attempts to read from the cache. It is an internal error, 639 // returned by the SimpleCache backend, but not by any URLRequest methods 640 // or members. 641 NET_ERROR(CACHE_CHECKSUM_READ_FAILURE, -407) 642 643 // The cache found an entry with an invalid checksum. This can be returned from 644 // attempts to read from the cache. It is an internal error, returned by the 645 // SimpleCache backend, but not by any URLRequest methods or members. 646 NET_ERROR(CACHE_CHECKSUM_MISMATCH, -408) 647 648 // The server's response was insecure (e.g. there was a cert error). 649 NET_ERROR(INSECURE_RESPONSE, -501) 650 651 // The server responded to a <keygen> with a generated client cert that we 652 // don't have the matching private key for. 653 NET_ERROR(NO_PRIVATE_KEY_FOR_CERT, -502) 654 655 // An error adding to the OS certificate database (e.g. OS X Keychain). 656 NET_ERROR(ADD_USER_CERT_FAILED, -503) 657 658 // *** Code -600 is reserved (was FTP_PASV_COMMAND_FAILED). *** 659 660 // A generic error for failed FTP control connection command. 661 // If possible, please use or add a more specific error code. 662 NET_ERROR(FTP_FAILED, -601) 663 664 // The server cannot fulfill the request at this point. This is a temporary 665 // error. 666 // FTP response code 421. 667 NET_ERROR(FTP_SERVICE_UNAVAILABLE, -602) 668 669 // The server has aborted the transfer. 670 // FTP response code 426. 671 NET_ERROR(FTP_TRANSFER_ABORTED, -603) 672 673 // The file is busy, or some other temporary error condition on opening 674 // the file. 675 // FTP response code 450. 676 NET_ERROR(FTP_FILE_BUSY, -604) 677 678 // Server rejected our command because of syntax errors. 679 // FTP response codes 500, 501. 680 NET_ERROR(FTP_SYNTAX_ERROR, -605) 681 682 // Server does not support the command we issued. 683 // FTP response codes 502, 504. 684 NET_ERROR(FTP_COMMAND_NOT_SUPPORTED, -606) 685 686 // Server rejected our command because we didn't issue the commands in right 687 // order. 688 // FTP response code 503. 689 NET_ERROR(FTP_BAD_COMMAND_SEQUENCE, -607) 690 691 // PKCS #12 import failed due to incorrect password. 692 NET_ERROR(PKCS12_IMPORT_BAD_PASSWORD, -701) 693 694 // PKCS #12 import failed due to other error. 695 NET_ERROR(PKCS12_IMPORT_FAILED, -702) 696 697 // CA import failed - not a CA cert. 698 NET_ERROR(IMPORT_CA_CERT_NOT_CA, -703) 699 700 // Import failed - certificate already exists in database. 701 // Note it's a little weird this is an error but reimporting a PKCS12 is ok 702 // (no-op). That's how Mozilla does it, though. 703 NET_ERROR(IMPORT_CERT_ALREADY_EXISTS, -704) 704 705 // CA import failed due to some other error. 706 NET_ERROR(IMPORT_CA_CERT_FAILED, -705) 707 708 // Server certificate import failed due to some internal error. 709 NET_ERROR(IMPORT_SERVER_CERT_FAILED, -706) 710 711 // PKCS #12 import failed due to invalid MAC. 712 NET_ERROR(PKCS12_IMPORT_INVALID_MAC, -707) 713 714 // PKCS #12 import failed due to invalid/corrupt file. 715 NET_ERROR(PKCS12_IMPORT_INVALID_FILE, -708) 716 717 // PKCS #12 import failed due to unsupported features. 718 NET_ERROR(PKCS12_IMPORT_UNSUPPORTED, -709) 719 720 // Key generation failed. 721 NET_ERROR(KEY_GENERATION_FAILED, -710) 722 723 // Server-bound certificate generation failed. 724 NET_ERROR(ORIGIN_BOUND_CERT_GENERATION_FAILED, -711) 725 726 // Failure to export private key. 727 NET_ERROR(PRIVATE_KEY_EXPORT_FAILED, -712) 728 729 // Self-signed certificate generation failed. 730 NET_ERROR(SELF_SIGNED_CERT_GENERATION_FAILED, -713) 731 732 // The certificate database changed in some way. 733 NET_ERROR(CERT_DATABASE_CHANGED, -714) 734 735 // DNS error codes. 736 737 // DNS resolver received a malformed response. 738 NET_ERROR(DNS_MALFORMED_RESPONSE, -800) 739 740 // DNS server requires TCP 741 NET_ERROR(DNS_SERVER_REQUIRES_TCP, -801) 742 743 // DNS server failed. This error is returned for all of the following 744 // error conditions: 745 // 1 - Format error - The name server was unable to interpret the query. 746 // 2 - Server failure - The name server was unable to process this query 747 // due to a problem with the name server. 748 // 4 - Not Implemented - The name server does not support the requested 749 // kind of query. 750 // 5 - Refused - The name server refuses to perform the specified 751 // operation for policy reasons. 752 NET_ERROR(DNS_SERVER_FAILED, -802) 753 754 // DNS transaction timed out. 755 NET_ERROR(DNS_TIMED_OUT, -803) 756 757 // The entry was not found in cache, for cache-only lookups. 758 NET_ERROR(DNS_CACHE_MISS, -804) 759 760 // Suffix search list rules prevent resolution of the given host name. 761 NET_ERROR(DNS_SEARCH_EMPTY, -805) 762 763 // Failed to sort addresses according to RFC3484. 764 NET_ERROR(DNS_SORT_ERROR, -806) 765