Marek Marczykowski-Górecki
8921df90d8
qvm-backup: add options to specify custom hmac/enc algorithms
2014-01-15 05:34:35 +01:00
Marek Marczykowski-Górecki
adbec8e843
backups/qvm-backup: force encryption if backup is sent to AppVM ( #769 )
2014-01-15 05:34:21 +01:00
Marek Marczykowski-Górecki
26b32ca51e
backups: refuse to create encrypted and compressed backup ( #775 )
2014-01-15 05:00:13 +01:00
Marek Marczykowski-Górecki
357fe37ed2
backups: change data/time delimiter in filename according to ISO 8601
2014-01-15 04:34:51 +01:00
Marek Marczykowski-Górecki
50c00e555e
backups: make cleanup code more defensive
...
If we are killing remaining processes in cause of exception, ignore
failure here (OSError is raised in case of non existing process).
2014-01-15 03:57:59 +01:00
Marek Marczykowski-Górecki
7b1e9f3bfb
backups: implement backup header
...
It stores basic backup information like used hmac/crypto algorithm,
whether backup is encrypted/compressed and possibly more. The header
file is parsed only after successful HMAC verification. Because we do
not know which HMAC algorithm was used before reading the header, try to
guess trying all supported (starting with the default one).
Backup header is stored as the first file, which is always not encrypted
and not compressed. Then qubes.xml follows.
2014-01-15 03:53:45 +01:00
Marek Marczykowski-Górecki
4c29d743c8
backups: introduce configurable HMAC/encryption algo
...
For now always set it to default values (no frontend application uses
those parameters), but be prepared for further improvements.
2014-01-15 03:50:29 +01:00
Marek Marczykowski-Górecki
4b493b6d9a
backups: unify compress/encrypt parameter names
2014-01-15 03:45:12 +01:00
Marek Marczykowski-Górecki
8d445beebb
backups: fix qvm-backup-restore calls
...
Do not use backup_restore_header, it is called from
backup_restore_prepare now.
2014-01-15 03:36:45 +01:00
Marek Marczykowski-Górecki
a2037a4985
backups: do not hardcode limit values in the code ( #771 )
...
Also introduce limit for stderr read from VM (anti DoS protection).
2014-01-15 03:36:16 +01:00
Marek Marczykowski-Górecki
b85cd0448f
backups: minor fixes, mostly formatting
2014-01-15 01:05:54 +01:00
Marek Marczykowski-Górecki
6b4c96d195
Improve block devices detection during system startup
...
Not only refresh the info about mounted devices, but also check for
others - detected before xenstored was running. Because of recent change
in udev rules (adding flock) it shouldn't deadlock now.
2014-01-13 05:00:01 +01:00
Marek Marczykowski-Górecki
40953176f4
backups: reorganise restore API
...
Call backup_restore_header from backup_restore_prepare, there is no
sense in requiring the user to call them separately. Also store all
parameters in restore_info object as special '$OPTIONS$' VM to not
require passing them twice (with all the chances for the errors).
2014-01-13 04:45:02 +01:00
Marek Marczykowski-Górecki
338fc74ea2
backups: misc minor fixes
2014-01-13 04:37:54 +01:00
Marek Marczykowski-Górecki
c6ca2725a1
backups: rename classes according to coding style
2014-01-13 04:27:19 +01:00
Marek Marczykowski-Górecki
e2c19e0bc4
qvm-tools: fix typo in qvm-start
2014-01-10 03:32:22 +01:00
Marek Marczykowski-Górecki
c825a41909
backups: ignore EPIPE on pipe.close()
...
This is most likely some padding left in output buffer. See #764
comments for details.
2014-01-10 03:31:15 +01:00
Marek Marczykowski-Górecki
6abca8ce57
backups: do not chdir() in main process
...
This can be any application, for example Qubes Manager. Changing current
dir can have side effects, especially when we do not change it back
after restore (or in any error encountered).
2014-01-10 03:30:59 +01:00
Marek Marczykowski-Górecki
29bd92aad9
backups: terminate Extract_Worker on error in main process
2014-01-10 03:28:53 +01:00
Marek Marczykowski-Górecki
d86865d299
backups: fix passing -z option to openssl
...
Note that this is not fix #775 in any way.
2014-01-10 03:26:50 +01:00
Marek Marczykowski-Górecki
01312a17d6
backups: improve error handling in Extract_Worker
...
Terminate children when exception raised. Also rename tar2_command to
tar2_process to improve readability.
2014-01-10 03:23:51 +01:00
Marek Marczykowski-Górecki
eeca3eb697
backups: improve error reporting when something failed in dest VM
2014-01-10 03:20:48 +01:00
Marek Marczykowski-Górecki
bcf1a19807
backups: fix include/exclude of dom0 home in backup
...
Place it in the list just like the other VMs. Then handle separately.
2014-01-10 03:19:22 +01:00
Danny Fullerton
268dcfd71d
Fix qvm-block crash with /dev/mdXpY devices
2014-01-08 11:51:05 +01:00
Marek Marczykowski-Górecki
631f5f8383
version 2.1.38
2014-01-06 17:52:28 +01:00
Vincent Penquerc'h
8e16c0be34
qubes-restore: check for negative numbers from file data
2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
cdbfa0b7eb
xenstore-watch: initialize token passed to xen
...
Xen will read it till the terminating NUL.
Plus return 0 on exit and define main as returning int.
2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
2924a3436f
qubes-restore: minor const/void fixups
2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
cb39059ede
qubes-restore: trivial error message \n fixups
2014-01-06 17:47:16 +01:00
Vincent Penquerc'h
702cd90c4d
qubes-restore: fix buffer reading loop
...
It would work twice, but no more.
Also guard explicitely against buffer overflow, since once that
code actually works, sizeof(buf)-buflen will be interpreted as
large positive, and allow overwriting the stack.
2014-01-06 17:47:15 +01:00
Vincent Penquerc'h
67c198552b
qubes-restore: guard against falling off the start of the buffer
2014-01-06 17:47:15 +01:00
Vincent Penquerc'h
f34728c0bb
qubes-restore: make error message more truthful
2014-01-06 17:47:15 +01:00
Vincent Penquerc'h
f3850b7a71
qubes-restore: ensure we don't read outside the buffer
...
Marek says the 20 offset was there for a previous Xen
save file format, and is no longer needed.
2014-01-06 17:42:51 +01:00
Vincent Penquerc'h
ed24d8bc75
qubes-restore: fix race condition in allocating VM IDs
2014-01-06 17:42:51 +01:00
Vincent Penquerc'h
2cf4ad18eb
qubes-restore: some syscall error checking
2014-01-06 17:42:51 +01:00
Vincent Penquerc'h
8c7a5e5933
qubes-restore: fix buffer overflow in command line building
2014-01-06 17:42:50 +01:00
Vincent Penquerc'h
95c76e071e
qubes-restore: properly format time
...
2 microseconds are not 2 deciseconds
2014-01-06 17:42:50 +01:00
Vincent Penquerc'h
bf6486e973
qubes-restore: properly NUL terminate buffer and check for errors
...
It looks like a succesful read would have worked, assuming that the
other side always sends a \n last, as strtoul would find one before
the NUL. However, an error would write before the buffer.
2014-01-06 17:42:50 +01:00
Marek Marczykowski-Górecki
bba989e0a6
Move meminfo-writer to linux-utils repo
...
It is common for both dom0 and VM, and also quite linux-specific
(other OSes will need other implementation). So move to linux-specific
repo (not dom0-specific).
2014-01-05 05:36:50 +01:00
Marek Marczykowski-Górecki
994e963ab8
backup: fix handling errors in source VM
2013-12-29 03:20:27 +01:00
Marek Marczykowski-Górecki
a972a87061
Merge remote-tracking branch 'joanna/master'
2013-12-19 13:47:53 +01:00
Marek Marczykowski-Górecki
5f38ff916a
hvm: one more fix for start() return value
2013-12-19 13:46:30 +01:00
Joanna Rutkowska
2347874690
Merge branch 'master' of git://git.qubes-os.org/marmarek/core-admin
2013-12-18 11:57:41 +01:00
Marek Marczykowski-Górecki
f18717d192
qvm-tools: update log names reported by qvm-start in debug mode
2013-12-17 23:59:16 +01:00
Marek Marczykowski-Górecki
cdd031cea5
hvm: fix return value of vm.start()
2013-12-17 23:59:05 +01:00
Marek Marczykowski-Górecki
a070ab70df
version 2.1.37
2013-12-17 15:03:11 +01:00
Marek Marczykowski-Górecki
177c40d18f
qvm-tools: do not crash qvm-run/qvm-start --tray when no notification service available
2013-12-15 22:53:06 +01:00
Olivier MEDOC
2576e5000e
hvm: copy template private.img during hvm creation if hvm is template based
2013-12-14 03:58:01 +01:00
Marek Marczykowski-Górecki
4505d643f9
qvm-tools: one more fix for qvm-check tool
2013-12-13 22:52:18 +01:00
Marek Marczykowski-Górecki
73c38d8d1c
hvm: propagate qrexec/guiagent setting from template
...
Do it only in one way - i.e. support the situation where template
doesn't have tools installed, but child VM does.
2013-12-13 22:47:20 +01:00