Unverified Commit b46cfbc0 authored by Björn Stenberg's avatar Björn Stenberg Committed by Daniel Stenberg
Browse files

TODO fixed: Detect when called from within callbacks

Closes #2302
parent 43a50a25
Loading
Loading
Loading
Loading
+0 −7
Original line number Diff line number Diff line
@@ -22,7 +22,6 @@
 1.4 signal-based resolver timeouts
 1.5 get rid of PATH_MAX
 1.6 Modified buffer size approach
 1.7 Detect when called from within callbacks
 1.8 CURLOPT_RESOLVE for any port number
 1.9 Cache negative name resolves
 1.10 auto-detect proxy
@@ -239,12 +238,6 @@
 Dynamically allocate buffer size depending on protocol in use in combination
 with freeing it after each individual transfer? Other suggestions?

1.7 Detect when called from within callbacks

 We should set a state variable before calling callbacks, so that we
 subsequently can add code within libcurl that returns error if called within
 callbacks for when that's not supported.

1.8 CURLOPT_RESOLVE for any port number

 This option allows applications to set a replacement IP address for a given
+4 −0
Original line number Diff line number Diff line
@@ -252,6 +252,8 @@ Failed to match the pinned key specified with \fICURLOPT_PINNEDPUBLICKEY(3)\fP.
Status returned failure when asked with \fICURLOPT_SSL_VERIFYSTATUS(3)\fP.
.IP "CURLE_HTTP2_STREAM (92)"
Stream error in the HTTP/2 framing layer.
.IP "CURLE_RECURSIVE_API_CALL (93)"
An API function was called from inside a callback.
.IP "CURLE_OBSOLETE*"
These error codes will never be returned. They were used in an old libcurl
version and are currently unused.
@@ -285,6 +287,8 @@ curl_multi_setopt() with unsupported option
.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)
.IP "CURLM_RECURSIVE_API_CALL (8)"
An API function was called from inside a callback.
.SH "CURLSHcode"
The "share" interface will return a CURLSHcode to indicate when an error has
occurred.  Also consider \fIcurl_share_strerror(3)\fP.
+2 −0
Original line number Diff line number Diff line
@@ -101,6 +101,7 @@ CURLE_QUOTE_ERROR 7.17.0
CURLE_RANGE_ERROR               7.17.0
CURLE_READ_ERROR                7.1
CURLE_RECV_ERROR                7.10
CURLE_RECURSIVE_API_CALL        7.59.0
CURLE_REMOTE_ACCESS_DENIED      7.17.0
CURLE_REMOTE_DISK_FULL          7.17.0
CURLE_REMOTE_FILE_EXISTS        7.17.0
@@ -323,6 +324,7 @@ CURLM_CALL_MULTI_SOCKET 7.15.5
CURLM_INTERNAL_ERROR            7.9.6
CURLM_OK                        7.9.6
CURLM_OUT_OF_MEMORY             7.9.6
CURLM_RECURSIVE_API_CALL        7.59.0
CURLM_UNKNOWN_OPTION            7.15.4
CURLOPTTYPE_FUNCTIONPOINT       7.1
CURLOPTTYPE_LONG                7.1
+2 −0
Original line number Diff line number Diff line
@@ -577,6 +577,8 @@ typedef enum {
  CURLE_SSL_INVALIDCERTSTATUS,   /* 91 - invalid certificate status */
  CURLE_HTTP2_STREAM,            /* 92 - stream error in HTTP/2 framing layer
                                    */
  CURLE_RECURSIVE_API_CALL,      /* 93 - an api function was called from
                                    inside a callback */
  CURL_LAST /* never use! */
} CURLcode;

+2 −0
Original line number Diff line number Diff line
@@ -70,6 +70,8 @@ typedef enum {
  CURLM_UNKNOWN_OPTION,  /* curl_multi_setopt() with unsupported option */
  CURLM_ADDED_ALREADY,   /* an easy handle already added to a multi handle was
                            attempted to get added - again */
  CURLM_RECURSIVE_API_CALL, /* an api function was called from inside a
                               callback */
  CURLM_LAST
} CURLMcode;

Loading