]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
5 years agorename api3 back to api2
Dietmar Maurer [Tue, 22 Jan 2019 11:10:38 +0000 (12:10 +0100)]
rename api3 back to api2

There is no real need to change the path, so using api2 we can reuse
all helpers (like tools from proxmox widget toolkit).

5 years agogui: add navigation tree
Dietmar Maurer [Tue, 22 Jan 2019 10:48:00 +0000 (11:48 +0100)]
gui: add navigation tree

5 years agolient/http_client.rs: simplify code
Dietmar Maurer [Tue, 22 Jan 2019 09:36:04 +0000 (10:36 +0100)]
lient/http_client.rs: simplify code

5 years agobin/proxmox-backup-client.rs: implement list command
Dietmar Maurer [Mon, 21 Jan 2019 17:58:14 +0000 (18:58 +0100)]
bin/proxmox-backup-client.rs: implement list command

5 years agoclient/http_client.rs: implement get, share common code
Dietmar Maurer [Mon, 21 Jan 2019 17:56:48 +0000 (18:56 +0100)]
client/http_client.rs: implement get, share common code

5 years agoapi3/admin/datastore.rs: implement list backups
Dietmar Maurer [Mon, 21 Jan 2019 10:22:55 +0000 (11:22 +0100)]
api3/admin/datastore.rs: implement list backups

5 years agobackup/datastore.rs: use DateTime<Utc> to store backup time
Dietmar Maurer [Mon, 21 Jan 2019 09:51:52 +0000 (10:51 +0100)]
backup/datastore.rs: use DateTime<Utc> to store backup time

5 years agowhite space fix
Dietmar Maurer [Mon, 21 Jan 2019 09:32:07 +0000 (10:32 +0100)]
white space fix

5 years agobackup/datastore.rs: implement list_backups
Dietmar Maurer [Sun, 20 Jan 2019 17:02:06 +0000 (18:02 +0100)]
backup/datastore.rs: implement list_backups

5 years agotools.rs: use FnMut for scandir callback
Dietmar Maurer [Sun, 20 Jan 2019 16:49:11 +0000 (17:49 +0100)]
tools.rs: use FnMut for scandir callback

5 years agotools.rs: new scandir() helper
Dietmar Maurer [Sun, 20 Jan 2019 16:31:43 +0000 (17:31 +0100)]
tools.rs: new scandir() helper

5 years agobackup/chunk_store.rs: verify base path is absolute
Dietmar Maurer [Sun, 20 Jan 2019 15:49:22 +0000 (16:49 +0100)]
backup/chunk_store.rs: verify base path is absolute

5 years agoremove crate tokio-codec (seems to be part of tokio now)
Dietmar Maurer [Sun, 20 Jan 2019 13:28:06 +0000 (14:28 +0100)]
remove crate tokio-codec (seems to be part of tokio now)

5 years agotools/wrapped_reader_stream.rs: allocate Vec<u8> for buffer
Dietmar Maurer [Sun, 20 Jan 2019 10:01:18 +0000 (11:01 +0100)]
tools/wrapped_reader_stream.rs: allocate Vec<u8> for buffer

5 years agotools/wrapped_reader_stream.rs: only implement Stream (without AsyncRead)
Dietmar Maurer [Sun, 20 Jan 2019 09:41:21 +0000 (10:41 +0100)]
tools/wrapped_reader_stream.rs: only implement Stream (without AsyncRead)

Looks more efficent ...

5 years agotools/wrapped_reader_stream.rs: use tokio_threadpool::blocking
Dietmar Maurer [Sun, 20 Jan 2019 09:28:51 +0000 (10:28 +0100)]
tools/wrapped_reader_stream.rs: use tokio_threadpool::blocking

5 years agouse newer versions
Dietmar Maurer [Sun, 20 Jan 2019 09:06:29 +0000 (10:06 +0100)]
use newer versions

5 years agocatar: improve bash completion
Dietmar Maurer [Sun, 20 Jan 2019 08:55:20 +0000 (09:55 +0100)]
catar: improve bash completion

5 years ago/api3/admin/datastore.rs: add missing subdir to directory index
Dietmar Maurer [Sun, 20 Jan 2019 08:47:32 +0000 (09:47 +0100)]
/api3/admin/datastore.rs: add missing subdir to directory index

5 years agoapi3/admin/datastore/catar.rs: implement download
Dietmar Maurer [Sun, 20 Jan 2019 08:39:32 +0000 (09:39 +0100)]
api3/admin/datastore/catar.rs: implement download

5 years agotools/wrapped_reader_stream.rs: new helper class
Dietmar Maurer [Sun, 20 Jan 2019 08:38:28 +0000 (09:38 +0100)]
tools/wrapped_reader_stream.rs: new helper class

Will use that to download catar files.

5 years agoapi3/admin/datastore/catar.rs: start impl. download
Dietmar Maurer [Sat, 19 Jan 2019 16:27:02 +0000 (17:27 +0100)]
api3/admin/datastore/catar.rs: start impl. download

5 years agoapi/router.rs: rename ApiUploadMethod to ApiAsyncMethod
Dietmar Maurer [Sat, 19 Jan 2019 15:42:43 +0000 (16:42 +0100)]
api/router.rs: rename ApiUploadMethod to ApiAsyncMethod

We can use this for uploads and downloads ...

5 years agoRevert "/api/schema.rs: implement Schema::Option"
Dietmar Maurer [Sat, 19 Jan 2019 11:53:07 +0000 (12:53 +0100)]
Revert "/api/schema.rs: implement Schema::Option"

This reverts commit 0a35462c1e3b9429ea9f276ac620af4752919dff.

I am not sure this add much value, and the old approach needs
less memory. If we really need single optional values, we can still
implement such Option while keeping the hash based approach...

5 years agoRevert "api/schema.rs: avoid Option(Option( nesting"
Dietmar Maurer [Sat, 19 Jan 2019 11:52:51 +0000 (12:52 +0100)]
Revert "api/schema.rs: avoid Option(Option( nesting"

This reverts commit ffdac1af01f16ab679b4bbd87f1126e54d338880.

5 years agoremove unused type PropertyMap
Dietmar Maurer [Fri, 18 Jan 2019 16:54:06 +0000 (17:54 +0100)]
remove unused type PropertyMap

5 years agoapi/schema.rs: avoid Option(Option( nesting
Dietmar Maurer [Fri, 18 Jan 2019 16:49:19 +0000 (17:49 +0100)]
api/schema.rs: avoid Option(Option( nesting

5 years ago/api/schema.rs: implement Schema::Option
Dietmar Maurer [Fri, 18 Jan 2019 16:40:37 +0000 (17:40 +0100)]
/api/schema.rs: implement Schema::Option

5 years agofix tests/catar.rs - add missing parameter
Dietmar Maurer [Fri, 18 Jan 2019 16:39:51 +0000 (17:39 +0100)]
fix tests/catar.rs - add missing parameter

5 years agoreduce compiler warnings
Dietmar Maurer [Fri, 18 Jan 2019 15:50:15 +0000 (16:50 +0100)]
reduce compiler warnings

5 years agomove complete_file_name() helper into tools.rs
Dietmar Maurer [Fri, 18 Jan 2019 12:42:52 +0000 (13:42 +0100)]
move complete_file_name() helper into tools.rs

5 years agobin/proxmox-backup-client.rs: improve file name completion
Dietmar Maurer [Fri, 18 Jan 2019 12:40:05 +0000 (13:40 +0100)]
bin/proxmox-backup-client.rs: improve file name completion

5 years agobackup/datastore.rs: list all index files using walkdir crate
Dietmar Maurer [Fri, 18 Jan 2019 11:24:58 +0000 (12:24 +0100)]
backup/datastore.rs: list all index files using walkdir crate

5 years agobackup/datastore.rs: try to create useful directory layout
Dietmar Maurer [Fri, 18 Jan 2019 11:01:37 +0000 (12:01 +0100)]
backup/datastore.rs: try to create useful directory layout

store/type/ID/TIME/xxx.yyy

5 years agocleanup nodename()
Dietmar Maurer [Fri, 18 Jan 2019 09:13:45 +0000 (10:13 +0100)]
cleanup nodename()

5 years agotools.rs: new helper nodename()
Dietmar Maurer [Fri, 18 Jan 2019 08:58:15 +0000 (09:58 +0100)]
tools.rs: new helper nodename()

5 years agoapi3/admin/datastore.rs: rename parameter "name" to "store"
Dietmar Maurer [Fri, 18 Jan 2019 07:33:11 +0000 (08:33 +0100)]
api3/admin/datastore.rs: rename parameter "name" to "store"

5 years agobin/proxmox-backup-client.rs: implement file name completions - first try ...
Dietmar Maurer [Thu, 17 Jan 2019 13:24:20 +0000 (14:24 +0100)]
bin/proxmox-backup-client.rs: implement file name completions - first try ...

5 years agoapi3/admin/datastore/upload_catar.rs: verify content type ("application/x-proxmox...
Dietmar Maurer [Thu, 17 Jan 2019 11:43:29 +0000 (12:43 +0100)]
api3/admin/datastore/upload_catar.rs: verify content type ("application/x-proxmox-backup-catar")

5 years agoclient/catar_backup_stream.rs: remove debug code
Dietmar Maurer [Thu, 17 Jan 2019 11:16:36 +0000 (12:16 +0100)]
client/catar_backup_stream.rs: remove debug code

5 years agotools.rs: new helper required_string_param()
Dietmar Maurer [Thu, 17 Jan 2019 11:14:02 +0000 (12:14 +0100)]
tools.rs: new helper required_string_param()

To extract parameters from Value.

5 years agoapi/router.rs: return Result in upload handler
Dietmar Maurer [Thu, 17 Jan 2019 11:03:38 +0000 (12:03 +0100)]
api/router.rs: return Result in upload handler

5 years agoproxmox-backup-client: implement upload to server
Dietmar Maurer [Thu, 17 Jan 2019 10:38:22 +0000 (11:38 +0100)]
proxmox-backup-client: implement upload to server

5 years agoclient/http_client.rs: new helper class
Dietmar Maurer [Thu, 17 Jan 2019 10:29:38 +0000 (11:29 +0100)]
client/http_client.rs: new helper class

5 years agoapi3/admin/datastore.rs: change api patch for upload_catar
Dietmar Maurer [Thu, 17 Jan 2019 08:16:50 +0000 (09:16 +0100)]
api3/admin/datastore.rs: change api patch for upload_catar

5 years agoupload: don't return NotReady
Wolfgang Bumiller [Wed, 16 Jan 2019 14:17:25 +0000 (15:17 +0100)]
upload: don't return NotReady

We need to kick (poll) the stream's next element, so simply
reiterate, the try_read!() will then return NotReady from
the next stream item for us.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agocleanup previous commit...
Wolfgang Bumiller [Wed, 16 Jan 2019 13:19:12 +0000 (14:19 +0100)]
cleanup previous commit...

This kind of notation is weird...

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agolisten on :: instead of 0.0.0.0
Wolfgang Bumiller [Wed, 16 Jan 2019 13:17:50 +0000 (14:17 +0100)]
listen on :: instead of 0.0.0.0

Since this supports both ipv6 & ipv4 unless v6only is
explicitly enabled.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoserver/rest.rs: correctly pass query/url parameters
Dietmar Maurer [Wed, 16 Jan 2019 12:58:36 +0000 (13:58 +0100)]
server/rest.rs: correctly pass query/url parameters

5 years agoreduce compiler warnings
Dietmar Maurer [Wed, 16 Jan 2019 09:19:49 +0000 (10:19 +0100)]
reduce compiler warnings

5 years agoclient/catar_backup_stream.rs: new helper for catar uploads to server
Dietmar Maurer [Wed, 16 Jan 2019 09:15:39 +0000 (10:15 +0100)]
client/catar_backup_stream.rs: new helper for catar uploads to server

5 years agobackup/datastore.rs: use Arc for chunk_store references
Dietmar Maurer [Tue, 15 Jan 2019 11:36:16 +0000 (12:36 +0100)]
backup/datastore.rs: use Arc for chunk_store references

5 years agoapi3/admin/datastore/upload_catar.rs: implement upload future
Dietmar Maurer [Tue, 15 Jan 2019 10:38:26 +0000 (11:38 +0100)]
api3/admin/datastore/upload_catar.rs: implement upload future

5 years agoapi/router.rs: allow different types of api methods
Dietmar Maurer [Mon, 14 Jan 2019 11:26:04 +0000 (12:26 +0100)]
api/router.rs: allow different types of api methods

Added a prototype for file/backup uploads.

5 years agocatar: define all feature flags
Dietmar Maurer [Sat, 12 Jan 2019 15:49:02 +0000 (16:49 +0100)]
catar: define all feature flags

5 years agocatar/encoder.rs: allow to pass list of devices
Dietmar Maurer [Sat, 12 Jan 2019 14:43:20 +0000 (15:43 +0100)]
catar/encoder.rs: allow to pass list of devices

We can use this to implement the --one-file-system like options. This
is a bit more convenient, because this way we can select to include
multiple devices (which is required by container backups).

5 years agocatar/encoder.rs: disable backup of virtual file systems
Dietmar Maurer [Sat, 12 Jan 2019 10:56:53 +0000 (11:56 +0100)]
catar/encoder.rs: disable backup of virtual file systems

5 years agocatar/encoder.rs: only test fat attribute on MSDOS and FUSE file systems
Dietmar Maurer [Sat, 12 Jan 2019 09:28:26 +0000 (10:28 +0100)]
catar/encoder.rs: only test fat attribute on MSDOS and FUSE file systems

5 years ago/catar/encoder.rs: do not store data from virtual file systems
Dietmar Maurer [Sat, 12 Jan 2019 09:20:08 +0000 (10:20 +0100)]
/catar/encoder.rs: do not store data from virtual file systems

5 years agocatar/encoder.rs: add helpers to test file system type
Dietmar Maurer [Sat, 12 Jan 2019 08:18:21 +0000 (09:18 +0100)]
catar/encoder.rs: add helpers to test file system type

5 years agocatar/encoder.rs: pass magic fs number to encode_dir
Dietmar Maurer [Sat, 12 Jan 2019 07:51:04 +0000 (08:51 +0100)]
catar/encoder.rs: pass magic fs number to encode_dir

5 years agocatar/encoder.rs: use O_DIRECTORY to open dirs
Dietmar Maurer [Fri, 11 Jan 2019 15:53:17 +0000 (16:53 +0100)]
catar/encoder.rs: use O_DIRECTORY to open dirs

5 years agocatar: encode/decode sockets and fifos
Dietmar Maurer [Fri, 11 Jan 2019 12:26:05 +0000 (13:26 +0100)]
catar: encode/decode sockets and fifos

5 years agocatar/decoder.rs: corrently pass mode to mknodat
Dietmar Maurer [Fri, 11 Jan 2019 12:12:55 +0000 (13:12 +0100)]
catar/decoder.rs: corrently pass mode to mknodat

5 years agocatar: encode/decode devices
Dietmar Maurer [Fri, 11 Jan 2019 11:22:00 +0000 (12:22 +0100)]
catar: encode/decode devices

5 years agocatar/format_definition.rs: add more feature flags
Dietmar Maurer [Fri, 11 Jan 2019 09:44:57 +0000 (10:44 +0100)]
catar/format_definition.rs: add more feature flags

5 years agocatar/encoder.rs: store fat file system attributes
Dietmar Maurer [Fri, 11 Jan 2019 09:18:22 +0000 (10:18 +0100)]
catar/encoder.rs: store fat file system attributes

5 years agocatar/encoder.rs: cleanups
Dietmar Maurer [Fri, 11 Jan 2019 09:01:51 +0000 (10:01 +0100)]
catar/encoder.rs: cleanups

5 years agocatar/encoder.rs: encode linux fs attributes, cleanup encoder
Dietmar Maurer [Fri, 11 Jan 2019 08:20:10 +0000 (09:20 +0100)]
catar/encoder.rs: encode linux fs attributes, cleanup encoder

Try to avoid duplicate stat calls (assume file tree is stable during backup).

5 years agoavoid compiler warnings
Dietmar Maurer [Fri, 11 Jan 2019 07:41:33 +0000 (08:41 +0100)]
avoid compiler warnings

5 years agobackup/archive_index.rs: correctly check for errors
Dietmar Maurer [Thu, 10 Jan 2019 10:19:54 +0000 (11:19 +0100)]
backup/archive_index.rs: correctly check for errors

5 years agocatar/decoder.rs: restore mode, uid, gid and mtime
Dietmar Maurer [Wed, 9 Jan 2019 13:44:00 +0000 (14:44 +0100)]
catar/decoder.rs: restore mode, uid, gid and mtime

5 years agocatar/decoder.rs: avoid slashes in file names
Dietmar Maurer [Wed, 9 Jan 2019 11:17:23 +0000 (12:17 +0100)]
catar/decoder.rs: avoid slashes in file names

5 years agocatar/decoder.rs: impl restore dirs, files, and symlinks
Dietmar Maurer [Tue, 8 Jan 2019 16:17:55 +0000 (17:17 +0100)]
catar/decoder.rs: impl restore dirs, files, and symlinks

5 years agorest: rename utf-8-checked 'bytes' to 'utf8'
Wolfgang Bumiller [Tue, 8 Jan 2019 13:22:43 +0000 (14:22 +0100)]
rest: rename utf-8-checked 'bytes' to 'utf8'

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agorest: don't copy the body
Wolfgang Bumiller [Tue, 8 Jan 2019 13:21:54 +0000 (14:21 +0100)]
rest: don't copy the body

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agotools/timer: fixup doc formatting
Wolfgang Bumiller [Tue, 8 Jan 2019 13:11:08 +0000 (14:11 +0100)]
tools/timer: fixup doc formatting

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoCargo.toml: [lib] has no authors/version
Wolfgang Bumiller [Tue, 8 Jan 2019 11:47:35 +0000 (12:47 +0100)]
Cargo.toml: [lib] has no authors/version

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agocatar/decoder.rs: restore_sequential - read payload
Dietmar Maurer [Tue, 8 Jan 2019 08:26:07 +0000 (09:26 +0100)]
catar/decoder.rs: restore_sequential - read payload

5 years agocatar/decoder.rs: improve restore_sequential
Dietmar Maurer [Mon, 7 Jan 2019 18:18:59 +0000 (19:18 +0100)]
catar/decoder.rs: improve restore_sequential

5 years agocatar/decoder.rs: start implementing sequential decoder, cleanups
Dietmar Maurer [Mon, 7 Jan 2019 18:07:03 +0000 (19:07 +0100)]
catar/decoder.rs: start implementing sequential decoder, cleanups

And use [derive(Endian)] for endian conversion.

5 years agodepend on endian_trait
Dietmar Maurer [Mon, 7 Jan 2019 13:59:33 +0000 (14:59 +0100)]
depend on endian_trait

5 years agocatar: implement create
Dietmar Maurer [Mon, 7 Jan 2019 12:25:41 +0000 (13:25 +0100)]
catar: implement create

5 years agobin/catar.rs: add list command
Dietmar Maurer [Sun, 6 Jan 2019 16:42:23 +0000 (17:42 +0100)]
bin/catar.rs: add list command

5 years agocatar/decoder.rs: start implementation
Dietmar Maurer [Sun, 6 Jan 2019 16:27:57 +0000 (17:27 +0100)]
catar/decoder.rs: start implementation

5 years agoformat_definition.rs: remove wrong docs
Dietmar Maurer [Sun, 6 Jan 2019 16:27:22 +0000 (17:27 +0100)]
format_definition.rs: remove wrong docs

5 years agoimpl Read for BufferedArchiveReader
Dietmar Maurer [Sun, 6 Jan 2019 09:04:45 +0000 (10:04 +0100)]
impl Read for BufferedArchiveReader

5 years agoimpl Seek for BufferedArchiveReader
Dietmar Maurer [Sun, 6 Jan 2019 08:35:39 +0000 (09:35 +0100)]
impl Seek for BufferedArchiveReader

5 years agobuffered_read: return empty buffer on eof
Dietmar Maurer [Sun, 6 Jan 2019 08:17:28 +0000 (09:17 +0100)]
buffered_read: return empty buffer on eof

5 years agodefine and use BufferedReader trait
Dietmar Maurer [Sat, 5 Jan 2019 16:28:20 +0000 (17:28 +0100)]
define and use BufferedReader trait

5 years agoremove dead code
Dietmar Maurer [Sat, 5 Jan 2019 15:55:21 +0000 (16:55 +0100)]
remove dead code

5 years agotools.rs: improve docs
Dietmar Maurer [Sat, 5 Jan 2019 15:53:28 +0000 (16:53 +0100)]
tools.rs: improve docs

5 years agobackup/archive_index.rs: implement BufferedArchiveReader
Dietmar Maurer [Sat, 5 Jan 2019 13:47:56 +0000 (14:47 +0100)]
backup/archive_index.rs: implement BufferedArchiveReader

Implement relativly fast random read using binary search.

5 years agobackup/chunk_store.rs: resize buffer by powers of two
Dietmar Maurer [Sat, 5 Jan 2019 10:34:15 +0000 (11:34 +0100)]
backup/chunk_store.rs: resize buffer by powers of two

5 years agocatar/encoder.rs: code cleanup
Dietmar Maurer [Fri, 4 Jan 2019 16:23:01 +0000 (17:23 +0100)]
catar/encoder.rs: code cleanup

Note: Rust Vec resize uses len(), not capacity()!

5 years agobackup/chunk_store.rs: avoid allocation in read_chunk
Dietmar Maurer [Fri, 4 Jan 2019 16:16:56 +0000 (17:16 +0100)]
backup/chunk_store.rs: avoid allocation in read_chunk

5 years agowhite space cleanups
Dietmar Maurer [Fri, 4 Jan 2019 11:51:43 +0000 (12:51 +0100)]
white space cleanups

5 years agobackup/chunk_store.rs: implement read_chunk()
Dietmar Maurer [Fri, 4 Jan 2019 11:50:54 +0000 (12:50 +0100)]
backup/chunk_store.rs: implement read_chunk()

5 years agoproxmox-backup-manager: add garbage collection cli
Dietmar Maurer [Fri, 4 Jan 2019 10:33:58 +0000 (11:33 +0100)]
proxmox-backup-manager: add garbage collection cli

5 years agofix bash completion binary names
Dietmar Maurer [Fri, 4 Jan 2019 10:12:46 +0000 (11:12 +0100)]
fix bash completion binary names