Christian Ebner
|
66c8eb9383
|
src/client/http_client.rs: Refactor handling Option and Result types
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-08-29 09:15:16 +02:00 |
Wolfgang Bumiller
|
7a57cb77e1
|
more formatting & use statement fixups
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-08-22 13:50:27 +02:00 |
Dietmar Maurer
|
9d135fe617
|
src/backup/catalog_blob.rs: moved catalog impl. from pxar
And avoid loading catalog into memory.
|
2019-08-16 12:27:17 +02:00 |
Wolfgang Bumiller
|
9025312aa6
|
avoid lifetimes in blob reader/writer
|
2019-08-16 10:07:24 +02:00 |
Dietmar Maurer
|
e240d8be0b
|
src/bin/proxmox-backup-client.rs: implement login/logout
|
2019-08-10 09:12:17 +02:00 |
Dietmar Maurer
|
2761d6a4f3
|
src/pxar/encoder.rs: use BackupCatalogWriter
|
2019-08-09 09:46:49 +02:00 |
Dietmar Maurer
|
dbed4c8cd7
|
src/client/http_client.rs: compute checksums for chunk streams
|
2019-08-06 12:23:06 +02:00 |
Dietmar Maurer
|
bd15e96dd9
|
src/client/http_client.rs: minor code cleanup
|
2019-08-06 11:46:15 +02:00 |
Dietmar Maurer
|
c807d231eb
|
src/client/http_client.rs: compute file checksums
|
2019-08-06 11:26:06 +02:00 |
Dietmar Maurer
|
e18a6c9ee5
|
update to nix 0.14, use code from proxmox:tools
|
2019-08-03 13:05:38 +02:00 |
Christian Ebner
|
47651f9530
|
pxar: cleanup: move feature flags to src/pxar/flags.rs and omit CA_FORMAT prefix on all of them
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
|
2019-08-03 08:51:06 +02:00 |
Dietmar Maurer
|
b335f5b713
|
src/bin/proxmox-backup-client.rs: sign index.json
|
2019-08-02 10:00:15 +02:00 |
Dietmar Maurer
|
2c3891d1c3
|
src/bin/proxmox-backup-client.rs: upload backup index.json
The plan is to use this file to verify the backup content.
|
2019-08-01 12:39:02 +02:00 |
Dietmar Maurer
|
ca5d0b61ca
|
src/api2/backup.rs: new required backup-time parameter
The client should pass the time as parameter.
|
2019-07-25 13:44:01 +02:00 |
Dietmar Maurer
|
04512d3068
|
src/client/http_client.rs: allow upload with parameters
|
2019-07-25 12:17:35 +02:00 |
Dietmar Maurer
|
5b72c9b4f7
|
src/pxar/encoder.rs: add new skip_lost_and_found parameter
|
2019-07-24 12:21:25 +02:00 |
Dietmar Maurer
|
6c3c9bceb5
|
pxar_backup_stream.rs: limit lock scope to avoid blocking forever
|
2019-07-24 11:30:43 +02:00 |
Dietmar Maurer
|
684233aa3b
|
remove debug output
|
2019-07-24 09:33:52 +02:00 |
Dietmar Maurer
|
5be106eeae
|
src/client/pxar_backup_stream.rs: correctly pass errors to stream
|
2019-07-24 09:24:35 +02:00 |
Dietmar Maurer
|
2eeaacb974
|
src/pxar/encoder.rs: allow to pass list of devices
For better mount point include control...
|
2019-07-24 08:11:59 +02:00 |
Dietmar Maurer
|
fa5d6977dd
|
Revert previous, commit, use UTC RFC3339 without timezone (Z)
We now have human readable data/time, and names are still sortable.
|
2019-07-22 11:49:30 +02:00 |
Christian Ebner
|
fa7e957ca3
|
pxar: Adapt SequentialDecoder::restore() calls to pass empty match pattern for full restore
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
|
2019-07-17 12:19:31 +02:00 |
Dietmar Maurer
|
f4bf7dfcc7
|
src/client/remote_chunk_reader.rs: implement simple caching
|
2019-07-05 10:42:46 +02:00 |
Christian Ebner
|
7dcbe051e9
|
pxar: Refactor SequentialDecoder to store the callback function within the struct
Reduces the number of arguments for the function calls within the decoder.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
|
2019-07-05 06:38:22 +02:00 |
Dietmar Maurer
|
9cc88a7c00
|
src/client/http_client.rs - finish: hold reference to avoid early connection close
|
2019-07-04 15:11:23 +02:00 |
Dietmar Maurer
|
99168f43e6
|
src/client/http_client.rs: s/set_recv_buf_size/set_recv_buffer_size/
|
2019-07-04 10:51:18 +02:00 |
Dietmar Maurer
|
b2a6897982
|
src/client/remote_chunk_reader.rs: remove dead code
|
2019-07-03 14:56:24 +02:00 |
Dietmar Maurer
|
7f99bf691a
|
src/client/remote_chunk_reader.rs: implement remote chunk reader
|
2019-07-03 14:39:13 +02:00 |
Dietmar Maurer
|
4f6aaf542c
|
src/client/http_client.rs: avoid compiler warning
|
2019-07-03 14:36:02 +02:00 |
Dietmar Maurer
|
3467cd91e9
|
src/client/http_client.rs: return Arc<Self>
Avoid to call canceller for each clone on drop ...
|
2019-07-03 14:26:07 +02:00 |
Dietmar Maurer
|
6d1f61b208
|
use hyper/tokio-openssl instead of hyper/tokio-tls
This exposes the complete SSL setup. And download is much faster
now (600MB/s instead of 130MB/s)!
|
2019-07-02 13:36:28 +02:00 |
Dietmar Maurer
|
8fad30a4b1
|
use latest hyper master branch to include socket buffer size fix
|
2019-07-02 07:09:46 +02:00 |
Dietmar Maurer
|
17243003b3
|
src/bin/download-speed.rs: h2 download speedtest for our server
I get about 30MB/s (much too slow)
|
2019-06-29 13:43:10 +02:00 |
Dietmar Maurer
|
a2b29b68d4
|
src/client/http_client.rs: use maximal h2 window sizes
|
2019-06-29 11:05:36 +02:00 |
Dietmar Maurer
|
fcf5dea56d
|
src/client/http_client.rs: increase h2 window size, set tcp nodelay option
To increase h2 download speed.
|
2019-06-28 16:00:58 +02:00 |
Dietmar Maurer
|
984a7c3502
|
src/client/http_client.rs - h2 download: implement flow control
|
2019-06-28 07:02:43 +02:00 |
Dietmar Maurer
|
dd066d28e2
|
src/api2/reader.rs: implement backup reader protocol
|
2019-06-27 09:01:41 +02:00 |
Dietmar Maurer
|
fb0470837b
|
src/client/http_client.rs: split out code to start new h2 connections
|
2019-06-26 12:09:18 +02:00 |
Dietmar Maurer
|
c2b945341c
|
src/client/http_client.rs - download: use generic Write type, return writer.
Make it possible to write int Vec<u8>.
|
2019-06-26 09:17:13 +02:00 |
Dietmar Maurer
|
81820b0d4d
|
src/client/http_client.rs - download: fix error handling
|
2019-06-25 12:43:55 +02:00 |
Dietmar Maurer
|
9f46c7de4b
|
src/bin/proxmox-backup-client.rs: upload rsa encoded key after backup
|
2019-06-24 13:56:37 +02:00 |
Dietmar Maurer
|
cb08ac3efe
|
src/api2/backup.rs: replace upload_config with upload_blob
|
2019-06-23 11:44:30 +02:00 |
Dietmar Maurer
|
bffd40d6b7
|
src/tools.rs: move hex_to_digest and digest_to_hex to proxmox::tools
|
2019-06-14 11:40:04 +02:00 |
Dietmar Maurer
|
f98ac774ee
|
backup: Add support for client side encryption
first try ...
|
2019-06-13 11:47:23 +02:00 |
Dietmar Maurer
|
bd0e3c7cfa
|
src/backup/data_chunk.rs: Moved ChunkInfo from merge_known_chunks.rs
|
2019-06-13 07:35:02 +02:00 |
Wolfgang Bumiller
|
dd5495d6dc
|
tree-wide: use 'dyn' for all trait objects
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-06-07 13:13:48 +02:00 |
Dietmar Maurer
|
4247fccb0f
|
src/client/http_client.rs: automatically close connection in finish
|
2019-06-05 11:41:50 +02:00 |
Wolfgang Bumiller
|
cb4426b348
|
make h2 client connection cancellable
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
|
2019-06-05 09:45:59 +02:00 |
Dietmar Maurer
|
986bef16be
|
src/backup.rs; use a macro to define PROXMOX_BACKUP_PROTOCOL_ID_V1
So that we can include it in static doc strings.
|
2019-06-05 08:41:20 +02:00 |
Dietmar Maurer
|
c9ec0956cf
|
src/backup.rs: define const PROXMOX_BACKUP_PROTOCOL_ID_V1
|
2019-06-05 08:12:13 +02:00 |
Dietmar Maurer
|
7773ccc11f
|
src/api2.rs: move backup api to /backup
|
2019-06-05 07:23:21 +02:00 |
Dietmar Maurer
|
ef39bf95b3
|
src/client/http_client.rs - upload_config: improve error message
|
2019-06-03 10:53:09 +02:00 |
Dietmar Maurer
|
ec8a9bb953
|
src/bin/proxmox-backup-client.rs: implement upload_config
|
2019-06-03 10:39:44 +02:00 |
Dietmar Maurer
|
39d6846e1e
|
src/api2/admin/datastore/backup.rs: implement config file upload
|
2019-06-03 09:45:14 +02:00 |
Dietmar Maurer
|
642322b433
|
src/api2/admin/datastore/backup.rs: use separate api entry points for chunk upload
So that we can provide better statistics (patches follows).
|
2019-05-30 09:21:19 +02:00 |
Dietmar Maurer
|
39e60bd6fa
|
src/api2/admin/datastore/backup.rs: improve debug logging
|
2019-05-29 10:17:38 +02:00 |
Dietmar Maurer
|
3dc5b2a203
|
src/client/http_client.rs: use start of chunk as offset
|
2019-05-28 09:21:31 +02:00 |
Dietmar Maurer
|
8de20e5c1f
|
src/client/http_client.rs: code cleanup
|
2019-05-28 08:53:27 +02:00 |
Dietmar Maurer
|
a42fa400ee
|
src/api2/admin/datastore/backup.rs: implement fixed sized chunk upload api
|
2019-05-28 06:18:55 +02:00 |
Dietmar Maurer
|
7dd1bcac58
|
src/client/http_client.rs: correctly parse error response in download_chunk_list
|
2019-05-27 09:35:30 +02:00 |
Dietmar Maurer
|
a1e7cff3ea
|
src/api2/admin/datastore/backup/upload_chunk.rs: rename upload_dynamic_chunk into upload_chunk
|
2019-05-27 07:57:43 +02:00 |
Dietmar Maurer
|
771953f9eb
|
src/api2/admin/datastore/backup.rs: use smaller window sizes
|
2019-05-27 07:53:40 +02:00 |
Dietmar Maurer
|
174ad378d8
|
src/client/http_client.rs: fix request pipelining
|
2019-05-27 07:24:32 +02:00 |
Dietmar Maurer
|
624362226e
|
src/client/merge_known_chunks.rs: use MergedChunkInfo as input
|
2019-05-26 10:52:56 +02:00 |
Dietmar Maurer
|
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 |
Dietmar Maurer
|
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 |
Dietmar Maurer
|
eb2bdd1bcc
|
src/client/http_client.rs: encode parameters inside body
To avoid problems with long uris.
|
2019-05-24 08:32:55 +02:00 |
Dietmar Maurer
|
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 |
Dietmar Maurer
|
ecb21b4794
|
src/client/merge_known_chunks.rs: avoid VecDequeu - a single buffer is enough
|
2019-05-24 07:36:09 +02:00 |
Christian Ebner
|
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 |
Dietmar Maurer
|
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 |
Dietmar Maurer
|
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 |
Dietmar Maurer
|
8bea85b42e
|
src/api2/admin/datastore/backup.rs: verify file size and chunk count on close
|
2019-05-23 08:50:36 +02:00 |
Christian Ebner
|
4add706092
|
src/client/: pass dummy flags for xattrs and fcaps to pxar encoder/decoder.
Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
|
2019-05-23 06:40:32 +02:00 |
Dietmar Maurer
|
d6f204eda6
|
src/client/http_client.rs: re-order code - public functions first
|
2019-05-23 06:28:10 +02:00 |
Dietmar Maurer
|
9af37c8f0e
|
src/client/http_client.rs: move low level H2 code into separate class
|
2019-05-22 17:28:25 +02:00 |
Dietmar Maurer
|
d2c48afc6e
|
src/client/http_client.rs: code cleanup
|
2019-05-22 13:24:33 +02:00 |
Dietmar Maurer
|
6ab34afa88
|
src/client/http_client.rs: cleanup h2 backup client
|
2019-05-22 13:05:51 +02:00 |
Dietmar Maurer
|
553610b43e
|
src/client/http_client.rs: implement download_chunk_list
|
2019-05-22 09:46:02 +02:00 |
Dietmar Maurer
|
97f03eff13
|
src/client/pxar_backup_stream.rs: fix docu
|
2019-05-20 17:29:00 +02:00 |
Dietmar Maurer
|
82ab72304e
|
src/client/http_client.rs: implement upload_stream
|
2019-05-20 14:19:24 +02:00 |
Dietmar Maurer
|
2698e8a514
|
src/client/pxar_backup_stream.rs: close pipe inside drop
|
2019-05-20 11:20:33 +02:00 |
Dietmar Maurer
|
0c516b123d
|
src/client/pxar_backup_stream.rs: use WrappedStreamReader
to make it fully async ...
|
2019-05-18 15:13:31 +02:00 |
Dietmar Maurer
|
c6e28b66c6
|
src/client/pxar_backup_stream.rs: use 1M pipe buffer size
|
2019-05-18 12:57:43 +02:00 |
Dietmar Maurer
|
9c9ad941c0
|
src/client/http_client.rs: improve speed test
pipeline responses to a separate async channel ...
|
2019-05-18 10:55:46 +02:00 |
Dietmar Maurer
|
adec8ea263
|
src/api2/admin/datastore/backup.rs: add speedtest api, improve upload speed
We need to disable tcp Nagle algorythm (set_nodelay), and use larger window size for http2
|
2019-05-16 10:24:23 +02:00 |
Dietmar Maurer
|
25ddc15fe0
|
src/client/pipe_to_stream.rs: add missing file
|
2019-05-15 09:07:19 +02:00 |
Dietmar Maurer
|
e3dbd41b20
|
src/client/http_client.rs: add flow control for h2 upload
|
2019-05-14 14:54:21 +02:00 |
Dietmar Maurer
|
97f22ce57d
|
src/client/http_client.rs: implement h2 upload
without flow control so far ...
|
2019-05-14 12:58:59 +02:00 |
Dietmar Maurer
|
c0e22141ed
|
src/client/http_client.rs: derive Clone for H2Client
|
2019-05-14 09:00:24 +02:00 |
Dietmar Maurer
|
850ac6d0f0
|
src/client/http_client.rs: directly return H2Client on upgrade
|
2019-05-13 16:44:59 +02:00 |
Dietmar Maurer
|
10130cf48c
|
src/client/http_client.rs: cleanup, remove debug println
|
2019-05-13 12:11:18 +02:00 |
Dietmar Maurer
|
b57cb26406
|
src/client/http_client.rs: implement http2 client wrapper
|
2019-05-13 10:27:22 +02:00 |
Dietmar Maurer
|
9e391bb7f0
|
src/client/http_client.rs: allow to pass parameters (encode them as query string)
|
2019-05-13 09:12:03 +02:00 |
Dietmar Maurer
|
45cdce069e
|
src/client/http_client.rs: request password at creation time
|
2019-04-30 11:44:35 +02:00 |
Dietmar Maurer
|
cf639a47de
|
rc/client/http_client.rs: add experimental h2 upgrade code
|
2019-04-29 11:57:58 +02:00 |
Dietmar Maurer
|
5a2df00004
|
src/client/http_client.rs: cleanup, make login fully async
|
2019-04-28 10:55:03 +02:00 |
Dietmar Maurer
|
49cf9f3d0b
|
src/tools.rs: file_get_json() - add new default parameter
|
2019-04-04 12:24:18 +02:00 |
Dietmar Maurer
|
3dbfe5b142
|
simplify pxar module structure
|
2019-03-15 08:24:32 +01:00 |
Dietmar Maurer
|
02c93163cf
|
src/pxar/decoder.rs: correctly call callback()
|
2019-03-15 08:02:04 +01:00 |