Go to file
Marek Marczykowski-Górecki 10f15e6669
backup/restore: reject uncommon compression filters and improve header validation
Compression filter named in a backup header is executed in restore
environment (commonly dom0). While this field is properly authenticated,
there may be cases where backup archive comes from less
trusted source, like migrating from potentially compromised
system.

Modify backup header parsing code to add field specific validators.
Whitelist only know crypto, hmac and compression algorithms.

Based on a patch by Jean-Philippe Ouellet <jpo@vt.edu>
Reported-by: Jean-Philippe Ouellet <jpo@vt.edu>
2019-09-10 15:24:15 +02:00
ci Move pylint config to canonical place 2018-09-18 16:47:58 +02:00
debian version 4.0.26 2019-07-30 16:29:31 +02:00
doc Merge remote-tracking branch 'origin/pr/100' 2019-09-06 13:08:32 +02:00
etc Fix qvm-start-gui autostart script 2017-05-19 17:30:11 +02:00
qubesadmin backup/restore: reject uncommon compression filters and improve header validation 2019-09-10 15:24:15 +02:00
rpm_spec rpm: add R: python3-yaml, as needed by qvm-backup tool 2018-12-28 11:53:57 +01:00
test-packages Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
.gitignore .gitignore: add doc/_build/ 2018-05-03 01:03:27 +02:00
.pylintrc Move pylint config to canonical place 2018-09-18 16:47:58 +02:00
.travis.yml travis: drop python 3.4, add python 3.6 and 3.7 2019-07-29 21:56:28 +02:00
LICENSE Initial commit 2017-03-01 23:48:53 +01:00
Makefile Add 'make clean' target, use it for Debian build 2018-04-13 01:12:06 +02:00
Makefile.builder debian: initial packaging 2017-05-20 03:15:23 +02:00
README.md Bump Python version requirement for qvm-* to 3.5 2019-02-12 02:17:38 +01:00
run-tests Rename qubesmgmt to qubesadmin module 2017-05-11 23:40:03 +02:00
setup.py Bump Python version requirement for qvm-* to 3.5 2019-02-12 02:17:38 +01:00
version version 4.0.26 2019-07-30 16:29:31 +02:00

This is client side implementation of Qubes Admin API. See https://www.qubes-os.org/doc/admin-api/ for protocol specification.

Compatibility

Most of the API modules are compatible with Python >= 2.7. Very few parts require Python >= 3.5:

  • tools (qvm-*)
  • qubesadmin.events module (for asyncio module)

Parts not compatible with Python < 3.5, are not installed in such environment.