Base code merged to SPIN 2.4
[platform/upstream/curl.git] / docs / libcurl / libcurl-errors.3
index 4a737db..07091b5 100644 (file)
@@ -1,24 +1,40 @@
-.\" You can view this file with:
-.\" nroff -man [file]
-.\" $Id$
+.\" **************************************************************************
+.\" *                                  _   _ ____  _
+.\" *  Project                     ___| | | |  _ \| |
+.\" *                             / __| | | | |_) | |
+.\" *                            | (__| |_| |  _ <| |___
+.\" *                             \___|\___/|_| \_\_____|
+.\" *
+.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" *
+.\" * This software is licensed as described in the file COPYING, which
+.\" * you should have received as part of this distribution. The terms
+.\" * are also available at http://curl.haxx.se/docs/copyright.html.
+.\" *
+.\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
+.\" * copies of the Software, and permit persons to whom the Software is
+.\" * furnished to do so, under the terms of the COPYING file.
+.\" *
+.\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+.\" * KIND, either express or implied.
+.\" *
+.\" **************************************************************************
 .\"
-.TH libcurl-errors 3 "18 Oct 2003" "libcurl 7.10.8" "libcurl errors"
+.TH libcurl-errors 3 "1 Jan 2010" "libcurl 7.20.0" "libcurl errors"
 .SH NAME
-error codes in libcurl
+libcurl-errors \- error codes in libcurl
 .SH DESCRIPTION
 This man page includes most, if not all, available error codes in libcurl.
-Why they occur and possibly what you can do to fix the problem.
+Why they occur and possibly what you can do to fix the problem are also included.
 .SH "CURLcode"
 Almost all "easy" interface functions return a CURLcode error code. No matter
-what, using \fICURLOPT_ERRORBUFFER\fP is a good idea as it will give you a
-human readable error string that may offer more details about the error cause
-than just the error code does.
-
-This man page is meant to describe libcurl 7.9.6 and later. Earlier versions
-might have had quirks not mentioned here.
+what, using the \fIcurl_easy_setopt(3)\fP option \fICURLOPT_ERRORBUFFER(3)\fP
+is a good idea as it will give you a human readable error string that may
+offer more details about the cause of the error than just the error code.
+\fIcurl_easy_strerror(3)\fP can be called to get an error string from a given
+CURLcode number.
 
 CURLcode is one of the following:
-.RS 0
 .IP "CURLE_OK (0)"
 All fine. Proceed as usual.
 .IP "CURLE_UNSUPPORTED_PROTOCOL (1)"
@@ -28,11 +44,15 @@ can be a misspelled protocol string or just a protocol libcurl has no code
 for.
 .IP "CURLE_FAILED_INIT (2)"
 Very early initialization code failed. This is likely to be an internal error
-or problem.
+or problem, or a resource problem where something fundamental couldn't get
+done at init time.
 .IP "CURLE_URL_MALFORMAT (3)"
 The URL was not properly formatted.
-.IP "CURLE_URL_MALFORMAT_USER (4)"
-URL user malformatted. The user-part of the URL syntax was not correct.
+.IP "CURLE_NOT_BUILT_IN (4)"
+A requested feature, protocol or option was not found built-in in this libcurl
+due to a build-time decision. This means that a feature or option was not
+enabled or explicitly disabled when libcurl was built and in order to get it
+to function you have to get a rebuilt libcurl.
 .IP "CURLE_COULDNT_RESOLVE_PROXY (5)"
 Couldn't resolve proxy. The given proxy host could not be resolved.
 .IP "CURLE_COULDNT_RESOLVE_HOST (6)"
@@ -40,21 +60,21 @@ Couldn't resolve host. The given remote host was not resolved.
 .IP "CURLE_COULDNT_CONNECT (7)"
 Failed to connect() to host or proxy.
 .IP "CURLE_FTP_WEIRD_SERVER_REPLY (8)"
-After connecting to a FTP server, libcurl expects to get a certain reply back.
-This error code implies that it god a strange or bad reply. The given remote
-server is probably not an OK FTP server.
-.IP "CURLE_FTP_ACCESS_DENIED (9)"
-We were denied access when trying to login to an FTP server or when trying to
-change working directory to the one given in the URL.
-.IP "CURLE_FTP_USER_PASSWORD_INCORRECT (10)"
-The username and/or the password were incorrect when trying to login to an FTP
-server.
+After connecting to a FTP server, libcurl expects to get a certain reply
+back. This error code implies that it got a strange or bad reply. The given
+remote server is probably not an OK FTP server.
+.IP "CURLE_REMOTE_ACCESS_DENIED (9)"
+We were denied access to the resource given in the URL.  For FTP, this occurs
+while trying to change to the remote directory.
+.IP "CURLE_FTP_ACCEPT_FAILED (10)"
+While waiting for the server to connect back when an active FTP session is
+used, an error code was sent over the control connection or similar.
 .IP "CURLE_FTP_WEIRD_PASS_REPLY (11)"
 After having sent the FTP password to the server, libcurl expects a proper
 reply. This error code indicates that an unexpected code was returned.
-.IP "CURLE_FTP_WEIRD_USER_REPLY (12)"
-After having sent user name to the FTP server, libcurl expects a proper
-reply. This error code indicates that an unexpected code was returned.
+.IP "CURLE_FTP_ACCEPT_TIMEOUT (12)"
+During an active FTP session while waiting for the server to connect, the
+\fICURLOPT_ACCEPTTIMOUT_MS(3)\fP (or the internal default) timeout expired.
 .IP "CURLE_FTP_WEIRD_PASV_REPLY (13)"
 libcurl failed to get a sensible result back from the server as a response to
 either a PASV or a EPSV command. The server is flawed.
@@ -63,11 +83,11 @@ FTP servers return a 227-line as a response to a PASV command. If libcurl
 fails to parse that line, this return code is passed back.
 .IP "CURLE_FTP_CANT_GET_HOST (15)"
 An internal failure to lookup the host used for the new connection.
-.IP "CURLE_FTP_CANT_RECONNECT (16)"
-A bad return code on either PASV or EPSV was sent by the FTP server,
-preventing libcurl from being able to continue.
-.IP "CURLE_FTP_COULDNT_SET_BINARY (17)"
-Received an error when trying to set the transfer mode to binary.
+.IP "CURLE_HTTP2 (16)"
+A problem was detected in the HTTP2 framing layer. This is somewhat generic
+and can be one out of several problems, see the error buffer for details.
+.IP "CURLE_FTP_COULDNT_SET_TYPE (17)"
+Received an error when trying to set the transfer mode to binary or ASCII.
 .IP "CURLE_PARTIAL_FILE (18)"
 A file transfer was shorter or larger than expected. This happens when the
 server first reports an expected transfer size, and then delivers data that
@@ -75,54 +95,47 @@ doesn't match the previously given size.
 .IP "CURLE_FTP_COULDNT_RETR_FILE (19)"
 This was either a weird reply to a 'RETR' command or a zero byte transfer
 complete.
-.IP "CURLE_FTP_WRITE_ERROR (20)"
-After a completed file transfer, the FTP server did not respond a proper
-\"transfer successful\" code.
-.IP "CURLE_FTP_QUOTE_ERROR (21)"
+.IP "CURLE_QUOTE_ERROR (21)"
 When sending custom "QUOTE" commands to the remote server, one of the commands
-returned an error code that was 400 or higher.
+returned an error code that was 400 or higher (for FTP) or otherwise
+indicated unsuccessful completion of the command.
 .IP "CURLE_HTTP_RETURNED_ERROR (22)"
-This is returned if CURLOPT_FAILONERROR is set TRUE and the HTTP server
-returns an error code that is >= 400.
+This is returned if \fICURLOPT_FAILONERROR(3)\fP is set TRUE and the HTTP
+server returns an error code that is >= 400.
 .IP "CURLE_WRITE_ERROR (23)"
 An error occurred when writing received data to a local file, or an error was
 returned to libcurl from a write callback.
-.IP "CURLE_MALFORMAT_USER (24)"
-Malformat user. User name badly specified. *Not currently used*
-.IP "CURLE_FTP_COULDNT_STOR_FILE (25)"
-FTP couldn't STOR file. The server denied the STOR operation. The error buffer
-usually contains the server's explanation to this.
+.IP "CURLE_UPLOAD_FAILED (25)"
+Failed starting the upload. For FTP, the server typically denied the STOR
+command. The error buffer usually contains the server's explanation for this.
 .IP "CURLE_READ_ERROR (26)"
 There was a problem reading a local file or an error returned by the read
 callback.
 .IP "CURLE_OUT_OF_MEMORY (27)"
-Out of memory. A memory allocation request failed. This is serious badness and
-things are severly screwed up if this ever occur.
-.IP "CURLE_OPERATION_TIMEOUTED (28)"
+A memory allocation request failed. This is serious badness and
+things are severely screwed up if this ever occurs.
+.IP "CURLE_OPERATION_TIMEDOUT (28)"
 Operation timeout. The specified time-out period was reached according to the
 conditions.
-.IP "CURLE_FTP_COULDNT_SET_ASCII (29)"
-libcurl failed to set ASCII transfer type (TYPE A).
 .IP "CURLE_FTP_PORT_FAILED (30)"
-The FTP PORT command returned error. This mostly happen when you haven't
-specified a good enough address for libcurl to use. See \fICURLOPT_FTPPORT\fP.
+The FTP PORT command returned error. This mostly happens when you haven't
+specified a good enough address for libcurl to use. See
+\fICURLOPT_FTPPORT(3)\fP.
 .IP "CURLE_FTP_COULDNT_USE_REST (31)"
 The FTP REST command returned error. This should never happen if the server is
 sane.
-.IP "CURLE_FTP_COULDNT_GET_SIZE (32)"
-The FTP SIZE command returned errror. SIZE is not a kosher FTP command, it is
-an extension and not all servers support it. This is not a surprising error.
-.IP "CURLE_HTTP_RANGE_ERROR (33)"
-The HTTP server does not support or accept range requests.
+.IP "CURLE_RANGE_ERROR (33)"
+The server does not support or accept range requests.
 .IP "CURLE_HTTP_POST_ERROR (34)"
 This is an odd error that mainly occurs due to internal confusion.
 .IP "CURLE_SSL_CONNECT_ERROR (35)"
-A problem occured somewhere in the SSL/TLS handshake. You really want the
+A problem occurred somewhere in the SSL/TLS handshake. You really want the
 error buffer and read the message there as it pinpoints the problem slightly
 more. Could be certificates (file formats, paths, permissions), passwords, and
 others.
-.IP "CURLE_FTP_BAD_DOWNLOAD_RESUME (36)"
-Attempting FTP resume beyond file size.
+.IP "CURLE_BAD_DOWNLOAD_RESUME (36)"
+The download could not be resumed because the specified offset was out of the
+file boundary.
 .IP "CURLE_FILE_COULDNT_READ_FILE (37)"
 A file given with FILE:// couldn't be opened. Most likely because the file
 path doesn't identify an existing file. Did you check file permissions?
@@ -130,37 +143,28 @@ path doesn't identify an existing file. Did you check file permissions?
 LDAP cannot bind. LDAP bind operation failed.
 .IP "CURLE_LDAP_SEARCH_FAILED (39)"
 LDAP search failed.
-.IP "CURLE_LIBRARY_NOT_FOUND (40)"
-Library not found. The LDAP library was not found.
 .IP "CURLE_FUNCTION_NOT_FOUND (41)"
-Function not found. A required LDAP function was not found.
+Function not found. A required zlib function was not found.
 .IP "CURLE_ABORTED_BY_CALLBACK (42)"
 Aborted by callback. A callback returned "abort" to libcurl.
 .IP "CURLE_BAD_FUNCTION_ARGUMENT (43)"
 Internal error. A function was called with a bad parameter.
-.IP "CURLE_BAD_CALLING_ORDER (44)"
-Internal error. A function was called in a bad order.
-.IP "CURLE_HTTP_PORT_FAILED (45)"
+.IP "CURLE_INTERFACE_FAILED (45)"
 Interface error. A specified outgoing interface could not be used. Set which
 interface to use for outgoing connections' source IP address with
-CURLOPT_INTERFACE.
-.IP "CURLE_BAD_PASSWORD_ENTERED (46)"
-Bad password entered. An error was signaled when the password was
-entered. This can also be the result of a "bad password" returned from a
-specified password callback.
+\fICURLOPT_INTERFACE(3)\fP.
 .IP "CURLE_TOO_MANY_REDIRECTS (47)"
 Too many redirects. When following redirects, libcurl hit the maximum amount.
-Set your limit with CURLOPT_MAXREDIRS.
-.IP "CURLE_UNKNOWN_TELNET_OPTION (48)"
-An option set with CURLOPT_TELNETOPTIONS was not recognized/known. Refer to
-the appropriate documentation.
+Set your limit with \fICURLOPT_MAXREDIRS(3)\fP.
+.IP "CURLE_UNKNOWN_OPTION (48)"
+An option passed to libcurl is not recognized/known. Refer to the appropriate
+documentation. This is most likely a problem in the program that uses
+libcurl. The error buffer might contain more specific information about which
+exact option it concerns.
 .IP "CURLE_TELNET_OPTION_SYNTAX (49)"
 A telnet option string was Illegally formatted.
-.IP "CURLE_OBSOLETE (50)"
-This is not an error. This used to be another error code in an old libcurl
-version and is currently unused.
-.IP "CURLE_SSL_PEER_CERTIFICATE (51)"
-The remote server's SSL certificate was deemed not OK.
+.IP "CURLE_PEER_FAILED_VERIFICATION (51)"
+The remote server's SSL certificate or SSH md5 fingerprint was deemed not OK.
 .IP "CURLE_GOT_NOTHING (52)"
 Nothing was returned from the server, and under the circumstances, getting
 nothing is considered an error.
@@ -172,22 +176,128 @@ Failed setting the selected SSL crypto engine as default!
 Failed sending network data.
 .IP "CURLE_RECV_ERROR (56)"
 Failure with receiving network data.
-.IP "CURLE_RECV_ERROR (57)"
-Failure with receiving network data.
 .IP "CURLE_SSL_CERTPROBLEM (58)"
-problem with the local certificate
+problem with the local client certificate.
 .IP "CURLE_SSL_CIPHER (59)"
-couldn't use specified cipher
+Couldn't use specified cipher.
 .IP "CURLE_SSL_CACERT (60)"
-problem with the CA cert (path? access rights?) 
+Peer certificate cannot be authenticated with known CA certificates.
 .IP "CURLE_BAD_CONTENT_ENCODING (61)"
-Unrecognized transfer encoding
+Unrecognized transfer encoding.
 .IP "CURLE_LDAP_INVALID_URL (62)"
-Invalid LDAP URL
+Invalid LDAP URL.
 .IP "CURLE_FILESIZE_EXCEEDED (63)"
-Maximum file size exceeded
-.RE
-
+Maximum file size exceeded.
+.IP "CURLE_USE_SSL_FAILED (64)"
+Requested FTP SSL level failed.
+.IP "CURLE_SEND_FAIL_REWIND (65)"
+When doing a send operation curl had to rewind the data to retransmit, but the
+rewinding operation failed.
+.IP "CURLE_SSL_ENGINE_INITFAILED (66)"
+Initiating the SSL Engine failed.
+.IP "CURLE_LOGIN_DENIED (67)"
+The remote server denied curl to login (Added in 7.13.1)
+.IP "CURLE_TFTP_NOTFOUND (68)"
+File not found on TFTP server.
+.IP "CURLE_TFTP_PERM (69)"
+Permission problem on TFTP server.
+.IP "CURLE_REMOTE_DISK_FULL (70)"
+Out of disk space on the server.
+.IP "CURLE_TFTP_ILLEGAL (71)"
+Illegal TFTP operation.
+.IP "CURLE_TFTP_UNKNOWNID (72)"
+Unknown TFTP transfer ID.
+.IP "CURLE_REMOTE_FILE_EXISTS (73)"
+File already exists and will not be overwritten.
+.IP "CURLE_TFTP_NOSUCHUSER (74)"
+This error should never be returned by a properly functioning TFTP server.
+.IP "CURLE_CONV_FAILED (75)"
+Character conversion failed.
+.IP "CURLE_CONV_REQD (76)"
+Caller must register conversion callbacks.
+.IP "CURLE_SSL_CACERT_BADFILE (77)"
+Problem with reading the SSL CA cert (path? access rights?)
+.IP "CURLE_REMOTE_FILE_NOT_FOUND (78)"
+The resource referenced in the URL does not exist.
+.IP "CURLE_SSH (79)"
+An unspecified error occurred during the SSH session.
+.IP "CURLE_SSL_SHUTDOWN_FAILED (80)"
+Failed to shut down the SSL connection.
+.IP "CURLE_AGAIN (81)"
+Socket is not ready for send/recv wait till it's ready and try again. This
+return code is only returned from \fIcurl_easy_recv(3)\fP and
+\fIcurl_easy_send(3)\fP (Added in 7.18.2)
+.IP "CURLE_SSL_CRL_BADFILE (82)"
+Failed to load CRL file (Added in 7.19.0)
+.IP "CURLE_SSL_ISSUER_ERROR (83)"
+Issuer check failed (Added in 7.19.0)
+.IP "CURLE_FTP_PRET_FAILED (84)"
+The FTP server does not understand the PRET command at all or does not support
+the given argument. Be careful when using \fICURLOPT_CUSTOMREQUEST(3)\fP, a
+custom LIST command will be sent with PRET CMD before PASV as well. (Added in
+7.20.0)
+.IP "CURLE_RTSP_CSEQ_ERROR (85)"
+Mismatch of RTSP CSeq numbers.
+.IP "CURLE_RTSP_SESSION_ERROR (86)"
+Mismatch of RTSP Session Identifiers.
+.IP "CURLE_FTP_BAD_FILE_LIST (87)"
+Unable to parse FTP file list (during FTP wildcard downloading).
+.IP "CURLE_CHUNK_FAILED (88)"
+Chunk callback reported error.
+.IP "CURLE_NO_CONNECTION_AVAILABLE (89)"
+(For internal use only, will never be returned by libcurl) No connection
+available, the session will be queued. (added in 7.30.0)
+.IP "CURLE_OBSOLETE*"
+These error codes will never be returned. They were used in an old libcurl
+version and are currently unused.
 .SH "CURLMcode"
 This is the generic return code used by functions in the libcurl multi
-interface.
+interface. Also consider \fIcurl_multi_strerror(3)\fP.
+.IP "CURLM_CALL_MULTI_PERFORM (-1)"
+This is not really an error. It means you should call
+\fIcurl_multi_perform(3)\fP again without doing select() or similar in
+between. Before version 7.20.0 this could be returned by
+\fIcurl_multi_perform(3)\fP, but in later versions this return code is never
+used.
+.IP "CURLM_OK (0)"
+Things are fine.
+.IP "CURLM_BAD_HANDLE (1)"
+The passed-in handle is not a valid CURLM handle.
+.IP "CURLM_BAD_EASY_HANDLE (2)"
+An easy handle was not good/valid. It could mean that it isn't an easy handle
+at all, or possibly that the handle already is in used by this or another
+multi handle.
+.IP "CURLM_OUT_OF_MEMORY (3)"
+You are doomed.
+.IP "CURLM_INTERNAL_ERROR (4)"
+This can only be returned if libcurl bugs. Please report it to us!
+.IP "CURLM_BAD_SOCKET (5)"
+The passed-in socket is not a valid one that libcurl already knows about.
+(Added in 7.15.4)
+.IP "CURLM_UNKNOWN_OPTION (6)"
+curl_multi_setopt() with unsupported option
+(Added in 7.15.4)
+.IP "CURLM_ADDED_ALREADY (7)"
+An easy handle already added to a multi handle was attempted to get added a
+second time. (Added in 7.32.1)
+.SH "CURLSHcode"
+The "share" interface will return a CURLSHcode to indicate when an error has
+occurred.  Also consider \fIcurl_share_strerror(3)\fP.
+.IP "CURLSHE_OK (0)"
+All fine. Proceed as usual.
+.IP "CURLSHE_BAD_OPTION (1)"
+An invalid option was passed to the function.
+.IP "CURLSHE_IN_USE (2)"
+The share object is currently in use.
+.IP "CURLSHE_INVALID (3)"
+An invalid share object was passed to the function.
+.IP "CURLSHE_NOMEM (4)"
+Not enough memory was available.
+(Added in 7.12.0)
+.IP "CURLSHE_NOT_BUILT_IN (5)"
+The requested sharing could not be done because the library you use don't have
+that particular feature enabled. (Added in 7.23.0)
+.SH "SEE ALSO"
+.BR curl_easy_strerror "(3), " curl_multi_strerror "(3), "
+.BR curl_share_strerror "(3), " CURLOPT_ERRORBUFFER "(3), "
+.BR CURLOPT_VERBOSE "(3), " CURLOPT_DEBUGFUNCTION "(3) "