Loading docs/libcurl/libcurl-errors.3 +3 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,9 @@ 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_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)" Loading docs/libcurl/symbols-in-versions +1 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ CURLE_HTTP_PORT_FAILED 7.3 7.12.0 CURLE_HTTP_POST_ERROR 7.1 CURLE_HTTP_RANGE_ERROR 7.1 7.17.0 CURLE_HTTP_RETURNED_ERROR 7.10.3 CURLE_HTTP2 7.38.0 CURLE_INTERFACE_FAILED 7.12.0 CURLE_LDAP_CANNOT_BIND 7.1 CURLE_LDAP_INVALID_URL 7.10.8 Loading include/curl/curl.h +3 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,9 @@ typedef enum { CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */ CURLE_FTP_WEIRD_227_FORMAT, /* 14 */ CURLE_FTP_CANT_GET_HOST, /* 15 */ CURLE_OBSOLETE16, /* 16 - NOT USED */ CURLE_HTTP2, /* 16 - A problem in the http2 framing layer. [was obsoleted in August 2007 for 7.17.0, reused in July 2014 for 7.38.0] */ CURLE_FTP_COULDNT_SET_TYPE, /* 17 */ CURLE_PARTIAL_FILE, /* 18 */ CURLE_FTP_COULDNT_RETR_FILE, /* 19 */ Loading lib/http.c +9 −5 Original line number Diff line number Diff line Loading @@ -1760,8 +1760,9 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) if(result) return result; /* TODO: add error checking here */ Curl_http2_switched(conn); result = Curl_http2_switched(conn); if(result) return result; break; case NPN_HTTP1_1: /* continue with HTTP/1.1 when explicitly requested */ Loading @@ -1773,7 +1774,9 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) } else { /* prepare for a http2 request */ Curl_http2_setup(conn); result = Curl_http2_setup(conn); if(result) return result; } http = data->req.protop; Loading Loading @@ -3007,8 +3010,9 @@ CURLcode Curl_http_readwrite_headers(struct SessionHandle *data, k->upgr101 = UPGR101_RECEIVED; /* switch to http2 now */ /* TODO: add error checking */ Curl_http2_switched(conn); result = Curl_http2_switched(conn); if(result) return result; } break; default: Loading lib/http2.c +16 −8 Original line number Diff line number Diff line Loading @@ -810,12 +810,12 @@ CURLcode Curl_http2_setup(struct connectdata *conn) return Curl_add_buffer(httpc->header_recvbuf, "HTTP/2.0 200\r\n", 14); } int Curl_http2_switched(struct connectdata *conn) CURLcode Curl_http2_switched(struct connectdata *conn) { /* TODO: May get CURLE_AGAIN */ CURLcode rc; struct http_conn *httpc = &conn->proto.httpc; int rv; struct SessionHandle *data = conn->data; httpc->recv_underlying = (recving)conn->recv[FIRSTSOCKET]; httpc->send_underlying = (sending)conn->send[FIRSTSOCKET]; Loading @@ -827,7 +827,15 @@ int Curl_http2_switched(struct connectdata *conn) NGHTTP2_CLIENT_CONNECTION_PREFACE, NGHTTP2_CLIENT_CONNECTION_PREFACE_LEN, &rc); assert(rv == 24); if(rc) /* TODO: This may get CURLE_AGAIN */ return rc; if(rv != 24) { failf(data, "Only sent partial HTTP2 packet"); return CURLE_SEND_ERROR; } if(conn->data->req.upgr101 == UPGR101_RECEIVED) { /* stream 1 is opened implicitly on upgrade */ httpc->stream_id = 1; Loading @@ -835,9 +843,9 @@ int Curl_http2_switched(struct connectdata *conn) rv = nghttp2_session_upgrade(httpc->h2, httpc->binsettings, httpc->binlen, NULL); if(rv != 0) { failf(conn->data, "nghttp2_session_upgrade() failed: %s(%d)", failf(data, "nghttp2_session_upgrade() failed: %s(%d)", nghttp2_strerror(rv), rv); return -1; return CURLE_HTTP2; } } else { Loading @@ -845,12 +853,12 @@ int Curl_http2_switched(struct connectdata *conn) httpc->stream_id = -1; rv = nghttp2_submit_settings(httpc->h2, NGHTTP2_FLAG_NONE, NULL, 0); if(rv != 0) { failf(conn->data, "nghttp2_submit_settings() failed: %s(%d)", failf(data, "nghttp2_submit_settings() failed: %s(%d)", nghttp2_strerror(rv), rv); return -1; return CURLE_HTTP2; } } return 0; return CURLE_OK; } #endif Loading
docs/libcurl/libcurl-errors.3 +3 −0 Original line number Diff line number Diff line Loading @@ -83,6 +83,9 @@ 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_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)" Loading
docs/libcurl/symbols-in-versions +1 −0 Original line number Diff line number Diff line Loading @@ -79,6 +79,7 @@ CURLE_HTTP_PORT_FAILED 7.3 7.12.0 CURLE_HTTP_POST_ERROR 7.1 CURLE_HTTP_RANGE_ERROR 7.1 7.17.0 CURLE_HTTP_RETURNED_ERROR 7.10.3 CURLE_HTTP2 7.38.0 CURLE_INTERFACE_FAILED 7.12.0 CURLE_LDAP_CANNOT_BIND 7.1 CURLE_LDAP_INVALID_URL 7.10.8 Loading
include/curl/curl.h +3 −1 Original line number Diff line number Diff line Loading @@ -423,7 +423,9 @@ typedef enum { CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */ CURLE_FTP_WEIRD_227_FORMAT, /* 14 */ CURLE_FTP_CANT_GET_HOST, /* 15 */ CURLE_OBSOLETE16, /* 16 - NOT USED */ CURLE_HTTP2, /* 16 - A problem in the http2 framing layer. [was obsoleted in August 2007 for 7.17.0, reused in July 2014 for 7.38.0] */ CURLE_FTP_COULDNT_SET_TYPE, /* 17 */ CURLE_PARTIAL_FILE, /* 18 */ CURLE_FTP_COULDNT_RETR_FILE, /* 19 */ Loading
lib/http.c +9 −5 Original line number Diff line number Diff line Loading @@ -1760,8 +1760,9 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) if(result) return result; /* TODO: add error checking here */ Curl_http2_switched(conn); result = Curl_http2_switched(conn); if(result) return result; break; case NPN_HTTP1_1: /* continue with HTTP/1.1 when explicitly requested */ Loading @@ -1773,7 +1774,9 @@ CURLcode Curl_http(struct connectdata *conn, bool *done) } else { /* prepare for a http2 request */ Curl_http2_setup(conn); result = Curl_http2_setup(conn); if(result) return result; } http = data->req.protop; Loading Loading @@ -3007,8 +3010,9 @@ CURLcode Curl_http_readwrite_headers(struct SessionHandle *data, k->upgr101 = UPGR101_RECEIVED; /* switch to http2 now */ /* TODO: add error checking */ Curl_http2_switched(conn); result = Curl_http2_switched(conn); if(result) return result; } break; default: Loading
lib/http2.c +16 −8 Original line number Diff line number Diff line Loading @@ -810,12 +810,12 @@ CURLcode Curl_http2_setup(struct connectdata *conn) return Curl_add_buffer(httpc->header_recvbuf, "HTTP/2.0 200\r\n", 14); } int Curl_http2_switched(struct connectdata *conn) CURLcode Curl_http2_switched(struct connectdata *conn) { /* TODO: May get CURLE_AGAIN */ CURLcode rc; struct http_conn *httpc = &conn->proto.httpc; int rv; struct SessionHandle *data = conn->data; httpc->recv_underlying = (recving)conn->recv[FIRSTSOCKET]; httpc->send_underlying = (sending)conn->send[FIRSTSOCKET]; Loading @@ -827,7 +827,15 @@ int Curl_http2_switched(struct connectdata *conn) NGHTTP2_CLIENT_CONNECTION_PREFACE, NGHTTP2_CLIENT_CONNECTION_PREFACE_LEN, &rc); assert(rv == 24); if(rc) /* TODO: This may get CURLE_AGAIN */ return rc; if(rv != 24) { failf(data, "Only sent partial HTTP2 packet"); return CURLE_SEND_ERROR; } if(conn->data->req.upgr101 == UPGR101_RECEIVED) { /* stream 1 is opened implicitly on upgrade */ httpc->stream_id = 1; Loading @@ -835,9 +843,9 @@ int Curl_http2_switched(struct connectdata *conn) rv = nghttp2_session_upgrade(httpc->h2, httpc->binsettings, httpc->binlen, NULL); if(rv != 0) { failf(conn->data, "nghttp2_session_upgrade() failed: %s(%d)", failf(data, "nghttp2_session_upgrade() failed: %s(%d)", nghttp2_strerror(rv), rv); return -1; return CURLE_HTTP2; } } else { Loading @@ -845,12 +853,12 @@ int Curl_http2_switched(struct connectdata *conn) httpc->stream_id = -1; rv = nghttp2_submit_settings(httpc->h2, NGHTTP2_FLAG_NONE, NULL, 0); if(rv != 0) { failf(conn->data, "nghttp2_submit_settings() failed: %s(%d)", failf(data, "nghttp2_submit_settings() failed: %s(%d)", nghttp2_strerror(rv), rv); return -1; return CURLE_HTTP2; } } return 0; return CURLE_OK; } #endif