Commit Graph

29097 Commits

Author SHA1 Message Date
Daniel Stenberg
6c616ba1e7
README.md: use the common "Copyright" style formatting
Closes #9006
2022-06-14 14:06:43 +02:00
Daniel Stenberg
c2ad703e63
reuse: move license info from .mailmap.license to .reuse/dep5
Closes #9006
2022-06-14 14:06:30 +02:00
Daniel Stenberg
20e0507381
README.md: add a REUSE badge
Closes #9004
2022-06-14 09:00:15 +02:00
Daniel Stenberg
a33f90b1e3
.reuse/dep5: remove recursive docs ignore, only skip markdown files
... and some additional non-markdown individual files in docs/

Closes #9005
2022-06-14 08:58:20 +02:00
Daniel Stenberg
df45fd1794
docs/cmdline-opts: add copyright and license identifier to each file
gen.pl now insists on C: and SPDX-License-Identifier: fields to be
present in all files.

Closes #9002
2022-06-14 08:48:09 +02:00
Daniel Stenberg
d82c7eedea
copyright: info for/ignore .github/ISSUE_TEMPLATE/bug_report.md
Follow-up from 448f7ef9ab. The adding of the copyright text in that
file broke site functionality.

Closes #9001
2022-06-14 00:04:19 +02:00
Daniel Stenberg
448f7ef9ab
bug_report.md: revert the REUSE template to see if it works again 2022-06-13 23:41:07 +02:00
Viktor Szakats
a94d6fe706
version: rename threadsafe-init to threadsafe
Referring to Daniel's article [1], making the init function thread-safe
was the last bit to make libcurl thread-safe as a whole. So the name of
the feature may as well be the more concise 'threadsafe', also telling
the story that libcurl is now fully thread-safe, not just its init
function. Chances are high that libcurl wants to remain so in the
future, so there is little likelihood of ever needing any other distinct
`threadsafe-<name>` feature flags.

For consistency we also shorten `CURL_VERSION_THREADSAFE_INIT` to
`CURL_VERSION_THREADSAFE`, update its description and reference libcurl's
thread safety documentation.

[1]: https://daniel.haxx.se/blog/2022/06/08/making-libcurl-init-more-thread-safe/

Reviewed-by: Daniel Stenberg
Reviewed-by: Jay Satiro
Closes #8989
2022-06-13 18:59:45 +00:00
Daniel Stenberg
7ade9c50b3
test3026: disable on win32
... as it's not likely to have working pthreads

Closes #8996
2022-06-13 17:51:30 +02:00
Daniel Stenberg
805796ed0b
GHA: shorten the reuse CI job name
"REUSE compliance / check" should be good enough

Closes #9000
2022-06-13 10:09:15 +02:00
Daniel Stenberg
a36e6987e5
misc: add missing SPDX-License-Identifier info
For some reason the REUSE CI job did not find these.

Closes #8999
2022-06-13 10:08:17 +02:00
Daniel Stenberg
758537854f
copyright: verify SPDX-License-Identifier presence as well 2022-06-13 09:51:32 +02:00
Daniel Stenberg
be632e23df
easy_lock: add SPDX license identifier
Closes #8998
2022-06-13 09:36:25 +02:00
Daniel Stenberg
5ccddf6439
mailmap: Max Mehl 2022-06-13 09:14:07 +02:00
max.mehl
e8e66126aa
git: ignore large commit making the curl REUSE compliant 2022-06-13 09:14:07 +02:00
max.mehl
ad9bc5976d
copyright: make repository REUSE compliant
Add licensing and copyright information for all files in this repository. This
either happens in the file itself as a comment header or in the file
`.reuse/dep5`.

This commit also adds a Github workflow to check pull requests and adapts
copyright.pl to the changes.

Closes #8869
2022-06-13 09:13:00 +02:00
Daniel Stenberg
965119855d
curl_url_set.3: clarify by default using known schemes only
Closes #8994
2022-06-12 23:10:51 +02:00
Daniel Stenberg
18a01e3229
scripts/copyright.pl: ignore leading spaces 2022-06-12 12:37:27 +02:00
Viktor Szakats
dd94076947
ngtcp2: fix typo in preprocessor condition
Ref: 927ede7edc

Bug: https://github.com/curl/curl/pull/8981#discussion_r894312185
Reported-by: Emil Engler
Closes #8987
2022-06-10 23:07:15 +00:00
Daniel Stenberg
37c5a527a8
RELEASE-NOTES: synced 2022-06-10 09:18:39 +02:00
Tatsuhiro Tsujikawa
927ede7edc
ngtcp2: build without sendmsg
Closes #8981
2022-06-10 09:10:54 +02:00
Tatsuhiro Tsujikawa
d2c6d8be18
ngtcp2: use handshake helper funcs to simplify TLS handshake integration
Closes #8968
2022-06-10 09:07:33 +02:00
Daniel Stenberg
95f5aae9ad
test390: verify --parallel
Closes #8985
2022-06-10 09:05:25 +02:00
Daniel Stenberg
5121d98c22
test1543: verify CURLINFO_EFFECTIVE_URL with CURLOPT_CURLU set
Triggered by a bug report from Adam Light:
https://curl.se/mail/lib-2022-06/0013.html - which ended up being mostly
a misunderstanding of how CURLINFO_EFFECTIVE_URL works.

Closes #8971
2022-06-08 16:32:46 +02:00
Daniel Stenberg
90a7017acb
url: URL encode the path when extracted, if spaces were set 2022-06-08 16:32:46 +02:00
Daniel Stenberg
c3fc406ebb
urlapi: support CURLU_URLENCODE for curl_url_get() 2022-06-08 16:32:46 +02:00
Daniel Stenberg
db8cfdc8f7
server/sws: support spaces in the HTTP request path 2022-06-08 16:32:46 +02:00
Daniel Stenberg
d391c57990
tests/getpart: fix getpartattr to work with "data" and "data2" 2022-06-08 16:32:46 +02:00
Daniel Stenberg
5912da253b
select: return error from "lethal" poll/select errors
Adds two new error codes: CURLE_UNRECOVERABLE_POLL and
CURLM_UNRECOVERABLE_POLL one each for the easy and the multi interfaces.

Reported-by: Harry Sintonen
Fixes #8921
Closes #8961
2022-06-08 11:07:01 +02:00
Daniel Stenberg
7007324a6a
test3026: add missing control file
Follow-up from 2ed1012564

Makes the test run, makes 'make dist' work

This single test takes 24-25 seconds on my machine (with valgrind). For
this reason I tag it with a "slow" keyword.

Closes #8976
2022-06-08 11:00:02 +02:00
Daniel Stenberg
f317b75c5e
runtests: fix skipping tests not done event-based
... and call timestampskippedevents() to avoid the flood of
uninitialized variable warnings.

Closes #8977
2022-06-08 10:56:37 +02:00
Daniel Stenberg
07058f6ad8
transfer: maintain --path-as-is after redirects
Reported-by: Marcus T
Fixes #8974
Closes #8975
2022-06-08 10:30:36 +02:00
Daniel Stenberg
5394cbf570
test391: verify --path-as-is with redirect 2022-06-08 10:30:28 +02:00
Jay Satiro
ae8a329e81 curl_global_init.3: Separate the Windows loader lock warning
This is a slight correction of the parent commit which implied the
loader lock warning only applied if not thread-safe. In fact the loader
lock warning applies either way.

Ref: https://github.com/curl/curl/pull/8972#discussion_r891987030
2022-06-08 03:02:51 -04:00
Daniel Stenberg
ba47566863
curl_global_init.3: this is now (usually) thread-safe
Follow-up to 23af112f55

Closes #8972
2022-06-08 08:50:15 +02:00
Haxatron
23408f1fd2 libcurl-security.3: Document CRLF header injection
- Document that user input to header options is not sanitized, which
  could result in CRLF used to modify the request in a way other than
  what was intended.

Ref: https://hackerone.com/reports/1589877
Ref: https://medium.com/@tomnomnom/crlf-injection-into-phps-curl-options-e2e0d7cfe545

Closes https://github.com/curl/curl/pull/8964
2022-06-08 02:32:35 -04:00
Jay Satiro
c11380d213 CURLOPT_RANGE.3: remove ranged upload advice
The e-mail link in the advice contains instructions that are prone to
error. We need an example that works and can demonstrate how to properly
perform a ranged upload, and then we can refer to that example instead.

Bug: https://github.com/curl/curl/issues/8969
Reported-by: Simon Berger

Closes https://github.com/curl/curl/pull/8970
2022-06-08 01:47:17 -04:00
Thomas Guillem
2ed1012564
curl_version_info: add CURL_VERSION_THREADSAFE_INIT
This flag can be used to make sure that curl_global_init() is
thread-safe.

This can be useful for libraries that can't control what other
dependencies are doing with Curl.

Closes #8680
2022-06-07 13:34:03 +02:00
Thomas Guillem
23af112f55
lib: make curl_global_init() threadsafe when possible
Use a posix pthread or a Windows SRWLOCK to lock curl_global_init*() and
curl_global_cleanup().

Closes #8680
2022-06-07 13:34:03 +02:00
Daniel Stenberg
134963a5ef
RELEASE-NOTES: synced 2022-06-06 12:29:51 +02:00
Fabian Keil
77ad759366
test414: add the '--resolve' keyword
... so the test can be automatically skipped when
using an external proxy like Privoxy.

Closes #8959
2022-06-06 12:26:26 +02:00
Fabian Keil
d313db70f8
test{440,441,493,977}: add "HTTP proxy" keywords
... so the tests can be automatically skipped when
using an external proxy like Privoxy.

Closes #8959
2022-06-06 12:26:23 +02:00
Fabian Keil
3561e4ed9b
runtests.pl: add the --repeat parameter to the --help output
Closes #8959
2022-06-06 12:26:18 +02:00
Fabian Keil
1d288d46d5
test 2081: add a valid reply for the second request
... so the test works when using a HTTP proxy like
Privoxy that sends an error message if the server
doesn't send data.

Closes #8959
2022-06-06 12:26:14 +02:00
Fabian Keil
9dfa1dcfa0
test 675: add missing CR so the test passes when run through Privoxy
Closes #8959
2022-06-06 12:26:06 +02:00
Daniel Stenberg
6754f99398
ftp: when failing to do a secure GSSAPI login, fail hard
... instead of switching to cleartext. For the sake of security.

Reported-by: Harry Sintonen
Bug: https://hackerone.com/reports/1590102
Closes #8963
2022-06-06 11:55:39 +02:00
Daniel Stenberg
21ea13cfe1
http2: reject overly many push-promise headers
Getting more than a thousand of them is rather a sign of some kind of
attack.

Reported-by: Harry Sintonen
Bug: https://hackerone.com/reports/1589847
Closes #8962
2022-06-06 11:53:49 +02:00
Fabian Keil
9dbce9b3d0
misc: spelling improvements
Closes #8956
2022-06-05 12:15:23 +02:00
Tatsuhiro Tsujikawa
298c1dfc7b
ngtcp2: fix assertion failure on EMSGSIZE
Closes #8958
2022-06-05 12:12:26 +02:00
Daniel Stenberg
2bd75e5686
easy/transfer: fix cookie-disabled build
Follow-up from 45de940ceb
Reported-by: Marcel Raad
Fixes #8953
Closes #8954
2022-06-02 22:54:12 +02:00