Marek Marczykowski-Górecki
228ae07543
backups: improve errors handling
...
Report nice error message (not a traceback), interrupt the process on
non-recoverable error (when extraction process is already dead).
2014-09-17 14:43:41 +02:00
Marek Marczykowski-Górecki
f0bbb28398
backups: implement verify-only option ( #863 )
2014-09-17 14:43:27 +02:00
Wojciech Zygmunt Porczyk
d7958625c6
core+modules: provide meaingful repr()s for some classes
2014-08-11 16:34:33 +02:00
Marek Marczykowski-Górecki
2f9247c39d
notify: missing import
2014-07-20 13:39:02 +02:00
Marek Marczykowski-Górecki
913dac7b09
core: change default icon size
...
GUI daemon accepts up to 128x128 icons, so use that size by default.
2014-07-16 02:55:42 +02:00
Wojciech Zygmunt Porczyk
f55fc1655d
core/qubes.py: migrate to new label icons
2014-07-10 16:17:58 +02:00
Wojciech Zygmunt Porczyk
8ff423dc9a
Fix ignore-username-mismatch ( #859 )
2014-06-25 16:00:32 +02:00
Marek Marczykowski-Górecki
fcc77167a9
block: fix support for device-mapper devices
2014-06-07 04:54:15 +02:00
Marek Marczykowski-Górecki
a1d6ce433a
core: fix name conflict in tray_notify_* functions
2014-06-07 01:13:54 +02:00
Marek Marczykowski-Górecki
1ed9c74d83
Rearrange code to not import PyQt on every qvm-* call
...
Move notification functions to separate file (out of guihelpers).
2014-06-05 01:59:42 +02:00
Marek Marczykowski-Górecki
44f38fe076
Declare file encoding for all python files, fill missing copyright headers
...
Without that, python do not accept UTF-8 even in comments.
2014-05-18 21:03:27 +02:00
Marek Marczykowski-Górecki
39496bf65a
backups: use more restrictive pattern for directory canonicalization ( #840 )
...
The --xform option affects all the names - including symlink targets. So
make the pattern as precise as possible to not break symlinks in dom0
home backup. Still not ideal, but at least limit damage to relative
symlinks pointing at <username> directory (which hopefully user will
not create). Previous version broke all relative symlinks...
2014-05-13 03:18:08 +02:00
Marek Marczykowski-Górecki
b8b2733114
core: fix un-setting global VMs (default netvm, clockvm etc)
2014-05-05 05:24:04 +02:00
Wojciech Zygmunt Porczyk
624ab67e86
qubesutils.py: don't fail on broken symlinks
2014-05-02 17:03:50 +02:00
Wojciech Zygmunt Porczyk
1840420331
qubesutils.py: fix get_disk_usage hidden exception
2014-04-30 15:43:35 +02:00
Wojciech Zygmunt Porczyk
4b15838009
qubesutils.py: remove imported but unused classes
...
This is needed to remove circular dependency with modules.
This commit is part of #822 fix.
2014-04-28 12:19:52 +02:00
Wojciech Zygmunt Porczyk
ee059df63e
qubesutils.py: get_disk_usage
...
get_disk_usage is moved from code-modules and backup.py and rewritten not to
call external du
This commit is part of #822 fix.
2014-04-24 21:50:12 +02:00
Marek Marczykowski-Górecki
f324f4eef8
core: verify template compatibility when adding new VM
...
It is done in Qubes Manager, but do it at lower level - especially for
qvm-create tool.
2014-04-18 01:35:12 +02:00
Marek Marczykowski-Górecki
ef09f2ed2a
Disable PAT in linux VMs
...
Apparently kernel patch "x86/cpa: Use pte_attrs instead of pte_flags on
CPA/set_p.._wb/wc operations" (in out repo) doesn't fully solve the
problem and sometimes qubes-gui agent crashes with message like
"qubes-gui:664 map pfn expected mapping type write-back for [mem
0x00093000-0x00093fff], got uncached-minus".
Because PAT we really need only in dom0 (lack of it dramatically
decrease performance of some graphics drivers), we can simply disable it
in VM - as it is currently done in upstream kernel.
2014-04-16 16:44:42 +02:00
Marek Marczykowski-Górecki
5cbfb64a57
qubesutils: enable/disable updates check on all the VMs and dom0 ( #800 )
2014-04-11 07:06:12 +02:00
Marek Marczykowski-Górecki
bc70581bd3
qubesutils: Add meminfo watching to QubesWatch class ( #788 )
2014-03-31 03:45:21 +02:00
Marek Marczykowski-Górecki
9e7b8a63bc
qubesutils: reduce code duplication in QubesWatch class
2014-03-30 22:53:34 +02:00
Marek Marczykowski-Górecki
5d7688a2fe
backups: allow provide full path for the backup (instead of directory) ( #801 )
...
This will allow the user to choose custom filename, instead of
auto generated 'qubes-backup-XXX'.
2014-03-17 21:15:39 +01:00
Marek Marczykowski-Górecki
b298110d5f
backups: list VMs not selected for backup ( #801 )
2014-03-14 16:31:04 +01:00
Marek Marczykowski-Górecki
09652cb0f8
core: store date of last backup for each VM
2014-03-10 04:29:14 +01:00
Marek Marczykowski-Górecki
1d4a26f3a8
add convenient symlinks simulating target python files layout
2014-03-10 01:05:01 +01:00
Marek Marczykowski-Górecki
f4194c9d08
backups: implement async backup/restore cancel method ( #793 )
...
The backup_cancel() method kills processes registered by main thread and
set "running_backup_operation.canceled" to True. Then main thread get an
error because of killed processes and check if that was because of
cancel request.
Introduce BackupCanceledError, which can report temporary dir to remove.
2014-03-08 03:55:47 +01:00
Marek Marczykowski-Górecki
b52d1a4379
backups: remove unused variables
2014-03-08 03:55:23 +01:00
Marek Marczykowski-Górecki
7e507cba6a
backups: fix header handling when restoring from VM
...
Do wait for nest reported filename only when restoring directly from
dom0. In VM case it isn't necessary and will cause false error report
(because filename will be set to nextfile at the end of restore process,
so will be treated as spurious file without hmac).
2014-03-08 03:52:21 +01:00
Marek Marczykowski-Górecki
4a56b65b59
backups: fix error reporting, do not report EOF as an error
...
Do not report main thread error (notified as "ERROR" file) as
ExtractWorker error.
2014-03-08 03:50:08 +01:00
Marek Marczykowski-Górecki
c430355a5b
backups: correctly mark if dom0 is present in the backup
...
Reset dom0 "backup_content" flag to False, then possibly set it to True.
2014-03-08 03:46:41 +01:00
Marek Marczykowski-Górecki
11961cbbff
qvm-block: fix handling unusual devices attached to dom0
...
Simply get device major-minor from /dev/ device file.
This is only partial solution, because this will work only for dom0
devices, but the same problem can apply to VM.
2014-03-05 00:49:28 +01:00
Marek Marczykowski-Górecki
62457da085
Merge branch 'appicons'
2014-02-07 05:52:36 +01:00
Danny Fullerton
8dbc417642
backups: Fix backup's passphrase unicode encoding issue
2014-02-05 06:51:47 +01:00
Marek Marczykowski-Górecki
7278102aef
backups: fix VM size calculation
...
Count only files included in the backup, not all of them (so ignore
temporary files etc).
2014-02-05 05:48:55 +01:00
Marek Marczykowski-Górecki
f461c09d89
backups: improve error message
2014-02-05 04:34:30 +01:00
Marek Marczykowski-Górecki
f2f9f568cd
backups: enforce estimated upper limit on extracted files count
...
Do not allow (compromised) source VM to use all inodes.
2014-02-05 02:48:00 +01:00
Marek Marczykowski-Górecki
038877d35d
backups: fix tar output handling
...
Tar print the filename right _before_ processing the file, so wait for
the next filename before processing actual file.
2014-02-01 14:03:26 +01:00
Marek Marczykowski-Górecki
75c0e775a4
backups: simplify EOL markers handling
...
Let the python do it right.
2014-02-01 14:02:38 +01:00
Marek Marczykowski-Górecki
a17b7f584d
backups: improve exception reporting during extract
...
Report original exception location, not the wrapper function.
2014-02-01 14:01:21 +01:00
Marek Marczykowski-Górecki
f1bb17a3e1
backups: improve error reporting for invalid backup directory
2014-01-19 04:51:46 +01:00
Marek Marczykowski-Górecki
a6740610e3
backups: fix handling new format without backup header
...
Tar will report error when 'backup-header' file wasn't found. Ignore
this particular error.
2014-01-19 04:50:56 +01:00
Marek Marczykowski-Górecki
49259dacf6
backup: minor fix in function arguments
2014-01-19 04:50:23 +01:00
Marek Marczykowski-Górecki
849cfbf826
Merge remote-tracking branch 'woju/master' into appicons
2014-01-16 05:13:05 +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