1
0
mirror of https://github.com/libssh2/libssh2.git synced 2026-01-27 00:18:12 +03:00
Commit Graph

110 Commits

Author SHA1 Message Date
Viktor Szakats
6f86b196da ci: use Linux runner for BSDs, add arm64 FreeBSD 14 job
- bump cross-platform-actions to 0.23.0.
  Ref: https://github.com/cross-platform-actions/action/releases/tag/v0.23.0

- switch to Linux runners (from macOS) for cross-platform-actions.
  It's significantly faster.

- switch back FreeBSD 14 job to cross-platform-actions.
  Also switch back to default shell.

- add FreeBSD 14 arm64 job.

Closes #1343
2024-03-30 23:45:00 +00:00
Viktor Szakats
dd52300890 ci: use single quotes in yaml [ci skip] 2024-03-30 23:08:57 +00:00
Viktor Szakats
b6e8bdb444 ci: tidy-up job order [ci skip] 2024-03-30 22:49:31 +00:00
Viktor Szakats
576ca7a067 ci: delete flaky FreeBSD 13.2 job
Keep FreeBSD 14.
2024-03-29 11:55:16 +00:00
Viktor Szakats
5e65dd87dd ci: don't parallelize distcheck job
A while ago the `distcheck` CI job became flaky. This continued after
switching to Debian stable (from testing). Try stabilzing it by running
it single-threaded.

Closes #1339
2024-03-28 22:20:00 +00:00
Viktor Szakats
b08cfbc99f ci/gha: review/fixup auto-cancel settings
- use the group expression from `reuse.yml` (via curl).
- add auto-cancel for `ci` and `cifuzz`.
- add auto-cancel to `appveyor_docker`. I'm just guessing here.
  The hope is that it fixes AppVeyor CI runs when re-pushing a PR.
  This frequently caused the freshly pushed session to fail waiting for
  a connection.
- sync group expression in `appveyor_status` with `reuse`.

Closes #1292
2023-12-21 21:41:41 +00:00
Viktor Szakats
46333adfb8 ci: add FreeBSD 14 job, fix issues
- install bash to fix error when running tests:
  ```
  ERROR: test_sshd.test - missing test plan
  ERROR: test_sshd.test - exited with status 127 (command not found?)
  =====================================
  [...]
  # TOTAL: 4
  # PASS:  2
  # SKIP:  0
  # XFAIL: 0
  # FAIL:  0
  # XPASS: 0
  # ERROR: 2
  [...]
  env: bash: No such file or directory
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7133852508/job/19427420687#step:3:3998

- fix sshd issue when running tests:
  ```
    # sshd log:
    #  Server listening on :: port 4711.
    #  Server listening on 0.0.0.0 port 4711.
    #  Authentication refused: bad ownership or modes for file /home/runner/work/libssh2/libssh2/tests/key_rsa.pub
    #  Authentication refused: bad ownership or modes for file /home/runner/work/libssh2/libssh2/tests/openssh_server/authorized_keys
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7134629175/job/19429828342#step:3:4059

Cherry-picked from #1277
Closes #1277
2023-12-08 02:04:18 +00:00
Viktor Szakats
5e0ec99134 ci: add OmniOS job, fix issues
- use GNU Make, to avoid errors:
  ```
  make: Fatal error in reader: Makefile, line 983: Badly formed macro assignment
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7134629175/job/19429838379#step:3:1956

  Caused by `?=` in `Makefile.am`. Fix it just in case.

  ```
  make: Fatal error in reader: Makefile, line 438: Unexpected end of line seen
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7135524843/job/19432451767#step:3:1966

  It's around line 43 in `Makefile.am`, reason undiscovered.

- fix error:
  ```
  ../../src/hostkey.c:1227:44: error: pointer targets in passing argument 5 of '_libssh2_ed25519_sign' differ in signedness [-Werror=pointer-sign]
     1227 |                                  datavec[0].iov_base, datavec[0].iov_len);
          |                                  ~~~~~~~~~~^~~~~~~~~
          |                                            |
          |                                            caddr_t {aka char *}
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7135102832/job/19431233967#step:3:2225

  https://docs.oracle.com/cd/E36784_01/html/E36887/iovec-9s.html

- FIXME: new `-Wsign-conversion` warnings appeared in examples:
  ```
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
    251 |         FD_SET(forwardsock, &fds);
        |         ^~~~~~
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:251:9: warning: conversion to 'long int' from 'long unsigned int' may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
    259 |         if(rc && FD_ISSET(forwardsock, &fds)) {
        |                  ^~~~~~~~
  ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'libssh2_socket_t' {aka 'int'} may change the sign of the result [-Wsign-conversion]
  ../../example/direct_tcpip.c:259:18: warning: conversion to 'long unsigned int' from 'long int' may change the sign of the result [-Wsign-conversion]
  [...]
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/7136086865/job/19433997429#step:3:3450

Cherry-picked from #1277
2023-12-08 02:02:44 +00:00
Viktor Szakats
e051ae343a autotools: delete --disable-tests option, fix CI tests
Originally added to improve build performance by skipping building
tests. But, there seems to be no point in this, because autotools
doesn't build tests by default, unless explicitly invoking
`make check`.

Delete this option from Cygwin and FreeBSD CI tests, where it caused
`make check` to do nothing. Tests are built now, and runtime tests are
too, where supported.

Also disable Docker-based tests for these, and add a missing `make -j3`
for FreeBSD.

Reverts 7483edfada #715

Closes #1271
2023-12-06 00:55:15 +00:00
ren mingshuai
b1414503f5 build: add LIBSSH2_NO_DEPRECATED option (#1266)
The following APIs have been deprecated for over 10 years and
use `LIBSSH2_NO_DEPRECATED` to mark them as deprecated:

libssh2_session_startup()
libssh2_banner_set()
libssh2_channel_receive_window_adjust()
libssh2_channel_handle_extended_data()
libssh2_scp_recv()

Add these options to disable them:
- autotools: `--disable-deprecated`
- cmake: `-DLIBSSH2_NO_DEPRECATED=ON`
- `CPPFLAGS`: `-DLIBSSH2_NO_DEPRECATED`

Fixes #1259
Replaces #1260
Co-authored-by: Viktor Szakats
Closes #1267
2023-12-06 00:14:53 +01:00
Viktor Szakats
c912408809 ci: show compiler in cross/cygwin job names
Tested via #1257
2023-12-01 05:50:12 +00:00
Viktor Szakats
363dcbf449 openssl: use OpenSSL 3 HMAC API, add no-deprecated CI job
- use OpenSSL 3 API when available for HMAC.
  This fixes building with OpenSSL 3 `no-deprecated` builds.

- ensure we support pure OpenSSL 3 API by adding a CI job using
  OpenSSL 3 custom-built with `no-deprecated`.

Follow-up to b0ab005fe7 #1207

Fixes #1235
Closes #1243
2023-11-27 09:41:05 +00:00
Viktor Szakats
66108f02f0 ci: restore lost comment for FreeBSD [ci skip]
Follow-up to eee4e8055a
2023-11-26 12:00:23 +00:00
Viktor Szakats
0c9a8e3590 ci: add OpenBSD (v7.4) job + fix build error in example
- Use CMake, LibreSSL and clang from the base install.

- This uncovered a build error in `example/subsystem_netconf.c`, caused
  by using the `%n` printf mask. This is a security risk and some
  systems (notably OpenBSD) disable this feature.

  Fix it by applying this patch from OpenBSD ports (from 2021-09-11):
  https://cvsweb.openbsd.org/ports/security/libssh2/patches/patch-example_subsystem_netconf_c?rev=1.1&content-type=text/x-cvsweb-markup
  2c5b2f3e94
  "The old code is also broken, as it passes a pointer to a variable
  of a different size (on LP64).  There is no check for truncation,
  but buf[] is 1MB in size."
  Patch-by: naddy

  ```
  /home/runner/work/libssh2/libssh2/example/subsystem_netconf.c:252:17: error: '%n' format specifier support is deactivated and will call abort(3) [-Werror]
        "]]>]]>\n%n", (int *)&len);
                 ~^
  /home/runner/work/libssh2/libssh2/example/subsystem_netconf.c:270:17: error: '%n' format specifier support is deactivated and will call abort(3) [-Werror]
        "]]>]]>\n%n", (int *)&len);
                 ~^
  2 errors generated.
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/6991449778/job/19022024280#step:3:420

Also made tests with arm64, but it takes consistently almost 14m to
finish the job, vs. 2-3m for the native amd64:
https://github.com/libssh2/libssh2/actions/runs/6991648984/job/19022440525
https://github.com/libssh2/libssh2/actions/runs/6991551220/job/19022233651

Cherry-picked from #1250
Closes #1250
2023-11-26 10:16:56 +00:00
Viktor Szakats
65c7a7a55a ci: add NetBSD (v9.3) job
Use CMake, OpenSSL (v1.1) and clang from the base install.

Cherry-picked from #1250
2023-11-26 10:16:01 +00:00
Viktor Szakats
eee4e8055a ci: update and speed up FreeBSD job
- switch to an alternate GitHub action. This one seems (more) actively
  maintained, and runs faster:
  https://github.com/cross-platform-actions/action

- use clang instead of gcc. clang is already present in the base
  install, saving install time and bandwidth.

- stop installing `openssl-quictls` and use the OpenSSL (v1.1) from
  the base system.
  (I'm suspecting that quictls before this patch wasn't detected by
  the build.)
  https://wiki.freebsd.org/OpenSSL

Cherry-picked from #1250
2023-11-26 10:16:01 +00:00
Viktor Szakats
7494881617 ci: use absolute path in CMAKE_INSTALL_PREFIX
To make the installed locations unambiguous in the build logs.

Closes #1247
2023-11-25 11:25:52 +00:00
Viktor Szakats
236e79a115 ci: boost mbedTLS build speed
Build times down to 4 seconds (from 18-20).

Closes #1245
2023-11-25 11:01:00 +00:00
Viktor Szakats
c9dd3566b2 ci: add BoringSSL job (cmake, gcc, amd64)
Closes #1233
2023-11-21 01:42:38 +00:00
Viktor Szakats
fea6664e1b ci: fixup FreeBSD version, bump mbedtls
We haven't been using the FreeBSD version. Also it turns out,
the single version supported is 13.2 at the moment:
  https://github.com/vmactions/freebsd-vm/tree/main/conf

Stop trying to set the version and instead rely on the action
providing the latest supported one automatically.

Follow-up to a7d2a573be

Also:
- add more details to the FreeBSD job description.
- bump mbedtls version while here.

Closes #1217
2023-11-10 16:58:19 +00:00
Viktor Szakats
a7d2a573be ci: add FreeBSD 13.2 job
It runs over Linux via qemu. First two runs were (very) slow, then it
became (much) more performant at just 2x slower than a native Linux
build. Then got slow again, then fast again. Still seems acceptable
for the value this adds.

The build uses autotools and quictls.

Successful builds:
1. https://github.com/libssh2/libssh2/actions/runs/6802676786/job/18496286419 (13m59s, -j3)
2. https://github.com/libssh2/libssh2/actions/runs/6802976375/job/18497243225 (11m5s, -j2)
3. https://github.com/libssh2/libssh2/actions/runs/6803142201/job/18497785049 (3m6s, -j1)
4. https://github.com/libssh2/libssh2/actions/runs/6803194839/job/18497962766 (3m10s, -j2)
5. https://github.com/libssh2/libssh2/actions/runs/6803267201/job/18498208501 (3m13s)
6. https://github.com/libssh2/libssh2/actions/runs/6803510333/job/18498993698 (15m25s)
7. https://github.com/libssh2/libssh2/actions/runs/6813602863/job/18528571057 (3m13s)

Similar solution exists for Solaris (over macOS via VirtualBox), but it
hangs forever at `Waiting for text: solaris console login`:
https://github.com/libssh2/libssh2/actions/runs/6802388128/job/18495391869#step:4:185

Idea taken from LibreSSL.

FIXME: Unrelated, the `distcheck` job became flaky in recent days:
https://github.com/libssh2/libssh2/actions/runs/6802976375/job/18497256437#step:10:536
```
FAIL: test_auth_pubkey_ok_rsa_aes256gcm
```
https://github.com/libssh2/libssh2/actions/runs/6813602863/job/18528588933#step:10:533
```
FAIL: test_read
```

Closes #1215
2023-11-09 15:32:45 +00:00
Viktor Szakats
4348557960 Makefile.mk: delete Windows-focused raw GNU Make build
We recommend using CMake instead. Especially in unity mode, it's faster
and probably more familiar for most. It's also easily portable.

(`Makefile.mk` was also portable, but in practice only usable for
Windows. Other platforms required a manual config header.)

Also:
- migrate `LIBSSH2_NO_*` option CI tests to CMake.
- make MSYS2 CMake builds verbose to show compilation options.

Closes #1204
2023-11-06 21:41:12 +00:00
Viktor Szakats
fc00bdd7f1 cmake: simplify showing CMake version
Move it to `CMakeLists.txt`. Drop `cmake --version` commands.

Credit to the `zlib-ng` project for the idea:
61e181c8ae/CMakeLists.txt (L7)

Closes #1203
2023-10-07 16:56:32 +00:00
Viktor Szakats
5e19044282 ci: mbedtls 3.5.0
v3.5.0 needs extra compiler option for i386 to avoid:
```
#error "Must use `-mpclmul -msse2 -maes` for MBEDTLS_AESNI_C"
```

Closes #1202
2023-10-07 11:02:28 +00:00
Viktor Szakats
d468a33f62 ci: update actions, use shallow clones with appveyor
- update GitHub Actions to their latest versions.

- use shallow git clones in AppVeyor CI to save data over the wire.

Closes #1199
2023-09-30 16:05:00 +00:00
Viktor Szakats
4c241d5c65 cmake: cleanup mbedTLS version detection more
- lowercase, underscored local variables.
- fix `find_library()` to use the multiple names passed.
- rely more on `find_package_handle_standard_args()`.
  Logic based on our `Findwolfssl.cmake`.
- delete ignored/unused `MBEDTLS_LIBRARY_DIR`.
- revert CI configuration to use `MBEDCRTYPO_LIBRARY`.
- clarify inputs/outputs in comment header.
- use variable for regex.
- formatting.

Follow-up to 4159467507 #1192

Closes #1196
2023-09-29 13:49:09 +00:00
Viktor Szakats
4159467507 cmake: improve/fix mbedTLS detection
- libssh2 needs the crypto lib only, stop dealing with the rest.

- simplify logic.

- drop hard-wired toolchain specific options that broke with e.g. MSVC.

  Reported by: AR Visions
  Fixes #1191

- add mbedTLS version detection for recent releases.

- merge custom detection results display into a single line.

- shorten mbedTLS configuration in macOS CI job.

Used the curl mbedTLS detection logic for ideas:
a8c773845f/CMake/FindMbedTLS.cmake

Closes #1192
2023-09-28 18:06:13 +00:00
Viktor Szakats
00a3b88c51 autotools: fix selecting wincng in cross-builds (and more)
- Fix explicitly selecting WinCNG in autotools cross-builds by moving
  `windows.h` header check before the WinCNG availability check.
  Follow-up to d43b8d9b0b

  Reported-by: Jack L
  Fixes #1186

- Add Linux -> mingw-w64 cross-builds for autotools and CMake. This
  doesn't detect #1186, because that happened when explicitly specifying
  WinCNG via `--with-crypto=wincng`, but not when falling back to WinCNG
  by default.

- autotools: fix to strip suffix from gcc version

  Before this patch we expected `n.n` `-dumpversion` output, but Ubuntu
  may return `n-win32` (also with `-dumpfullversion`). Causing these
  errors and failing to enable picky warnings:
  ```
  ../configure: line 23845: test: : integer expression expected
  ```
  Ref: https://github.com/libssh2/libssh2/actions/runs/6263453828/job/17007893718#step:5:143

  Fix that by stripping any dash-suffix.

  gcc version detection is still half broken because we translate '10'
  to '10.10' because `cut -d. -f2` returns the first word if the
  delimiter missing.

  More possible `-dumpversion` output: `10-posix`, `10-win32`,
  `9.3-posix`, `9.3-win32`, `6`, `9.3.0`, `11`, `11.2`, `11.2.0`
  Ref: https://github.com/mamedev/mame/pull/9767

Closes #1187
2023-09-21 15:21:15 +00:00
Viktor Szakats
eb9f9de2c1 md5: allow disabling old-style encrypted private keys at build-time
Before this patch, this happened at runtime when using an old (pre-3.0),
FIPS-enabled OpenSSL backend.

This patch makes it possible to disable this via the build-time option
`LIBSSH2_NO_MD5_PEM`.

Also:
- make sure to exclude all MD5 internal APIs when both the above and
  `LIBSSH2_NO_MD5` are enabled.
- fix tests to support build with`LIBSSH2_NO_MD5`, `LIBSSH2_NO_MD5_PEM`
  and `LIBSSH2_NO_3DES`.
- add FIXME to apply this change to `os400qc3.*`.

Old-style encrypted private keys require MD5 and they look like this:
```
-----BEGIN RSA PRIVATE KEY-----
 Proc-Type: 4,ENCRYPTED
 DEK-Info: AES-128-CBC,<MD5-hex>

 <base64>
 -----END RSA PRIVATE KEY-----
```

E.g.: `tests/key_rsa_encrypted`

Ref: https://github.com/libssh2/www/issues/20
Closes #1181
2023-08-28 22:57:26 +00:00
Viktor Szakats
633db55f50 ci: set file mode early in appveyor_docker.yml
Also:
- replace tab with spaces in generated config file
- formatting

Cherry-picked from #1175
2023-08-23 11:05:39 +00:00
Viktor Szakats
a79218d3a0 ci: add spellcheck (codespell)
Also rename a variable in `src/os400qc3.c` to avoid a false positive.

Cherry-picked from #1175
2023-08-23 10:55:51 +00:00
Viktor Szakats
87f5769b51 cmake: show cmake versions in ci
Cherry-picked from #1175
2023-08-23 10:54:17 +00:00
Viktor Szakats
e61987a3bf tests: formatting and tidy-ups
- Dockerfile: use standard sep with `sed`
- Dockerfile: use single quotes in shell command
- appveyor.yml: use long-form option with `choco`
- tests/cmake: add language to test project
- reuse.yml: fix indentation
  ```
  $ yamllint reuse.yml
  reuse.yml
    [...]
    11:5      error    wrong indentation: expected 6 but found 4  (indentation)
    15:5      error    wrong indentation: expected 6 but found 4  (indentation)
    [...]
    27:5      error    wrong indentation: expected 6 but found 4  (indentation)
  ```

Cherry-picked from #1175
2023-08-23 10:53:53 +00:00
Viktor Szakats
8715c3d51b cmake: add integration tests
Add a small project to test dependent/downstream CMake build using
libssh2. Also added to the GHA CI, and you can also run it locally with
`tests/cmake/test.sh`.

Test three methods of integrating libssh2 into a project:
- via `find_package()`:
  https://cmake.org/cmake/help/latest/command/find_package.html
- via `add_subdirectory()`:
  https://cmake.org/cmake/help/latest/command/add_subdirectory.html
- via `FetchContent`:
  https://cmake.org/cmake/help/latest/module/FetchContent.html

Closes #1170
2023-08-17 09:01:08 +00:00
Viktor Szakats
d43b8d9b0b ci: add MSYS builds (autotools and cmake)
Use existing MSYS2 section and extend it with builds for the MSYS
environment with both autotools and cmake.

MSYS builds resemble Cygwin ones: The env is Unixy, where Windows
headers are all available but we don't use them.

Also:

- extend existing autotools logic for Cygwin to skip detecting
  `windows.h` for MSYS targets too.

- require `windows.h` for the WinCNG backend in autotools. Before this
  patch, autotools allowed selecting WinCNG on the Cygwin and MSYS
  platforms, but the builds then fell apart due to the resulting mixed
  Unixy + Windowsy environment. The general expectation for Cygwin/MSYS
  builds is not to use the Windows API directly in them.

- stop manually selecting the `MSYS Makefiles` CMake generator for
  MSYS2-based GHA CI builds. mingw-w64 builds work fine without it, but
  it broke MSYS build which use `Unix Makefiles`. Deleting this setting
  fixes all build flavours.

Closes #1162
2023-08-14 23:10:15 +00:00
Viktor Szakats
84912e2ed8 ci: cygwin job tidy-ups
`CMAKE_C_COMPILER=gcc` not necessary, delete it.

Follow-up to f1e96e733f

Cherry-picked from #1163
Closes #1163
2023-08-14 23:09:54 +00:00
Viktor Szakats
f1e96e733f ci: add Cygwin builds (autotools and cmake)
To avoid builds picking up non-Cygwin components coming by default with
the CI machine, I used the solution recommended by Cygwin [1] and set
`PATH` manually. To avoid repeating this for each step, I merged steps
into a single one. Let us know if there is a more elegant way.

Cygwin's Github Action uses cleartext HTTP. We upgrade this to HTTPS.

autotools build seemed to take slightly longer than other jobs. To save
turnaround time I disabled building tests.

Cygwin package search: https://cygwin.com/cgi-bin2/package-grep.cgi

[1] https://github.com/cygwin/cygwin-install-action/tree/v4#path

Closes #1161
2023-08-14 21:54:43 +00:00
Viktor Szakats
1215aa5f46 ci: add mingw-w64 UWP build
Add a CI test for Windows UWP builds using mingw-w64. Before this patch
we had UWP builds tested with MSVC only.

Alike existing UWP jobs, it's not possible to run the binaries due to
the missing UWP runtime DLL:
https://github.com/libssh2/libssh2/actions/runs/5821297010/job/15783475118#step:11:42

We could install `winstorecompat-git` in the setup-msys2 step, but opted
to do it manually to avoid the overhead for every matrix job.

All this would work smoother with llvm-mingw, which features an UWP
toolchain prefix and provides all necessary implibs by default.

This also hit a CMake bug (with v3.26.4), where CMake gets confused and
sets up `windres.exe` to use the MSVC rc.exe-style command-line:
https://github.com/libssh2/libssh2/actions/runs/5819232677/job/15777236773#step:9:126

Notice that MS "sunset" UWP in 2021:
https://github.com/microsoft/WindowsAppSDK/discussions/1615

If this particular CI job turns out to be not worth the maintenance
burden or CPU time, or too much of a hack, feel free to delete it.

Ref: https://github.com/libssh2/libssh2/pull/1147#issuecomment-1670850890
Closes #1155
2023-08-10 22:56:47 +00:00
Viktor Szakats
36748270f9 gha: restore curly braces in if
Without curly braces it was less obvious which string is a GHA expression.

Also fix an `if` expression that always missed its curly braces.

Reverts cab3db5887

Closes #1145
2023-08-06 11:46:20 +00:00
Viktor Szakats
82b0c89e29 ci: bump mbedtls 2023-08-04 01:01:31 +02:00
Viktor Szakats
cab3db5887 gha: simplify if strings
Closes #1140
2023-07-28 10:03:57 +00:00
Viktor Szakats
f58f77b5c8 cmake: streamline invocation
Stop specifiying the current directory.
Simplify build instructions.

Closes #1138
2023-07-27 10:49:00 +00:00
Viktor Szakats
6265ffdb70 ci: add missing timeout to 'autotools distcheck' step 2023-07-26 00:05:00 +00:00
Daniel Stenberg
f6aa31f48f provide SPDX identifiers
- All files have prominent copyright and SPDX identifier
- If not embedded in the file, in the .reuse/dep5 file
- All used licenses are in LICENSES/ (not shipped in tarballs)
- A new REUSE CI job verify that all files are OK

Assisted-by: Viktor Szakats

Closes #1084
2023-06-07 08:18:55 +02:00
Viktor Szakats
187d89bb07 copyright: remove years from copyright headers
Also:
- uppercase `(C)`.
- add missing 'All rights reserved.' lines.
- drop duplicate 'Author' lines.
- add copyright headers where missing.
- enable copyright header check in checksrc.

Reasons for deleting years (copied as-is from curl):
- they are mostly pointless in all major jurisdictions
- many big corporations and projects already don't use them
- saves us from pointless churn
- git keeps history for us
- the year range is kept in COPYING

Closes #1082
2023-06-04 19:19:16 +00:00
Viktor Szakats
c6e137f7aa ci: add non-static autotools i386 build, ignore GHA updates on AppVeyor
Add a non-static autotools build to GitHub Actions. Make this build
target i386 and libgcrypt, to test a new build combination if we are at
it.

Also:
- GHA: add necessary generic bits for i386 autotools builds.
- AppVeyor CI: teach it to ignore commits updating our GHA config.

Follow-up to 572c57c9d8 #1072
Closes #1074
2023-05-31 15:04:51 +00:00
Viktor Szakats
e5c0304333 ci: prefer = operator in shell snippets
Closes #1073
2023-05-31 09:21:21 +00:00
Viktor Szakats
ab8e95bcfc ci: drop redundant/unused vars, sync var names
Closes #1059
2023-05-30 23:00:51 +00:00
Viktor Szakats
abdf40c741 ci: add i386 Linux build (with mbedTLS)
Also:
- reorder Linux build matrix to make build tool more visible.
- hide apt-get progress bar.
- prepare package install step for i386 builds.

Detects bug #1053
Closes #1057
2023-05-30 22:19:35 +00:00
Viktor Szakats
3f4ea939b4 ci: add LIBSSH2_NO_AES_CBC to GNU Make build
Closes #1049
2023-05-28 00:05:01 +00:00