curl/lib
Daniel Stenberg 74b87a8af1
lib: move mimepost data from ->req.p.http to ->state
When the legacy CURLOPT_HTTPPOST option is used, it gets converted into
the modem mimpost struct at first use. This data is (now) kept for the
entire transfer and not only per single HTTP request. This re-enables
rewind in the beginning of the second request instead of in end of the
first, as brought by 1b39731.

The request struct is per-request data only.

Extend test 650 to verify.

Fixes #11680
Reported-by: yushicheng7788 on github
Closes #11682
2023-08-17 23:49:57 +02:00
..
vauth nss: remove support for this TLS library 2023-07-29 23:44:28 +02:00
vquic quiche: enable quiche to handle timeout events 2023-08-15 14:38:31 +02:00
vssh trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
vtls lib: build fixups when built with most things disabled 2023-08-17 17:17:54 +02:00
.checksrc
.gitattributes
.gitignore
altsvc.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
altsvc.h
amigaos.c amissl: add missing signal.h include 2023-07-20 23:41:47 +02:00
amigaos.h
arpa_telnet.h
asyn-ares.c resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set 2023-08-02 00:49:16 +02:00
asyn-thread.c resolve: use PF_INET6 family lookups when CURL_IPRESOLVE_V6 is set 2023-08-02 00:49:16 +02:00
asyn.h
base64.c tool: add "variable" support 2023-07-31 11:51:34 +02:00
bufq.c HTTP/2: upload handling fixes 2023-06-20 09:09:25 +02:00
bufq.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
bufref.c
bufref.h
c-hyper.c c-hyper: adjust the hyper to curlcode conversion 2023-08-08 23:27:42 +02:00
c-hyper.h
cf-h1-proxy.c trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
cf-h1-proxy.h proxy: http2 proxy tunnel implementation 2023-04-06 13:04:46 +02:00
cf-h2-proxy.c trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
cf-h2-proxy.h proxy: http2 proxy tunnel implementation 2023-04-06 13:04:46 +02:00
cf-haproxy.c cf-haproxy: make CURLOPT_HAPROXY_CLIENT_IP set the *source* IP 2023-08-08 17:05:24 +02:00
cf-haproxy.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
cf-https-connect.c trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
cf-https-connect.h lib: give source files cf-http.* better fitting names 2023-03-02 08:48:34 +01:00
cf-socket.c lib: --disable-bindlocal builds curl without local binding support 2023-08-17 17:17:59 +02:00
cf-socket.h cf-socket: restore Curl_sock_assign_addr() 2023-05-25 14:34:39 +02:00
cfilters.c trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
cfilters.h cfilters: rename close/connect functions to avoid clashes 2023-07-20 23:35:33 +02:00
CMakeLists.txt cmake: allow SHARE_LIB_OBJECT=ON on all platforms 2023-08-09 12:01:07 +00:00
config-amigaos.h egd: delete feature detection and related source code 2023-08-01 21:58:56 +00:00
config-dos.h config-dos.h: fix SIZEOF_CURL_OFF_T for MS-DOS/DJGPP 2023-04-08 23:53:50 +02:00
config-mac.h egd: delete feature detection and related source code 2023-08-01 21:58:56 +00:00
config-os400.h gskit: remove 2023-08-07 20:57:48 +02:00
config-plan9.h
config-riscos.h cmake: cache more config and delete unused ones 2023-08-01 21:59:00 +00:00
config-win32.h cmake: cache more config and delete unused ones 2023-08-01 21:59:00 +00:00
config-win32ce.h cmake: cache more config and delete unused ones 2023-08-01 21:59:00 +00:00
conncache.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
conncache.h lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID 2023-06-12 23:53:00 +02:00
connect.c trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
connect.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
content_encoding.c content_encoding: only do tranfer-encoding compression if asked to 2023-04-07 13:39:20 +02:00
content_encoding.h
cookie.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
cookie.h cookie: update the comment on cookie length and size limits 2023-05-18 20:43:25 +02:00
curl_addrinfo.c misc: fix spelling mistakes 2023-05-23 10:42:09 +02:00
curl_addrinfo.h
curl_base64.h tool: add "variable" support 2023-07-31 11:51:34 +02:00
curl_config.h.cmake cmake: cache more config and delete unused ones 2023-08-01 21:59:00 +00:00
curl_ctype.h urlapi: avoid Curl_dyn_addf() for hex outputs 2023-02-01 23:05:51 +01:00
curl_des.c nss: remove support for this TLS library 2023-07-29 23:44:28 +02:00
curl_des.h nss: remove support for this TLS library 2023-07-29 23:44:28 +02:00
curl_endian.c
curl_endian.h
curl_fnmatch.c
curl_fnmatch.h
curl_get_line.c
curl_get_line.h
curl_gethostname.c
curl_gethostname.h
curl_gssapi.c gssapi: align global gss_OID_desc vars to silence ld warnings on macOS ventura 2023-03-10 08:04:42 +01:00
curl_gssapi.h
curl_hmac.h
curl_krb5.h
curl_ldap.h
curl_md4.h crypto: ensure crypto initialization works 2023-08-08 10:44:01 +02:00
curl_md5.h
curl_memory.h cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
curl_memrchr.c
curl_memrchr.h
curl_multibyte.c
curl_multibyte.h
curl_ntlm_core.c crypto: ensure crypto initialization works 2023-08-08 10:44:01 +02:00
curl_ntlm_core.h nss: remove support for this TLS library 2023-07-29 23:44:28 +02:00
curl_ntlm_wb.c
curl_ntlm_wb.h
curl_path.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
curl_path.h
curl_printf.h cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
curl_range.c
curl_range.h
curl_rtmp.c lib: unify the upload/method handling 2023-04-25 12:38:38 +02:00
curl_rtmp.h
curl_sasl.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
curl_sasl.h
curl_setup_once.h cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
curl_setup.h gskit: remove 2023-08-07 20:57:48 +02:00
curl_sha256.h
curl_sspi.c
curl_sspi.h
curl_threads.c
curl_threads.h
curl_trc.c trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
curl_trc.h trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
curlx.h
dict.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
dict.h
doh.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
doh.h
dynbuf.c dynbuf: never allocate larger than "toobig" 2023-03-28 10:22:53 +02:00
dynbuf.h http: VLH, very large header test and fixes 2023-07-24 19:25:20 +02:00
dynhds.c lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
dynhds.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
easy_lock.h cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
easy.c easy: don't call Curl_trc_opt() in disabled-verbose builds 2023-08-04 10:07:57 +02:00
easygetopt.c
easyif.h Websocket en-/decoding 2023-04-25 23:16:51 +02:00
easyoptions.c haproxy: add --haproxy-clientip flag to spoof client IPs 2023-06-05 20:08:37 +02:00
easyoptions.h
escape.c escape: use table lookup when adding %-codes to output 2023-01-31 22:42:21 +01:00
escape.h
file.c lib: unify the upload/method handling 2023-04-25 12:38:38 +02:00
file.h
fileinfo.c ftplistparser: replace realloc with dynbuf 2023-03-28 10:11:33 +02:00
fileinfo.h ftplistparser: replace realloc with dynbuf 2023-03-28 10:11:33 +02:00
fopen.c fopen: optimize 2023-07-11 19:43:51 +02:00
fopen.h
formdata.c configure, cmake, lib: more form api deprecation 2023-07-31 08:31:38 +02:00
formdata.h configure, cmake, lib: more form api deprecation 2023-07-31 08:31:38 +02:00
ftp.c cmake: cache more config and delete unused ones 2023-08-01 21:59:00 +00:00
ftp.h ftp: add more conditions for connection reuse 2023-03-13 09:07:23 +01:00
ftplistparser.c ftplistparser: replace realloc with dynbuf 2023-03-28 10:11:33 +02:00
ftplistparser.h wildcard: remove files and move functions into ftplistparser.c 2023-03-03 23:25:30 +01:00
functypes.h
getenv.c
getinfo.c lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID 2023-06-12 23:53:00 +02:00
getinfo.h
gopher.c
gopher.h
hash.c hash: fix assigning same value 2023-04-14 09:26:26 +02:00
hash.h
headers.c headers: accept leading whitespaces on first response header 2023-08-07 12:45:45 +02:00
headers.h
hmac.c
hostasyn.c hostip: avoid sscanf and extra buffer copies 2023-02-27 20:43:13 +01:00
hostip4.c
hostip6.c
hostip.c lib: build fixups when built with most things disabled 2023-08-17 17:17:54 +02:00
hostip.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
hostsyn.c
hsts.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
hsts.h
http1.c http2: raise header limitations above and beyond 2023-07-08 22:27:29 +02:00
http1.h http2: raise header limitations above and beyond 2023-07-08 22:27:29 +02:00
http2.c http2: cleanup trace messages 2023-08-06 17:47:38 +02:00
http2.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
http_aws_sigv4.c checksrc: fix SPACEBEFOREPAREN for conditions starting with "*" 2023-04-27 17:24:47 +02:00
http_aws_sigv4.h
http_chunks.c
http_chunks.h
http_digest.c
http_digest.h
http_negotiate.c
http_negotiate.h
http_ntlm.c
http_ntlm.h
http_proxy.c trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
http_proxy.h CURLPROXY_HTTPS2: for HTTPS proxy that may speak HTTP/2 2023-04-08 00:27:53 +02:00
http.c lib: move mimepost data from ->req.p.http to ->state 2023-08-17 23:49:57 +02:00
http.h lib: move mimepost data from ->req.p.http to ->state 2023-08-17 23:49:57 +02:00
idn.c urlapi: return CURLUE_BAD_HOSTNAME if puny2idn encoding fails 2023-08-17 08:21:08 +02:00
idn.h urlapi: return CURLUE_BAD_HOSTNAME if puny2idn encoding fails 2023-08-17 08:21:08 +02:00
if2ip.c lib: --disable-bindlocal builds curl without local binding support 2023-08-17 17:17:59 +02:00
if2ip.h
imap.c imap: add a check for failing strdup() 2023-08-14 18:07:12 +02:00
imap.h
inet_ntop.c checksrc: find bad indentation in conditions without open brace 2023-04-28 23:11:00 +02:00
inet_ntop.h
inet_pton.c urlapi: parse IPv6 literals without ENABLE_IPV6 2023-03-03 10:05:08 +01:00
inet_pton.h
krb5.c krb5: add typecast to please Coverity 2023-07-17 20:10:38 +02:00
ldap.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
libcurl.plist.in
libcurl.rc
libcurl.vers.in
llist.c
llist.h
macos.c macOS: fix target detection more 2023-07-29 23:42:53 +02:00
macos.h macOS: fix target detection more 2023-07-29 23:42:53 +02:00
Makefile.am
Makefile.inc gskit: remove 2023-08-07 20:57:48 +02:00
Makefile.mk cmake: add support for single libcurl compilation pass 2023-08-01 08:12:26 +00:00
Makefile.soname
md4.c crypto: ensure crypto initialization works 2023-08-08 10:44:01 +02:00
md5.c crypto: ensure crypto initialization works 2023-08-08 10:44:01 +02:00
memdebug.c
memdebug.h
mime.c lib: move mimepost data from ->req.p.http to ->state 2023-08-17 23:49:57 +02:00
mime.h
mprintf.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
mqtt.c lib: fix some format specifiers 2023-06-17 01:38:04 -04:00
mqtt.h
multi.c lib: move mimepost data from ->req.p.http to ->state 2023-08-17 23:49:57 +02:00
multihandle.h multi: remove PENDING + MSGSENT handles from the main linked list 2023-03-26 17:43:28 +02:00
multiif.h http2: avoid too early connection re-use/multiplexing 2023-08-01 11:30:07 +02:00
netrc.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
netrc.h
nonblock.c
nonblock.h
noproxy.c noproxy: pointer to local array 'hostip' is stored outside scope 2023-04-12 09:00:20 +02:00
noproxy.h
openldap.c checksrc: find bad indentation in conditions without open brace 2023-04-28 23:11:00 +02:00
optiontable.pl
parsedate.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
parsedate.h
pingpong.c pingpong: don't use *bump_headersize 2023-08-04 11:06:39 +02:00
pingpong.h
pop3.c cmake: cache more config and delete unused ones 2023-08-01 21:59:00 +00:00
pop3.h
progress.c misc: remove support for curl_off_t < 8 bytes 2023-02-24 17:05:33 +01:00
progress.h connections: introduce http/3 happy eyeballs 2023-02-02 09:57:34 +01:00
psl.c
psl.h
rand.c gskit: remove 2023-08-07 20:57:48 +02:00
rand.h gskit: remove 2023-08-07 20:57:48 +02:00
rename.c
rename.h
rtsp.c lib: unify the upload/method handling 2023-04-25 12:38:38 +02:00
rtsp.h rtsp: convert mallocs to dynbuf for RTP buffering 2023-04-04 14:44:25 +02:00
select.c select: avoid returning an error on EINTR from select() or poll() 2023-05-19 16:16:26 +02:00
select.h
sendf.c lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID 2023-06-12 23:53:00 +02:00
sendf.h trace: make tracing available in non-debug builds 2023-08-03 17:32:25 +02:00
setopt.c lib: move mimepost data from ->req.p.http to ->state 2023-08-17 23:49:57 +02:00
setopt.h
setup-os400.h gskit: remove 2023-08-07 20:57:48 +02:00
setup-vms.h egd: delete feature detection and related source code 2023-08-01 21:58:56 +00:00
setup-win32.h
sha256.c crypto: ensure crypto initialization works 2023-08-08 10:44:01 +02:00
share.c
share.h
sigpipe.h multi: make multi_perform ignore/unignore signals less often 2023-03-13 23:01:02 +01:00
slist.c
slist.h
smb.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
smb.h cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
smtp.c cmake: cache more config and delete unused ones 2023-08-01 21:59:00 +00:00
smtp.h
sockaddr.h
socketpair.c checksrc: disallow spaces before labels 2023-05-18 20:45:04 +02:00
socketpair.h
socks_gssapi.c cf-socket: improvements in socket I/O handling 2023-01-31 11:23:59 +01:00
socks_sspi.c cf-socket: improvements in socket I/O handling 2023-01-31 11:23:59 +01:00
socks.c socks: print ipv6 address within brackets 2023-07-20 23:38:20 +02:00
socks.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
speedcheck.c
speedcheck.h
splay.c
splay.h
strcase.c
strcase.h
strdup.c
strdup.h
strerror.c lib: fix a few *printf() flag mistakes 2023-08-02 23:11:09 +02:00
strerror.h
strtok.c
strtok.h
strtoofft.c
strtoofft.h
system_win32.c
system_win32.h easy: remove #ifdefs to make code easier on the eye 2023-07-26 23:57:08 +02:00
telnet.c lib: add CURLINFO_CONN_ID and CURLINFO_XFER_ID 2023-06-12 23:53:00 +02:00
telnet.h
tftp.c lib: unify the upload/method handling 2023-04-25 12:38:38 +02:00
tftp.h
timediff.c
timediff.h
timeval.c timeval: use CLOCK_MONOTONIC_RAW if available 2023-06-13 00:02:32 +02:00
timeval.h
transfer.c lib: build fixups when built with most things disabled 2023-08-17 17:17:54 +02:00
transfer.h
url.c lib: move mimepost data from ->req.p.http to ->state 2023-08-17 23:49:57 +02:00
url.h lib: remove unused functions, make single-use static 2023-05-23 11:08:51 +02:00
urlapi-int.h urlapi: make internal function start with Curl_ 2023-04-27 08:36:51 +02:00
urlapi.c urlapi: return CURLUE_BAD_HOSTNAME if puny2idn encoding fails 2023-08-17 08:21:08 +02:00
urldata.h lib: move mimepost data from ->req.p.http to ->state 2023-08-17 23:49:57 +02:00
version_win32.c
version_win32.h
version.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
warnless.c cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
warnless.h cmake: add support for "unity" builds 2023-06-07 13:06:08 +00:00
ws.c websocket: rename arguments/variables to match docs 2023-07-22 00:31:31 +02:00
ws.h Websocket en-/decoding 2023-04-25 23:16:51 +02:00