Commit Graph

23 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
7953af970d backups: fix buffer overflow in tar2qfile
Buffer for directory headers history was too small. This can be
exploitable by some attacker capable of controlling backup stream, but
it isn't any security problem. We don't assume this part of backup
system to be trusted, the attacker can at most prevent user from
restoring some data, but will neither gain access to them, or compromise
any other Qubes component. This is equivalent to bug in any other tool
used in backup vm (like FTP client) and the Qubes backup system is
designed specifically to minimize impact of such bugs.
2014-02-05 15:16:42 +01:00
Marek Marczykowski-Górecki
6e599567e0 tar2qfile: retry if lseek() returns EAGAIN
... even though it shouldn't. Apparently it is happening. See #764
comments for details.
2014-01-10 03:33:55 +01:00
Marek Marczykowski-Górecki
92aac6a92e Remove copy of ioall.c - use the one from linux-utils 2014-01-06 18:32:13 +01:00
Marek Marczykowski-Górecki
6c3c3e717d tar2qfile: use lseek() to skip unwanted data if possible
When reading from file it is much faster.
2013-11-25 02:28:35 +01:00
Marek Marczykowski-Górecki
3c92cdba22 tar2qfile: use read_all() instead of read()
read() syscall do not guarantee to read as much data as requested. This
is especially important when reading from pipe - remote end can produce
data slower than we are reading them. Use read_all() helper to always
get requested amount of data.
2013-11-25 02:24:21 +01:00
Marek Marczykowski-Górecki
03923ae548 tar2qfile: disable debug messages 2013-11-24 04:45:14 +01:00
Marek Marczykowski-Górecki
dba3571883 tar2qfile: send EOF marker 2013-11-24 04:44:19 +01:00
Marek Marczykowski-Górecki
584df6986e tar2qfile: fix compile warnings 2013-11-24 04:44:19 +01:00
Marek Marczykowski-Górecki
52d696a0c3 tar2qfile: fix padding handling 2013-11-24 04:44:18 +01:00
Marek Marczykowski-Górecki
3c43f20d9e tar2qfile: terminate parsing when all requested files/dirs found
Assume that all the files of directory are in continuous block (which is
true in case of qvm-backup stream). This will allow to terminate before
getting to the file end - especially useful when only qubes.xml
requested.
2013-11-24 04:43:53 +01:00
Olivier MEDOC
42c40d399b restore: improve error handling 2013-11-23 02:48:50 +01:00
Olivier MEDOC
ae776521b0 tar2qfile: forgot to pass a parameter in tar_read function 2013-11-23 02:48:42 +01:00
Olivier MEDOC
8e853c752c tar2qfile: fixed a bug when file contained in tar is a multiple of 512 bytes 2013-11-23 02:48:42 +01:00
Olivier MEDOC
8a1f87d0ed tar2qfile: starting cleanup to get rid of the stat structure which is not required during conversion 2013-11-23 02:48:42 +01:00
Olivier MEDOC
91b84d863c tar2qfile: add filtering options to tar2qfile 2013-11-23 02:48:41 +01:00
Marek Marczykowski-Górecki
1bd16d981c tar2qfile: ignore EDQUOT error from dom0
dom0 will use quota enforcement to extract only backup header, so this
is normal situation in this tool.
2013-11-09 19:04:24 +01:00
Marek Marczykowski-Górecki
af03425187 tar2qfile: fix compiler warnings
Actually one was real bug:
-				current = ustar_rd(fd, &hdr, &buf, &sb);
+				current = ustar_rd(fd, &hdr, buf, &sb);
The others was mostly invalid printf format string.
2013-11-09 19:02:53 +01:00
Olivier MEDOC
d1559c5413 tar2qfile: send directories headers even if the tar file does not contain any directory headers 2013-10-21 16:02:16 +02:00
Olivier MEDOC
864118cf10 tar2qfile: multiples fixes to match the qfile format requirements 2013-10-10 08:54:44 +02:00
Olivier MEDOC
6938e68ee6 tar2qfile: improved error handling 2013-10-10 08:52:10 +02:00
Olivier MEDOC
fb2f6688e8 rpc: changed qfile agents to use qfile-utils.h 2013-10-10 08:46:57 +02:00
Olivier MEDOC
a05e21ee5f tar2qfile: improved to skip everything but regular files 2013-10-04 16:26:44 +02:00
Olivier MEDOC
c26d4b4d30 rpc: implemented new rpc helper tool 2013-10-04 14:36:00 +02:00