Commit Graph

6571 Commits

Author SHA1 Message Date
Thomas Waldmann
c5540229c4 remove the blake2b compat checker script
this was used to compare compatibility of our vendored
blake2b code (which we do not have any more) against the
python stdlib blake2b code (which we always use now anyway).
2022-03-05 21:51:50 +01:00
Thomas Waldmann
07159342ba remove our blake2b_128/256 tests
as we're just calling python stdlib there,
we can assume that they have tests for it.
2022-03-05 21:47:40 +01:00
Thomas Waldmann
2566671d85 remove our hmac_sha256 tests
as we're just calling python stdlib there,
we can assume that they have tests for it.
2022-03-05 21:37:31 +01:00
Thomas Waldmann
c63bd36a6c hmac.digest: some more minor optimizations
also some cosmetic changes:
- import hmac module
- use hmac.compare_digest
2022-03-05 21:29:42 +01:00
Thomas Waldmann
8317698f9b hmac_sha256: replace own cython wrapper code by hmac.digest python stdlib (since py38)
i measured performance of both: pretty much the same.
2022-03-05 21:22:24 +01:00
TW
e37a55c5eb
Merge pull request #6355 from hexagonrecursion/pyproject
Add pyproject.toml
2022-03-01 14:02:34 +01:00
Andrey Bienkowski
aba16ba0d4 CodeQL: Use venv
A bug in pip or possibly setuptools broke editable
installs into the per-user directory
for packages that have pyproject.toml

See https://github.com/pypa/setuptools/issues/3019
2022-03-01 08:44:40 +03:00
Andrey Bienkowski
a929b2db0a Merge remote-tracking branch 'origin/master' into pyproject 2022-03-01 08:43:36 +03:00
TW
49de070799
Merge pull request #6382 from ThomasWaldmann/pyupgrade-38-master
run pyupgrade (py38+)
2022-02-27 21:07:41 +01:00
Thomas Waldmann
fade3c4799 manual formatting fixes (cosmetic / pep8) 2022-02-27 20:12:04 +01:00
Thomas Waldmann
cbeef56454 pyupgrade --py38-plus ./**/*.py 2022-02-27 20:11:56 +01:00
TW
d1bcea9e61
Merge pull request #6363 from ThomasWaldmann/require-py39
require python >= 3.9, fixes #6315
2022-02-27 19:13:05 +01:00
Thomas Waldmann
64e7ccd3fc require python >= 3.9, fixes #6315 2022-02-27 18:46:30 +01:00
TW
e8b2ca8b20
Merge pull request #6372 from ThomasWaldmann/unbundle-3rd-party
Unbundle most 3rd party code
2022-02-27 18:41:22 +01:00
Thomas Waldmann
b755f47775 vagrant: add required system libs (esp. xxhash) 2022-02-26 23:26:17 +01:00
Thomas Waldmann
9b872104da setup_crypto: remove unused function 2022-02-26 23:10:27 +01:00
TW
52f9bc926d
Merge pull request #6368 from braewoods/warnings
fix multiple warnings related to _hashindex.c
2022-02-26 23:03:38 +01:00
TW
1dca742494
Merge pull request #6370 from bket/fix_build_libressl
Fix build with LibreSSL
2022-02-26 23:02:59 +01:00
Thomas Waldmann
606ba08587 fix ci: we need xxhash system lib on macOS
also: we do not need libb2 (directly) any more, this is provided indirectly via python3 now
2022-02-26 22:40:16 +01:00
Thomas Waldmann
64e02887c0 fix codeql: borg needs required libs/headers now
nothing bundled any more.
2022-02-26 22:35:47 +01:00
Thomas Waldmann
80c21b2e23 remove docs of previously bundled blake2 code 2022-02-26 22:22:02 +01:00
Thomas Waldmann
96d93dcf0e do not support bundled 3rd party code any more, fixes #6316 2022-02-26 22:18:12 +01:00
Björn Ketelaars
73c426497f Fix build with LibreSSL
#6338 introduces regression when building with LibreSSL (3.5.0).

```
cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -O2 -pipe -g -fPIC -O2 -pipe -g -O2 -pipe -g -O2 -pipe -fPIC -Isrc/borg/crypto -I/usr/local/include/python3.9 -c src/borg/crypto/low_level.c -o /tmp/ports/pobj/borgbackup-1.2.1/borg-eec359cf228caf00d9c72bde07bf939872e9d3fa/temp.openbsd-7.1-amd64-3.9/src/borg/crypto/low_level.o
src/borg/crypto/low_level.c:12439:48: error: use of undeclared identifier 'EVP_chacha20_poly1305'; did you mean 'EVP_aead_chacha20_poly1305'?
  __pyx_v_self->__pyx_base.__pyx_base.cipher = EVP_chacha20_poly1305;
                                               ^~~~~~~~~~~~~~~~~~~~~
                                               EVP_aead_chacha20_poly1305
/usr/include/openssl/evp.h:1161:17: note: 'EVP_aead_chacha20_poly1305' declared here
const EVP_AEAD *EVP_aead_chacha20_poly1305(void);
                ^
1 error generated.
```

Unfortunately `EVP_aead_chacha20_poly1305`, offered by LibreSSL, is not
a drop in replacement for `EVP_chacha20_poly1305`. More info on the
first can be found at https://man.openbsd.org/EVP_AEAD_CTX_init.3.
2022-02-26 22:03:00 +01:00
Thomas Waldmann
159bd06412 unbundle xxh64 3rd party code, see #6316 2022-02-26 21:37:34 +01:00
Thomas Waldmann
ecd0865d9c unbundle zstd 3rd party code, see #6316 2022-02-26 21:36:30 +01:00
Thomas Waldmann
7c8f288a18 unbundle lz4 3rd party code, see #6316 2022-02-26 21:35:17 +01:00
James Buren
5c94c932bb src/borg/cache_sync/unpack.h: fix compiler warnings
The key argument being sent to hashindex_get and hashindex_set by
multiple functions is a different signedness from what the functions
expect. This resolves the issue by changing the key type in the
unpack_user struct to unsigned char.
2022-02-26 14:02:29 -06:00
James Buren
5f3d61e2f0 src/borg/_hashindex.c: fix compiler warnings
The value argument of hashindex_set is causing harmless pointer type
mismatches. This resolves the issue by changing the type to void*
which silences these types of warnings.
2022-02-26 14:02:29 -06:00
TW
eec359cf22
Merge pull request #6340 from ThomasWaldmann/remove-deprecated-hmac
remove deprecated HMAC_*
2022-02-26 20:41:28 +01:00
Thomas Waldmann
0f2a45b474 crypto: get rid of deprecated HMAC_* functions
These were deprecated in OpenSSL 3.0.
2022-02-26 20:20:11 +01:00
TW
8f945ea252
Merge pull request #6338 from ThomasWaldmann/drop-openssl10
drop openssl 1.0.x support
2022-02-26 20:18:56 +01:00
TW
d707542a57
Merge pull request #6366 from braewoods/warnings
src/borg/compress.pyx: fix compiler warning, closes #6365
2022-02-26 14:46:32 +01:00
James Buren
e27a3eff0a src/borg/compress.pyx: fix compiler warning, closes #6365
This resolves a compiler warning from the generated code that
resulted from a comparison of two local variables of different
signedness. The issue is resolved by changing the type of both
to int since this seems like the safest choice available.
2022-02-25 22:28:34 -06:00
Thomas Waldmann
d1d3d1dfa4 crypto: remove support for: OpenSSL < 1.1.1, LibreSSL < 2.7.0
All these are unsupported since long.

Newer versions of LibreSSL have gained chacha20-poly1305 support,
but still lack aes256-ocb support.
Also they have the HMAC_CTX_new/free api now.

docs: openssl >= 1.1.1 is required now
anything older is out of support anyway.
2022-02-26 00:55:19 +01:00
TW
cf4a1abb87
Merge pull request #6341 from ThomasWaldmann/require-msgpack10
Require msgpack 1.0.3
2022-02-26 00:51:53 +01:00
TW
d45269dff8
Merge pull request #6362 from braewoods/warnings
src/borg/crypto/low_level.pyx: fix compiler warning
2022-02-26 00:24:36 +01:00
Thomas Waldmann
428efa221d vagrant: darwin64: remove fakeroot, fixes #6314
deprecated / unsupported / 404.
2022-02-25 23:46:32 +01:00
James Buren
0d2fae6e7b src/borg/crypto/low_level.pyx: fix compiler warning
The generated source code was producing a compiler warning due to
the pointers differing in constness. The called function expects
a non-const pointer while the generated code produces a const pointer
via a cast. This changes the cast to drop 'const' to make the compiler
happy.
2022-02-25 16:42:24 -06:00
Julian Picht
091c48bc37
docs: Clarify on-disk order and size of log entry fields (#6357)
docs: clarify on-disk order and size of log entry fields

The order of the fields of a log entry on disk is CRC32 first, the docs had the size first.

I tried to make this list similar to the HashIndex struct description.
2022-02-25 12:53:58 +01:00
TW
472eba0323
Merge pull request #6356 from hexagonrecursion/patch-1
s/apt/apt-get/
2022-02-25 12:31:58 +01:00
Andrey Bienkowski
55d5223338
s/apt/apt-get/
> WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
2022-02-25 05:24:00 +00:00
Andrey Bienkowski
30c145ec53 pyproject.toml: running setup.py also requires Cython 2022-02-25 08:17:34 +03:00
Andrey Bienkowski
4df8255e62 Add pkgconfig build requirement
setup_crypto.crypto_ext_kwargs needs pkgconfig to find OpenSSL
2022-02-25 08:04:45 +03:00
Andrey Bienkowski
142bb0e3d4 setup.py: add parent to sys.path
When using pyproject.toml the parent of setup.py
is not on sys.path by default.

See <https://github.com/pypa/setuptools/discussions/3134>
2022-02-25 07:52:50 +03:00
Andrey Bienkowski
6cbb7d650f Add pyproject.toml
This blocks #6264 because black configuration is stored in pyproject.toml.
See <https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html#configuration-format>
I copied this from <https://setuptools.pypa.io/en/latest/userguide/quickstart.html#basic-use>
2022-02-25 06:29:01 +03:00
TW
f61e92c600
Merge pull request #6350 from hexagonrecursion/fwp-smartquote
docs: do not transform --/--- to unicode dashes (master)
2022-02-24 19:49:45 +01:00
Thomas Waldmann
d6756d0070 docs: do not transform --/--- to unicode dashes 2022-02-24 08:44:51 +03:00
Thomas Waldmann
200ed0ad39 msgpack: remove deprecated max_*_len from unpacking api 2022-02-23 04:01:51 +01:00
Thomas Waldmann
0937ae9078 msgpack: require msgpack >= 1.0.3
... and remove support code for older versions.
2022-02-23 04:01:51 +01:00
TW
9e669f6db8
Merge pull request #6313 from borgbackup/rel120
release 1.2.0
2022-02-22 22:25:25 +01:00