cd5ca80f | 12-Sep-2022 |
Daniel Stenberg |
urldata: use a curl_prot_t type for storing protocol bits This internal-use-only storage type can be bumped to a curl_off_t once we need to use bit 32 as the previous 'unsigned int' can
urldata: use a curl_prot_t type for storing protocol bits This internal-use-only storage type can be bumped to a curl_off_t once we need to use bit 32 as the previous 'unsigned int' can no longer hold them all then. The websocket protocols take bit 30 and 31 so they are the last ones that fit within 32 bits - but cannot properly be exported through APIs since those use *signed* 32 bit types (long) in places. Closes #9481
show more ...
|
0f52dd5f | 22-Apr-2021 |
zhanghu on xiaomi |
formdata: fix warning: 'CURLformoption' is promoted to 'int' curl/lib/formdata.c: In function 'FormAdd': curl/lib/formdata.c:249:31: warning: 'CURLformoption' is promoted to 'int' when p
formdata: fix warning: 'CURLformoption' is promoted to 'int' curl/lib/formdata.c: In function 'FormAdd': curl/lib/formdata.c:249:31: warning: 'CURLformoption' is promoted to 'int' when passed through '...' 249 | option = va_arg(params, CURLformoption); | ^ curl/lib/formdata.c:249:31: note: (so you should pass 'int' not 'CURLformoption' to 'va_arg') curl/lib/formdata.c:249:31: note: if this code is reached, the program will abort Closes #9484
show more ...
|
dbaa1e17 | 12-Sep-2022 |
Daniel Stenberg |
CURLOPT_CONNECT_ONLY.3: for ws(s) as well and correct the version number for when that support comes. Even if it is still experimental for WebSocket. Closes #9487 |
ee56e6ff | 12-Sep-2022 |
Daniel Stenberg |
tool_operate: avoid a few #ifdefs for disabled-libcurl builds By providing empty macros in the header file instead, the code gets easier to read and yet is disabled on demand. C
tool_operate: avoid a few #ifdefs for disabled-libcurl builds By providing empty macros in the header file instead, the code gets easier to read and yet is disabled on demand. Closes #9486
show more ...
|
c3a61653 | 12-Sep-2022 |
a1346054 on github <36859588+a1346054@users.noreply.github.com> |
scripts: use `grep -E` instead of `egrep` egrep is deprecated Closes #9491 |
d7973392 | 13-Sep-2022 |
Hayden Roche |
wolfSSL: fix session management bug. Prior to this commit, non-persistent pointers were being used to store sessions. When a WOLFSSL object was then freed, that freed the session it
wolfSSL: fix session management bug. Prior to this commit, non-persistent pointers were being used to store sessions. When a WOLFSSL object was then freed, that freed the session it owned, and thus invalidated the pointer held in curl's cache. This commit makes it so we get a persistent (deep copied) session pointer that we then add to the cache. Accordingly, wolfssl_session_free, which was previously a no-op, now needs to actually call SSL_SESSION_free. This bug was discovered by a wolfSSL customer. Closes #9492
show more ...
|
6a1bfbd1 | 13-Sep-2022 |
Daniel Stenberg |
docs: use "WebSocket" in singular This is how the RFC calls the protocol. Also rename the file in docs/ to WEBSOCKET.md in uppercase to match how we have done it for many other proto
docs: use "WebSocket" in singular This is how the RFC calls the protocol. Also rename the file in docs/ to WEBSOCKET.md in uppercase to match how we have done it for many other protocol docs in similar fashion. Add the WebSocket docs to the tarball. Closes #9496
show more ...
|
7740530c | 12-Sep-2022 |
Marcel Raad |
ws: fix build without `USE_WEBSOCKETS` The curl.h include is required unconditionally. |
a0ff4dba | 12-Sep-2022 |
Marcel Raad |
ws: add missing curl.h include A conflict between commits 664249d0952 and e5839f4ee70 broke the build. |
e5e9e0c5 | 12-Sep-2022 |
Daniel Stenberg |
ws: fix an infof() call to use %uz for size_t output Detected by Coverity, CID 1514665. Closes #9480 |
e5839f4e | 07-Sep-2022 |
Marcel Raad |
curl_setup: include only system.h instead of curl.h As done before commit 9506d01ee50. Ref: https://github.com/curl/curl/pull/9375#discussion_r957010158 Closes https://github.co
curl_setup: include only system.h instead of curl.h As done before commit 9506d01ee50. Ref: https://github.com/curl/curl/pull/9375#discussion_r957010158 Closes https://github.com/curl/curl/pull/9453
show more ...
|
b921a167 | 07-Sep-2022 |
Marcel Raad |
lib: add missing limits.h includes Closes https://github.com/curl/curl/pull/9453 |
d7dceb57 | 07-Sep-2022 |
Marcel Raad |
lib and tests: add missing curl.h includes Closes https://github.com/curl/curl/pull/9453 |
4a7c10c6 | 07-Sep-2022 |
Marcel Raad |
curl_setup: include curl.h after platform setup headers The platform setup headers might set definitions required for the includes in curl.h. Ref: https://github.com/curl/curl/p
curl_setup: include curl.h after platform setup headers The platform setup headers might set definitions required for the includes in curl.h. Ref: https://github.com/curl/curl/pull/9375#discussion_r956998269 Closes https://github.com/curl/curl/pull/9453
show more ...
|
ff021cb2 | 11-Sep-2022 |
Benjamin Loison <12752145+Benjamin-Loison@users.noreply.github.com> |
docs: correct missing uppercase in Markdown files To detect these typos I used: ``` clear && grep -rn '\. [a-z]' . | uniq | grep -v '\. lib' | grep -v '[0-9]\. [a-z]' | grep -v
docs: correct missing uppercase in Markdown files To detect these typos I used: ``` clear && grep -rn '\. [a-z]' . | uniq | grep -v '\. lib' | grep -v '[0-9]\. [a-z]' | grep -v '\.\. [a-z]' | grep -v '\. curl' | grep -v 'e.g. [a-z]' | grep -v 'eg. [a-z]' | grep -v '\etc. [a-z]' | grep -v 'i.e\. [a-z]' | grep --color=always '\. [a-z]' | grep '\.md' ``` Closes #9474
show more ...
|
5d254bbc | 11-Sep-2022 |
Daniel Stenberg |
tool_setopt: use better English in --libcurl source comments Like this: XYZ was set to an object pointer ABC was set to a function pointer Closes #9475 |
9ac40bfc | 11-Sep-2022 |
Daniel Stenberg |
setopt: make protocol2num use a curl_off_t for the protocol bit ... since WSS does not fit within 32 bit. Bug: https://github.com/curl/curl/pull/9467#issuecomment-1243014887 Clo
setopt: make protocol2num use a curl_off_t for the protocol bit ... since WSS does not fit within 32 bit. Bug: https://github.com/curl/curl/pull/9467#issuecomment-1243014887 Closes #9476
show more ...
|
f06e5c35 | 11-Sep-2022 |
Daniel Stenberg |
RELEASE-NOTES: synced |
3b0d678f | 11-Sep-2022 |
Daniel Stenberg |
configure: polish the grep -E message a bit further Suggested-by: Emanuele Torre Closes #9473 |
9cc9a647 | 08-Sep-2022 |
Daniel Stenberg |
GHA: add a gcc-11 -O3 build using OpenSSL Since -O3 might trigger other warnings Closes #9454 |
4399b030 | 09-Sep-2022 |
Patrick Monnerat |
content_encoding: use writer struct subclasses for different encodings The variable-sized encoding-specific storage of a struct contenc_writer currently relies on void * alignment that m
content_encoding: use writer struct subclasses for different encodings The variable-sized encoding-specific storage of a struct contenc_writer currently relies on void * alignment that may be insufficient with regards to the specific storage fields, although having not caused any problems yet. In addition, gcc 11.3 issues a warning on access to fields of partially allocated structures that can occur when the specific storage size is 0: content_encoding.c: In function ‘Curl_build_unencoding_stack’: content_encoding.c:980:21: warning: array subscript ‘struct contenc_writer[0]’ is partly outside array bounds of ‘unsigned char[16]’ [-Warray-bounds] 980 | writer->handler = handler; | ~~~~~~~~~~~~~~~~^~~~~~~~~ In file included from content_encoding.c:49: memdebug.h:115:29: note: referencing an object of size 16 allocated by ‘curl_dbg_calloc’ 115 | #define calloc(nbelem,size) curl_dbg_calloc(nbelem, size, __LINE__, __FILE__) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ content_encoding.c:977:60: note: in expansion of macro ‘calloc’ 977 | struct contenc_writer *writer = (struct contenc_writer *)calloc(1, sz); To solve both these problems, the current commit replaces the contenc_writer/params structure pairs by "subclasses" of struct contenc_writer. These are structures that contain a contenc_writer at offset 0. Proper field alignment is therefore handled by the compiler and full structure allocation is performed, silencing the warnings. Closes #9455
show more ...
|
ae4d1437 | 10-Sep-2022 |
Daniel Stenberg |
configure: correct the wording when checking grep -E The check first checks that grep -E works, and only as a fallback tries to find and use egrep. egrep is deprecated. This cha
configure: correct the wording when checking grep -E The check first checks that grep -E works, and only as a fallback tries to find and use egrep. egrep is deprecated. This change only corrects the output wording, not the checks themselves. Closes #9471
show more ...
|
b62d236f | 10-Sep-2022 |
Viktor Szakats |
websockets: sync prototypes in docs with implementation [ci skip] Docs for the new send/recv functions synced with the committed versions of these. Closes #9470 |
ce753e3c | 10-Sep-2022 |
Daniel Stenberg |
setopt: make protocols2num() work with websockets So that CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR can specify those as well. Reported-by: Patrick Monnerat Bug:
setopt: make protocols2num() work with websockets So that CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR can specify those as well. Reported-by: Patrick Monnerat Bug: https://curl.se/mail/lib-2022-09/0016.html Closes #9467
show more ...
|
70c8ce5a | 10-Sep-2022 |
Daniel Stenberg |
curl/websockets.h: remove leftover bad typedef Just a leftover trace of a development thing that did not stay like that. Reported-by: Marc Hörsken Fixes #9465 Cloes #9466 |