390e83c9b9 
					 
					
						
						
							
							typo fix and doc improvement  
						
						... 
						
						
						
						Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-29 11:57:28 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7fb49397d5 
					 
					
						
						
							
							doc fixup  
						
						... 
						
						
						
						Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-29 11:56:14 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						382609b04e 
					 
					
						
						
							
							tools: add Cancellable, start a futures submodule  
						
						... 
						
						
						
						To make a future cancellable, use:
let (future, canceller) =
    crate::tools::futures::cancellable(future);
Proceed with using `future` as usual, `canceller` is
clonable and can cancel the future via the `.cancel()`
method.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-29 11:18:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						0d32d71fb7 
					 
					
						
						
							
							tools: add AsyncMutex::new_locked  
						
						... 
						
						
						
						Allows creating a pre-locked mutex, returning the mutex and
a guard.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-29 11:18:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e6389f4e75 
					 
					
						
						
							
							src/api2/admin/datastore/backup/environment.rs: do not allow empty backups (no files)  
						
						
						
						
					 
					
						2019-05-29 10:38:57 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						39e60bd6fa 
					 
					
						
						
							
							src/api2/admin/datastore/backup.rs: improve debug logging  
						
						
						
						
					 
					
						2019-05-29 10:17:38 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						4ae6551c78 
					 
					
						
						
							
							src/api_schema/router.rs: disable debug println  
						
						
						
						
					 
					
						2019-05-29 09:42:16 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a42d1f55c3 
					 
					
						
						
							
							src/api2/admin/datastore/backup.rs: add debug flag  
						
						
						
						
					 
					
						2019-05-29 09:35:21 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						976595e1a9 
					 
					
						
						
							
							src/backup/dynamic_index.rs: split class DynamicIndexWriter  
						
						
						
						
					 
					
						2019-05-29 08:49:57 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cb0708dd46 
					 
					
						
						
							
							src/backup/fixed_index.rs: remove ChunkStat from struct  
						
						
						
						
					 
					
						2019-05-29 07:08:34 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						01af11f340 
					 
					
						
						
							
							src/backup/fixed_index.rs: improve consistency checks  
						
						
						
						
					 
					
						2019-05-29 07:02:45 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9b38443314 
					 
					
						
						
							
							pxar: change logic and impl all command line flags for xattrs/fcaps/acls  
						
						... 
						
						
						
						Allows to individually set the flags for storing/dumping/restoring of
xattrs/fcaps/acls in the cli of pxar.
Changes logic so that each of them can be threated individually.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-29 06:51:20 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						60e589a111 
					 
					
						
						
							
							src/api2/admin/datastore/backup.rs: log sucessful finish call  
						
						
						
						
					 
					
						2019-05-28 12:55:22 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c4ff3dcefd 
					 
					
						
						
							
							src/bin/proxmox-backup-client.rs: use new BackupClient to upload data  
						
						
						
						
					 
					
						2019-05-28 10:12:44 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						10241c20ea 
					 
					
						
						
							
							src/tools.rs: implement image_size helper  
						
						
						
						
					 
					
						2019-05-28 09:35:08 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						006f3ff407 
					 
					
						
						
							
							src/api2/admin/datastore/backup/environment.rs: add more consistency checks  
						
						
						
						
					 
					
						2019-05-28 09:21:31 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						3dc5b2a203 
					 
					
						
						
							
							src/client/http_client.rs: use start of chunk as offset  
						
						
						
						
					 
					
						2019-05-28 09:21:31 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8de20e5c1f 
					 
					
						
						
							
							src/client/http_client.rs: code cleanup  
						
						
						
						
					 
					
						2019-05-28 08:53:27 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fc14b84937 
					 
					
						
						
							
							src/backup/fixed_index.rs: improve bound checks inside add_digest  
						
						
						
						
					 
					
						2019-05-28 08:47:03 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e1225de467 
					 
					
						
						
							
							src/backup/fixed_index.rs: store index_length to avoid code duplication  
						
						
						
						
					 
					
						2019-05-28 08:27:57 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						e3d525feb7 
					 
					
						
						
							
							src/api2/admin/datastore/backup.rs: fix typo  
						
						
						
						
					 
					
						2019-05-28 07:13:19 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						af309d4d5c 
					 
					
						
						
							
							src/bin/pxar.rs: set archive permissions to 0o640  
						
						... 
						
						
						
						As the archive can contain potentially sensitive data such as key files, it makes
sense to restrict the permissions.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-28 06:24:47 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ab87f167f1 
					 
					
						
						
							
							src/pxar/encoder.rs: Refactor file stat  
						
						... 
						
						
						
						Introduce helper functions to check file stats
Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-28 06:23:49 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						578b601159 
					 
					
						
						
							
							src/pxar/encoder.rs: Don't bail if endpoint does not support xattrs.  
						
						... 
						
						
						
						The encoder bailed if a endpoint which did not support xattrs was encountered.
Instead of bailing, we ignore these errors and simply do not store xattrs for
such endpoints.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-28 06:22:16 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a42fa400ee 
					 
					
						
						
							
							src/api2/admin/datastore/backup.rs: implement fixed sized chunk upload api  
						
						
						
						
					 
					
						2019-05-28 06:18:55 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						29ae5c86a2 
					 
					
						
						
							
							src/backup/fixed_index.rs: make chunk_size public  
						
						
						
						
					 
					
						2019-05-28 06:18:24 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7dd1bcac58 
					 
					
						
						
							
							src/client/http_client.rs: correctly parse error response in download_chunk_list  
						
						
						
						
					 
					
						2019-05-27 09:35:30 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a1e7cff3ea 
					 
					
						
						
							
							src/api2/admin/datastore/backup/upload_chunk.rs: rename upload_dynamic_chunk into upload_chunk  
						
						
						
						
					 
					
						2019-05-27 07:57:43 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						771953f9eb 
					 
					
						
						
							
							src/api2/admin/datastore/backup.rs: use smaller window sizes  
						
						
						
						
					 
					
						2019-05-27 07:53:40 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						174ad378d8 
					 
					
						
						
							
							src/client/http_client.rs: fix request pipelining  
						
						
						
						
					 
					
						2019-05-27 07:24:32 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						624362226e 
					 
					
						
						
							
							src/client/merge_known_chunks.rs: use MergedChunkInfo as input  
						
						
						
						
					 
					
						2019-05-26 10:52:56 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						05cba08c9c 
					 
					
						
						
							
							src/client/http_client.rs: append chunks in correct order  
						
						... 
						
						
						
						We need to wait for response from upload_chunk. After that we can
add the chunk to the index file. 
						
						
					 
					
						2019-05-26 09:57:34 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						417cb0731e 
					 
					
						
						
							
							src/api2/admin/datastore/backup.rs: verify chunk offset  
						
						... 
						
						
						
						This clearly shows that the current approach does not work - seems we get
chunks out of order. 
						
						
					 
					
						2019-05-26 08:49:29 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						34114e2606 
					 
					
						
						
							
							src/server/rest.rs: correctly verify json parameters  
						
						
						
						
					 
					
						2019-05-24 09:10:59 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						eb2bdd1bcc 
					 
					
						
						
							
							src/client/http_client.rs: encode parameters inside body  
						
						... 
						
						
						
						To avoid problems with long uris. 
						
						
					 
					
						2019-05-24 08:32:55 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9bb675ec23 
					 
					
						
						
							
							src/client/merge_known_chunks.rs: reduce RAM usage  
						
						... 
						
						
						
						There is no need to store chunk data for known chunks. 
						
						
					 
					
						2019-05-24 07:42:58 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						ecb21b4794 
					 
					
						
						
							
							src/client/merge_known_chunks.rs: avoid VecDequeu - a single buffer is enough  
						
						
						
						
					 
					
						2019-05-24 07:36:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						2dbba78b98 
					 
					
						
						
							
							src/pxar/sequential_decoder.rs: impl support to dump/restore ACLs from pxar archives  
						
						... 
						
						
						
						Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-24 06:27:24 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6a19448004 
					 
					
						
						
							
							src/pxar/encoder.rs: impl support to store ACLs in pxar achives  
						
						... 
						
						
						
						Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-24 06:21:33 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7cfaade7c8 
					 
					
						
						
							
							src/pxar/format_definition.rs: define types and structs needed to impl ACL support in pxar  
						
						... 
						
						
						
						Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-24 06:16:55 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						b344461b33 
					 
					
						
						
							
							pxar: pass feature_flags to encoder/decoder instead of individual flags  
						
						... 
						
						
						
						Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-24 06:11:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						687407741b 
					 
					
						
						
							
							src/tools/xattr.rs: add test for is_valid_xattr_name()  
						
						... 
						
						
						
						Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-24 06:11:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						357e4614e2 
					 
					
						
						
							
							Minor refactoring of pxars xattr encoder/decoder, mostly reformatting and renaming.  
						
						... 
						
						
						
						Signed-off-by: Christian Ebner <c.ebner@proxmox.com > 
						
						
					 
					
						2019-05-24 06:11:36 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c05a8c8d18 
					 
					
						
						
							
							doc-test fixup  
						
						... 
						
						
						
						cargo test by default compiles and runs all code snippets
found in the documentation...
oops...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-23 15:22:33 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						cc84a830c5 
					 
					
						
						
							
							RFC: schema: make enums static  
						
						... 
						
						
						
						I don't see a reason to allow these to be dynamically
modifiable.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-23 12:38:51 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						aa1b2e04fe 
					 
					
						
						
							
							src/client/merge_known_chunks.rs: merge known chunks  
						
						... 
						
						
						
						To decrease the number of api calls required... 
						
						
					 
					
						2019-05-23 12:31:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						91320f0879 
					 
					
						
						
							
							src/client/http_client.rs: use ChunkInfo streams  
						
						... 
						
						
						
						This will make out of order uploads possible... 
						
						
					 
					
						2019-05-23 12:31:09 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						8ea3b1d188 
					 
					
						
						
							
							tree-wide: use the new vec/io tools modules  
						
						... 
						
						
						
						Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-23 09:49:10 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						6f0069ae1e 
					 
					
						
						
							
							buildsys: make valgrind=1 to enable valgrind support  
						
						... 
						
						
						
						Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-23 09:49:10 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						9cdda3f7c7 
					 
					
						
						
							
							tools: add helpful vector and read operations  
						
						... 
						
						
						
						After importing the I/O ops trait via:
    use crate::tools::io::ops::*;
Instead of:
    let mut buffer = vec![0u8; 65536];
    file.read_exact(&mut buffer)?;
use:
    let buffer = file.read_exact_allocated(65536)?;
After importing the vector helpers via:
    use crate::tools::vec::{self, ops::*};
For a buffer which *could* be uninitialized but you prefer
zero-initialization anyway for security reasons, instead of:
    let mut buffer = vec![0u8; len];
use:
    let mut buffer = vec::undefined(len);
which zero-initializes, but, if the `valgrind` feature flag
is enabled, marks the vector as having undefined contents,
so reading from it will cause valgrind errors.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com > 
						
						
					 
					
						2019-05-23 09:49:10 +02:00