Commit Graph

80 Commits

Author SHA1 Message Date
Daniel Stenberg
265b14d6b3
metalink: remove
Warning: this will make existing curl command lines that use metalink to
stop working.

Reasons for removal:

1. We've found several security problems and issues involving the
   metalink support in curl. The issues are not detailed here. When
   working on those, it become apparent to the team that several of the
   problems are due to the system design, metalink library API and what
   the metalink RFC says. They are very hard to fix on the curl side
   only.

2. The metalink usage with curl was only very briefly documented and was
   not following the "normal" curl usage pattern in several ways, making
   it surprising and non-intuitive which could lead to further security
   issues.

3. The metalink library was last updated 6 years ago and wasn't so
   active the years before that either. An unmaintained library means
   there's a security problem waiting to happen. This is probably reason
   enough.

4. Metalink requires an XML parsing library, which is complex code (even
   the smaller alternatives) and to this day often gets security
   updates.

5. Metalink is not a widely used curl feature. In the 2020 curl user
   survey, only 1.4% of the responders said that they'd are using it. In
   2021 that number was 1.2%. Searching the web also show very few
   traces of it being used, even with other tools.

6. The torrent format and associated technology clearly won for
   downloading large files from multiple sources in parallel.

Cloes #7176
2021-06-07 08:14:25 +02:00
Marc Hoersken
af97a8f232 CI/cirrus: add shared and static Windows release builds
Azure Pipelines is currently being used for debug builds,
let's also run some non-debug (release) Windows builds and
make use of previously underutilized Cirrus CI for that.

Reviewed-by: Marcel Raad

Closes #6991
2021-05-16 11:23:47 +02:00
Daniel Stenberg
e052bbcd57
ci: adapt to configure requiring an explicit TLS choice 2021-04-22 23:19:47 +02:00
Daniel Stenberg
85e6975643
copyright: update copyright year ranges to 2021
Reviewed-by: Emil Engler
Closes #6802
2021-03-27 23:00:14 +01:00
Viktor Szakats
7db6bc5eca
ci: stop building on freebsd-12-1
An updated freebsd-12-2 image was added a few months ago, and this
older one is consistently failing to go past `pkginstall`:
```
Newer FreeBSD version for package py37-mlt:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1202000
- running kernel: 1201000
Ignore the mismatch and continue? [Y/n]: pkg: repository FreeBSD contains packages for wrong OS version: FreeBSD:12:amd64
```

FreeBSD thread suggests that 12.1 is EOL, and best to avoid.

Ref: https://forums.freebsd.org/threads/78856/

Reviewed-by: Daniel Stenberg
Closes #6622
2021-02-18 11:21:04 +00:00
Marc Hoersken
d18e9c580f
CI/cirrus: simplify logic for disabled tests
The OpenSSH server instance for the testsuite cannot
be started on FreeBSD, therefore the SFTP and SCP
tests are disabled right away from the beginning.

The previous OS version specific logic for SKIP_TESTS
is no longer needed/used and can therefore be removed.

Reviewed-by: Daniel Stenberg

Follow up to #6211
Closes #6229
2020-11-20 12:45:11 +01:00
Emil Engler
4e65f69b0d
cirrus: build with FreeBSD 12.2 in CirrusCI
Closes #6211
2020-11-17 12:18:45 +01:00
Daniel Stenberg
4d2f800677
curl.se: new home
Closes #6172
2020-11-04 23:59:47 +01:00
Carlo Marcelo Arenas Belón
7670e9ef71 cirrus-ci: upgrade 11-STABLE to 11.4
Meant to be the last of the 11 series and so make sure that all
other references reflect all 11 versions so they can be retired
together later.

Closes https://github.com/curl/curl/pull/5668
2020-07-11 02:42:54 -04:00
Daniel Stenberg
c585bad8e2
cirrus-ci: disable FreeBSD 13 (again)
It has been failing for a good while again. This time we better leave it
disabled until we have more reason to believe it behaves.

Closes #5628
2020-06-29 17:46:48 +02:00
Marc Hoersken
cffbcc3110
test1238: avoid tftpd being busy for tests shortly following
The tftpd server may still be busy if the total timeout of
25 seconds has not been reached or no sread error was received
during or after the execution of the timeout test 1238.

Once the next TFTP test comes around (eg. 1242 or 1243),
those will fail because the tftpd server is still waiting
on data from curl due to the UDP protocol being stateless
and having no connection close. On Linux this error may not
happen, because ICMP errors generated due to a swrite error
can also be returned async on the next sread call instead.

Therefore we will now just kill the tftpd server after test
1238 to make sure that the following tests are not affected.

This enables us to no longer ignore tests 1242, 1243, 2002
and 2003 on the CI platforms CirrusCI and AppVeyor.

Assisted-by: Peter Wu
Closes #5364
2020-05-11 19:59:19 +02:00
Daniel Stenberg
dce30e2e07
cirrus: disable SFTP and SCP tests
... as we can't seem to start the sshd server on it. Those problems
existed before d1239b50be (running the SSH server on a random port),
but they're more noticable now since there are more failed attempts in
the logs.

Closes #5315
2020-04-30 23:54:44 +02:00
Marc Hoersken
50842c1b32
cirrus: no longer ignore test 504 which is working again
The test is working again, because TCP blackholing is disabled.
2020-04-13 20:27:00 +02:00
Daniel Stenberg
9a8b3b3e13
copyright: fix out-of-date copyright ranges and missing headers
Reported by the new script 'scripts/copyright.pl'. The script has a
regex whitelist for the files that don't need copyright headers.

Removed three (mostly usesless) README files from docs/

Closes #5141
2020-03-24 15:05:59 +01:00
Daniel Stenberg
3d1fcf6cd8
cirrus: make freebsd ignore the tests instead of skipping
To allow us to see in the CI logs how they actually behave

Closes #5091
2020-03-23 09:21:22 +01:00
Daniel Stenberg
e3d1700cce
cirrus: move the sanitizer build from freebsd 13 to freebsd 12 2020-03-23 09:21:14 +01:00
Daniel Stenberg
12585bf9ae
Revert "cirrus-ci: disable the FreeBSD 13 builds"
This reverts commit 691b71be93.
2020-03-23 09:21:14 +01:00
Marc Hoersken
3c9066fce5
tests: make Python-based servers compatible with Python 2 and 3
Update smbserver.py and negtelnetserver.py to be compatible with
Python 3 while staying backwards-compatible to support Python 2.

Fix string encoding and handling of echoed and transferred data.

Tested with both Python 2.7.17 and Python 3.7.7

Reported-by: Daniel Stenberg
Assisted-by: Kamil Dudka
Reviewed-by: Marcel Raad

Fixes #5104
Closes #5110
2020-03-19 03:26:19 +01:00
Daniel Stenberg
d83402813b
CI: stop ignoring 323, it is disabled 2020-03-17 09:55:35 +01:00
Marc Hoersken
49fbe01908
ci/tests: install impacket for SMB tests on FreeBSD using CirrusCI
Also force the package index/cache to be updated before installing.

Closes #5103
2020-03-15 13:38:41 +01:00
Daniel Stenberg
691b71be93
cirrus-ci: disable the FreeBSD 13 builds
FreeBSD 13.0 is apparently close to a year away from a stable release
and has proven to cause intermittent builds failures recently.

Assisted-by: Dan Fandrich
Assisted-by: Fedor Korotkov
Fixes #5028
Closes #5029
2020-03-04 14:23:07 +01:00
Dan Fandrich
70ae5c46ef cirrus: Add some missing semicolons
Newlines aren't preserved in this section so they're needed to separate
commands. The exports luckily worked anyway as a single long line, but
erroneously exported a variable called "export"
[skip ci]
2020-02-03 12:27:30 +01:00
Dan Fandrich
35f908072c cirrus: Switch to the FreeBSD 12.1 point release & enable more tests.
A few tests are now passing on FreeBSD, so no longer skip them.
[skip ci]
2019-12-16 13:30:53 +01:00
Dan Fandrich
86f9c67629 cirrus: Drop the FreeBSD 10.4 build
Upstream support for 10.4 ended a year ago, and it looks like the image
is now gone, too.
[skip ci]
2019-12-13 09:23:37 +01:00
Daniel Stenberg
35c7aac3c6
cirrus: enable clang sanitizers on freebsd 13 2019-12-09 15:30:17 +01:00
Daniel Stenberg
5584aa96f8
cirrus: switch off blackhole status on the freebsd CI machines 2019-10-09 14:16:28 +02:00
Dan Fandrich
60fcd39383 cirrus: Increase the git clone depth.
If more commits are submitted to master between the time of triggering
the first Cirrus build and the time the final build gets started, the
desired commit is no longer at HEAD and the build will error out.
[skip ci]
2019-10-09 10:55:06 +02:00
Dan Fandrich
e5594e09f6 cirrus: Switch the FreeBSD 11.x build to 11.3 and add a 13.0 build.
Also, select the images using image_family to get the latest snapshots
automatically.
[skip ci]
2019-10-09 09:53:18 +02:00
Dan Fandrich
18d1161429 cirrus: Customize the disabled tests per FreeBSD version
Try to run as many test cases as possible on each OS version.
12.0 passes 13 more tests than the older versions, so we might as well
run them.
2019-04-01 10:16:10 +02:00
Dan Fandrich
9a36c0ae21 cirrus: Added FreeBSD builds using Cirrus CI.
The build logs will be at https://cirrus-ci.com/github/curl/curl

Some tests are currently failing and so disabled for now. The SSH server
isn't starting for the SSH tests due to unsupported options used in its
config file. The DICT server also is failing on startup.
2019-02-10 16:00:25 +01:00