Thomas Waldmann
8011fade91
move key loading/saving code to FlexiKey
2022-03-11 21:05:42 +01:00
Thomas Waldmann
ad405892ca
rename KeyfileKeyBase -> FlexiKeyBase
...
it is used as direct base class for both:
- RepoKey
- KeyfileKey
2022-03-11 21:05:42 +01:00
Thomas Waldmann
d42e6f2c41
key: uses key_cls.TYPES_ACCEPTABLE to dispatch
...
for now only a quite simple change, replacing the hardcoded PassphraseKey -> RepoKey dispatching.
2022-03-11 21:05:42 +01:00
TW
6cd0f6de49
Merge pull request #6431 from mikefarmer01/patch-1
...
use --numeric-ids in pull doc
2022-03-10 01:29:45 +01:00
Michael Bauer
638774761c
use --numeric-ids in pull doc
...
replace flag --numeric-owner with --numeric-ids
2022-03-09 21:43:22 +01:00
TW
153b6c3c70
Merge pull request #6429 from ThomasWaldmann/fix-savefile-mode-master
...
respect umask for files / dirs (master)
2022-03-09 19:00:58 +01:00
Thomas Waldmann
dd0ae1e48d
ensure_dir: respect umask for created directory modes, fixes #6400
...
we tried to be very private / secure here, but that created the issue
that a less secure umask (like e.g. 0o007) just did not work.
to make the umask work, we must start from 0o777 mode and let the
umask do its work, like e.g. 0o777 & ~0o007 --> 0o770.
with borg's default umask of 0o077, it usually ends up being 0o700,
so only permissions for the user (not group, not others).
2022-03-09 17:16:58 +01:00
Thomas Waldmann
0f9d88bf2e
SaveFile: respect umask for final file mode, fixes #6400
2022-03-09 17:16:31 +01:00
TW
32a0bf8b4f
Merge pull request #6428 from braewoods/cflags
...
Allow extra compiler flags for every extension build
2022-03-09 16:14:26 +01:00
TW
c1fc1df5e8
Merge pull request #6426 from braewoods/warnings
...
properly suppress -Wimplicit-fallthrough
2022-03-09 16:09:12 +01:00
TW
68d5e33b06
Merge pull request #6425 from m3nu/issue/6305/performance-faq
...
Add discussion and note on file attrs.
2022-03-09 16:05:00 +01:00
Manu
af5103d833
Incorporate feedback by TW
2022-03-09 15:48:57 +04:00
James Buren
820de65562
Allow extra compiler flags for every extension build
...
This is mainly intended for explicit warnings but it can be
used for other flags as well.
2022-03-09 05:18:52 -06:00
James Buren
596e33b68d
properly suppress -Wimplicit-fallthrough
...
It turns out that explaining the comment actually breaks its
intended usage.
2022-03-09 05:00:56 -06:00
Manu
dd1023df44
Add discussion and note on file attrs.
2022-03-09 14:06:40 +04:00
TW
9a8fb9c902
Merge pull request #6422 from ThomasWaldmann/fix-cython-warnings-master
...
fix "useless trailing comma" cython warnings
2022-03-08 21:58:02 +01:00
Thomas Waldmann
f0bf5915c5
fix "useless trailing comma" cython warnings
2022-03-08 21:15:24 +01:00
TW
a82673e708
Merge pull request #6416 from hexagonrecursion/unicode
...
Fix compilation warnings: ‘PyUnicode_AsUnicode’ is deprecated
2022-03-07 19:36:22 +01:00
Andrey Bienkowski
f75a6152ab
‘PyUnicode_AsUnicode’ is deprecated
...
Fix compilation warnings:
```
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/opt/hostedtoolcache/Python/3.9.10/x64/include/python3.9 -c src/borg/platform/posix.c -o build/temp.linux-x86_64-3.9/src/borg/platform/posix.o
src/borg/platform/posix.c: In function ‘__pyx_pf_4borg_8platform_5posix_2swidth’:
src/borg/platform/posix.c:1572:3: warning: ‘PyUnicode_AsUnicode’ is deprecated [-Wdeprecated-declarations]
1572 | __pyx_t_2 = __Pyx_PyUnicode_AsUnicode(__pyx_v_s); if (unlikely((!__pyx_t_2) && PyErr_Occurred())) __PYX_ERR(0, 19, __pyx_L1_error)
| ^~~~~~~~~
In file included from /opt/hostedtoolcache/Python/3.9.10/x64/include/python3.9/unicodeobject.h:1026,
from /opt/hostedtoolcache/Python/3.9.10/x64/include/python3.9/Python.h:93,
from src/borg/platform/posix.c:19:
/opt/hostedtoolcache/Python/3.9.10/x64/include/python3.9/cpython/unicodeobject.h:580:45: note: declared here
580 | Py_DEPRECATED(3.3) PyAPI_FUNC(Py_UNICODE *) PyUnicode_AsUnicode(
| ^~~~~~~~~~~~~~~~~~~
```
Ref: https://docs.python.org/3/c-api/unicode.html#c.PyUnicode_AsUnicode
2022-03-07 10:36:22 +03:00
TW
0714339d3f
Merge pull request #6412 from ThomasWaldmann/remove-passphrasekey
...
remove PassphraseKey code and borg key migrate-to-repokey command
2022-03-06 15:51:06 +01:00
Thomas Waldmann
37f237d3e0
remove PassphraseKey code and borg key migrate-to-repokey command
...
"passphrase" encryption mode repos can not be created since borg 1.0.
back then, users were advised to switch existing repos of that type
to repokey mode using the "borg key migrate-to-repokey" command.
that command is still available in borg 1.0, 1.1 and 1.2, but not
any more in borg >= 1.3.
while we still might see the PassphraseKey.TYPE byte in old repos,
it is handled by the RepoKey code since borg 1.0.
2022-03-06 15:26:18 +01:00
TW
e4e243be0b
Merge pull request #6408 from ThomasWaldmann/hmac-digest-master
...
hmac and blake2b minor optimizations and cleanups
2022-03-06 01:32:30 +01:00
TW
b3c4cee8f9
Merge pull request #6409 from ThomasWaldmann/fix-codeql-master
...
fix codeql complaining about missing headers needed by borg
2022-03-06 00:20:26 +01:00
TW
a457e90a95
Merge pull request #6411 from aspargas2/master
...
Forward port: import-tar fixes
2022-03-06 00:18:43 +01:00
Thomas Waldmann
862eefb96d
fixup: fix SELFTEST_COUNT
2022-03-05 22:26:04 +01:00
Thomas Waldmann
83deedb13a
kill filter process in case of borg exceptions, fixes #6401
...
in the finally-block, we wait for the filter process to die. but it only dies
voluntarily if all data was processed by the filter and it terminates due to EOF.
otoh, if borg has thrown an early exception, e.g. "archive already exists",
we need to kill the filter process to bring it to an early end. in that
case, we also do not need to check the filter rc, because we know we killed it.
2022-03-05 16:25:10 -05:00
Thomas Waldmann
2bcee08b88
import-tar: fix mtime type bug
...
looks like with a .tar file created by the tar tool,
tarinfo.mtime is a float [s]. So, after converting to
nanoseconds, we need to cast to int because that's what
Item.mtime wants.
also added a safe_ns() there to clip values to the safe range.
2022-03-05 16:24:59 -05:00
TW
d18d1370ac
Merge pull request #6410 from ThomasWaldmann/remove-stretch64-vm
...
vagrant: remove debian stretch VM, not supported any more
2022-03-05 22:19:16 +01:00
Thomas Waldmann
2cad8c925d
fix codeql complaining about missing headers needed by borg
...
thus:
- install requirements first
- codeql init
- build borg
- codeql analyzse
2022-03-05 22:17:44 +01:00
Thomas Waldmann
fc67453bf3
vagrant: remove debian stretch VM, not supported any more
2022-03-05 22:09:41 +01:00
Thomas Waldmann
41536f9f79
fixup: remove now unused import
2022-03-05 21:55:23 +01:00
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
34261aac0e
Merge pull request #6378 from braewoods/warnings
...
suppress -Wimplicit-fallthrough warning
2022-03-05 14:20:24 +01:00
TW
47a9e4686b
Merge pull request #6377 from ThomasWaldmann/fix-6374-master
...
create: skip with warning if opening the parent dir of recursion root fails, fixes #6374
2022-03-05 14:18:57 +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
James Buren
4a55d9de3c
suppress -Wimplicit-fallthrough warning
...
These instances of implicit switch case fallthrough appear to be
intentional. Add comments that the compiler understands to suppress
the false positive warning.
2022-02-27 14:29:53 -06: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
8375d44328
create: skip with warning if opening the parent dir of recursion root fails, fixes #6374
2022-02-27 02:52:03 +01:00
Thomas Waldmann
b755f47775
vagrant: add required system libs (esp. xxhash)
2022-02-26 23:26:17 +01:00