Skip to content

Commit a8b3200

Browse files
authored
Merge pull request #39 from Unity-Technologies/malam/curl-8-20
bump curl to 8.20
2 parents e674bbd + cff92f0 commit a8b3200

4,424 files changed

Lines changed: 233534 additions & 216856 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.circleci/config.yml

Lines changed: 32 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -28,30 +28,6 @@
2828
version: 2.1
2929

3030
commands:
31-
configure:
32-
steps:
33-
- run:
34-
command: |
35-
autoreconf -fi
36-
./configure --enable-warnings --enable-werror --with-openssl \
37-
|| { tail -1000 config.log; false; }
38-
39-
configure-openssl-no-verbose:
40-
steps:
41-
- run:
42-
command: |
43-
autoreconf -fi
44-
./configure --disable-verbose --enable-werror --with-openssl \
45-
|| { tail -1000 config.log; false; }
46-
47-
configure-no-proxy:
48-
steps:
49-
- run:
50-
command: |
51-
autoreconf -fi
52-
./configure --disable-proxy --enable-werror --with-openssl \
53-
|| { tail -1000 config.log; false; }
54-
5531
install-cares:
5632
steps:
5733
- run:
@@ -62,86 +38,83 @@ commands:
6238
steps:
6339
- run:
6440
command: |
41+
export DEBIAN_FRONTEND=noninteractive
6542
sudo apt-get update && sudo apt-get install -y libssh-dev
6643
6744
install-deps:
6845
steps:
6946
- run:
7047
command: |
71-
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip libpsl-dev
72-
sudo python3 -m pip install impacket
48+
sudo apt-get update && sudo apt-get install -y libpsl-dev libbrotli-dev libzstd-dev zlib1g-dev python3-pip
49+
python3 -m venv ~/venv
50+
~/venv/bin/pip --disable-pip-version-check --no-input --no-cache-dir install --progress-bar off --prefer-binary -r tests/requirements.txt
7351
74-
configure-libssh:
52+
configure:
7553
steps:
7654
- run:
7755
command: |
7856
autoreconf -fi
79-
./configure --enable-warnings --enable-werror --with-openssl --with-libssh \
57+
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
58+
--with-openssl \
8059
|| { tail -1000 config.log; false; }
8160
82-
install-wolfssl:
83-
steps:
84-
- run:
85-
command: |
86-
source .github/scripts/VERSIONS
87-
echo "Installing wolfSSL $WOLFSSL_VER"
88-
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssl/archive/v$WOLFSSL_VER-stable.tar.gz
89-
tar -xzf v$WOLFSSL_VER-stable.tar.gz
90-
cd wolfssl-$WOLFSSL_VER-stable
91-
./autogen.sh
92-
./configure --enable-tls13 --enable-all --enable-harden --prefix=$HOME/wssl
93-
make install
94-
95-
install-wolfssh:
61+
configure-no-proxy:
9662
steps:
9763
- run:
9864
command: |
99-
source .github/scripts/VERSIONS
100-
echo "Installing wolfSSH $WOLFSSH_VER"
101-
curl -LOsSf --retry 6 --retry-connrefused --max-time 999 https://github.com/wolfSSL/wolfssh/archive/v$WOLFSSH_VER-stable.tar.gz
102-
tar -xzf v$WOLFSSH_VER-stable.tar.gz
103-
cd wolfssh-$WOLFSSH_VER-stable
104-
./autogen.sh
105-
./configure --with-wolfssl=$HOME/wssl --prefix=$HOME/wssh --enable-scp --enable-sftp --disable-examples
106-
make install
65+
autoreconf -fi
66+
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror \
67+
--with-openssl --disable-proxy \
68+
|| { tail -1000 config.log; false; }
10769
108-
configure-cares:
70+
configure-libssh:
10971
steps:
11072
- run:
11173
command: |
11274
autoreconf -fi
113-
./configure --enable-warnings --enable-werror --with-openssl --enable-ares \
75+
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
76+
--with-openssl --with-libssh \
11477
|| { tail -1000 config.log; false; }
11578
116-
configure-wolfssh:
79+
configure-cares:
11780
steps:
11881
- run:
11982
command: |
12083
autoreconf -fi
121-
LDFLAGS="-Wl,-rpath,$HOME/wssh/lib" ./configure --enable-warnings --enable-werror --with-wolfssl=$HOME/wssl --with-wolfssh=$HOME/wssh \
84+
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-warnings \
85+
--with-openssl --enable-ares \
12286
|| { tail -1000 config.log; false; }
12387
12488
configure-cares-debug:
12589
steps:
12690
- run:
12791
command: |
12892
autoreconf -fi
129-
./configure --enable-debug --enable-werror --with-openssl --enable-ares \
93+
./configure --disable-dependency-tracking --enable-option-checking=fatal --enable-unity --enable-werror --enable-debug \
94+
--with-openssl --enable-ares \
13095
|| { tail -1000 config.log; false; }
13196
13297
build:
13398
steps:
13499
- run: make -j3 V=1
100+
- run: src/curl --disable --version
135101
- run: make -j3 V=1 examples
136102

137103
test:
138104
steps:
139-
- run: make -j3 V=1 test-ci TFLAGS='-j14'
105+
- run:
106+
command: |
107+
source ~/venv/bin/activate
108+
# Revert a CircleCI-specific local setting that makes test 1459
109+
# return 67 (CURLE_LOGIN_DENIED) instead of the
110+
# expected 60 (CURLE_PEER_FAILED_VERIFICATION).
111+
echo 'StrictHostKeyChecking yes' >> ~/.ssh/config
112+
make -j3 V=1 test-ci TFLAGS='-j14'
140113
141114
executors:
142115
ubuntu:
143116
machine:
144-
image: ubuntu-2004:2024.01.1
117+
image: ubuntu-2204:2025.09.1
145118

146119
jobs:
147120
basic:
@@ -153,24 +126,6 @@ jobs:
153126
- build
154127
- test
155128

156-
no-verbose:
157-
executor: ubuntu
158-
steps:
159-
- checkout
160-
- install-deps
161-
- configure-openssl-no-verbose
162-
- build
163-
164-
wolfssh:
165-
executor: ubuntu
166-
steps:
167-
- checkout
168-
- install-deps
169-
- install-wolfssl
170-
- install-wolfssh
171-
- configure-wolfssh
172-
- build
173-
174129
no-proxy:
175130
executor: ubuntu
176131
steps:
@@ -202,7 +157,7 @@ jobs:
202157

203158
arm:
204159
machine:
205-
image: ubuntu-2004:2024.01.1
160+
image: ubuntu-2204:2025.09.1
206161
resource_class: arm.medium
207162
steps:
208163
- checkout
@@ -213,7 +168,7 @@ jobs:
213168

214169
arm-cares:
215170
machine:
216-
image: ubuntu-2004:2024.01.1
171+
image: ubuntu-2204:2025.09.1
217172
resource_class: arm.medium
218173
steps:
219174
- checkout
@@ -240,14 +195,6 @@ workflows:
240195
jobs:
241196
- no-proxy
242197

243-
openssl-no-verbose:
244-
jobs:
245-
- no-verbose
246-
247-
wolfssl-wolfssh:
248-
jobs:
249-
- wolfssh
250-
251198
arm-openssl:
252199
jobs:
253200
- arm

.clang-tidy.yml

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
2+
#
3+
# SPDX-License-Identifier: curl
4+
---
5+
# https://clang.llvm.org/extra/clang-tidy/
6+
7+
# https://clang.llvm.org/extra/clang-tidy/checks/list.html
8+
Checks:
9+
- clang-analyzer-*
10+
- -clang-analyzer-optin.performance.Padding
11+
- -clang-analyzer-security.ArrayBound # due to false positives with clang-tidy v21.1.0+
12+
- -clang-analyzer-security.insecureAPI.bzero # for FD_ZERO() (seen on macOS)
13+
- -clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling
14+
- -clang-diagnostic-nullability-extension
15+
- bugprone-assert-side-effect
16+
- bugprone-assignment-in-if-condition
17+
- bugprone-chained-comparison
18+
- bugprone-dynamic-static-initializers
19+
- bugprone-invalid-enum-default-initialization
20+
- bugprone-macro-parentheses
21+
- bugprone-macro-repeated-side-effects
22+
- bugprone-misplaced-operator-in-strlen-in-alloc
23+
- bugprone-misplaced-pointer-arithmetic-in-alloc
24+
- bugprone-not-null-terminated-result
25+
- bugprone-posix-return
26+
- bugprone-redundant-branch-condition
27+
- bugprone-signed-char-misuse
28+
- bugprone-sizeof-expression
29+
- bugprone-suspicious-enum-usage
30+
- bugprone-suspicious-memset-usage
31+
- bugprone-suspicious-missing-comma
32+
- bugprone-suspicious-realloc-usage
33+
- bugprone-suspicious-semicolon
34+
# bugprone-unchecked-string-to-number-conversion # needs converting sscanf to strtol or curlx_str_*
35+
- misc-const-correctness
36+
- misc-header-include-cycle
37+
# misc-redundant-expression # undesired hits due to system macros, e.g. due to POLLIN == POLLRDNORM | POLLRDBAND, then or-ing all three
38+
- portability-*
39+
- readability-duplicate-include
40+
# readability-else-after-return
41+
# readability-enum-initial-value
42+
# readability-function-cognitive-complexity
43+
- readability-inconsistent-declaration-parameter-name
44+
# readability-misleading-indentation # too many false positives and oddball/conditional source
45+
- readability-named-parameter
46+
# readability-redundant-casting # false positives in types that change from platform to platform, even with IgnoreTypeAliases: true
47+
- readability-redundant-control-flow
48+
- readability-redundant-declaration
49+
- readability-redundant-function-ptr-dereference
50+
- readability-redundant-parentheses
51+
- readability-redundant-preprocessor
52+
- readability-suspicious-call-argument
53+
- readability-uppercase-literal-suffix
54+
55+
CheckOptions:
56+
misc-header-include-cycle.IgnoredFilesList: 'curl/curl.h'
57+
readability-inconsistent-declaration-parameter-name.Strict: true
58+
59+
HeaderFilterRegex: '.*' # Default in v22.1.0+

.editorconfig

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
2+
#
3+
# SPDX-License-Identifier: curl
4+
5+
root = true
6+
7+
[*]
8+
charset = utf-8
9+
insert_final_newline = true
10+
indent_style = space
11+
trim_trailing_whitespace = true
12+
13+
[*.{c,h}]
14+
indent_size = 2
15+
max_line_length = 79
16+
17+
[*.{pl,pm}]
18+
indent_size = 4

.gitattributes

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
#
33
# SPDX-License-Identifier: curl
44

5-
buildconf eol=lf
65
configure.ac eol=lf
76
*.m4 eol=lf
87
*.in eol=lf

.github/CONTRIBUTING.md

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,19 @@ Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
44
SPDX-License-Identifier: curl
55
-->
66

7-
How to contribute to curl
8-
=========================
7+
# How to contribute to curl
98

10-
Join the community
11-
------------------
9+
## Join the community
1210

13-
1. Click 'watch' on the GitHub repo
11+
1. Click 'watch' on the GitHub repo
12+
2. Subscribe to the suitable [mailing lists](https://curl.se/mail/)
1413

15-
2. Subscribe to the suitable [mailing lists](https://curl.se/mail/)
14+
## Read [CONTRIBUTE](/docs/CONTRIBUTE.md)
1615

17-
Read [CONTRIBUTE](../docs/CONTRIBUTE.md)
18-
---------------------------------------
16+
## Send your suggestions using one of these methods:
1917

20-
Send your suggestions using one of these methods:
21-
-------------------------------------------------
18+
1. in a mail to the mailing list
19+
2. as a [pull request](https://github.com/curl/curl/pulls)
20+
3. as an [issue](https://github.com/curl/curl/issues)
2221

23-
1. in a mail to the mailing list
24-
25-
2. as a [pull request](https://github.com/curl/curl/pulls)
26-
27-
3. as an [issue](https://github.com/curl/curl/issues)
28-
29-
/ The curl team!
22+
/ The curl team

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,7 @@ body:
1313
1414
Only file bugs here! Ask questions on the mailing lists https://curl.se/mail/
1515
16-
**SECURITY RELATED?** Post it here: https://hackerone.com/curl
17-
18-
There are collections of known issues to be aware of:
19-
20-
- https://curl.se/docs/knownbugs.html
21-
- https://curl.se/docs/todo.html
16+
**SECURITY RELATED?** Submit here: https://hackerone.com/curl
2217
2318
- type: textarea
2419
id: reproducer
@@ -40,7 +35,7 @@ body:
4035
label: curl/libcurl version
4136
description: |
4237
Please paste the output of `curl -V` here.
43-
placeholder: 'curl 8.2.0'
38+
placeholder: 'curl 8.18.0'
4439
validations:
4540
required: true
4641

.github/dependabot.yml

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,37 @@
22
#
33
# SPDX-License-Identifier: curl
44

5+
# https://docs.github.com/code-security/dependabot/working-with-dependabot/dependabot-options-reference
6+
57
version: 2
68
updates:
7-
- package-ecosystem: "github-actions"
8-
directory: "/"
9+
- package-ecosystem: 'github-actions'
10+
directory: '/'
11+
schedule:
12+
interval: 'monthly'
13+
cooldown:
14+
default-days: 7
15+
groups:
16+
gha-dependencies:
17+
patterns:
18+
- '*'
19+
commit-message:
20+
prefix: 'GHA:'
21+
22+
- package-ecosystem: 'pip'
23+
directories:
24+
- '.github/scripts'
25+
- 'tests'
926
schedule:
10-
interval: "weekly"
27+
interval: 'monthly'
28+
cooldown:
29+
default-days: 7
30+
semver-major-days: 15
31+
semver-minor-days: 7
32+
semver-patch-days: 3
33+
groups:
34+
pip-dependencies:
35+
patterns:
36+
- '*'
37+
commit-message:
38+
prefix: 'GHA:'

0 commit comments

Comments
 (0)