]>
git.proxmox.com Git - proxmox-backup.git/log
Dietmar Maurer [Tue, 26 Feb 2019 11:27:28 +0000 (12:27 +0100)]
src/bin/proxmox-backup-client.rs: allow to upload more that one directory
Dietmar Maurer [Tue, 26 Feb 2019 10:59:10 +0000 (11:59 +0100)]
src/client/http_client.rs: login once, store and reuse ticket/token
Dietmar Maurer [Tue, 26 Feb 2019 10:55:06 +0000 (11:55 +0100)]
src/cli/getopts.rs: cleanup, avoid compiler warning
Dietmar Maurer [Tue, 26 Feb 2019 07:48:17 +0000 (08:48 +0100)]
src/tools.rs: new helper required_array_param()
Dietmar Maurer [Tue, 26 Feb 2019 07:47:34 +0000 (08:47 +0100)]
src/cli/getopts.rs: support positional array arguments
Dietmar Maurer [Tue, 26 Feb 2019 07:46:36 +0000 (08:46 +0100)]
src/cli/command.rs: improve error message
Dietmar Maurer [Tue, 26 Feb 2019 06:11:24 +0000 (07:11 +0100)]
src/api_schema/schema.rs: improve ParameterError display function
Wolfgang Bumiller [Mon, 25 Feb 2019 12:50:45 +0000 (13:50 +0100)]
backup/dynamic_index: split out add_chunk
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 22 Feb 2019 09:35:40 +0000 (10:35 +0100)]
backup/chunk_store: split insert_chunk
The protocol handler will receive chunk data plus a hash
pre-calculated by the client. It will verify the hash before
sending it up to the datastore in order to respond to the
client with an error on a mismatch, so there's no need to
recalculate the hash another time.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 15 Feb 2019 09:12:35 +0000 (10:12 +0100)]
backup/chunk_store: mark ChunkIterator as fused
Ranges are FusedIterators and it can be useful to propagate
that property to users.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Fri, 15 Feb 2019 08:12:44 +0000 (09:12 +0100)]
backup/chunk_store: make percentage output optional
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Feb 2019 10:39:09 +0000 (11:39 +0100)]
backup/datastore: expose chunk_store.get_chunk_iterator
will be used by the protocol handler to iterate over
existing chunks
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 25 Feb 2019 12:21:00 +0000 (13:21 +0100)]
src/backup/chunk_stat.rs: log write speed
Dietmar Maurer [Mon, 25 Feb 2019 11:52:10 +0000 (12:52 +0100)]
src/backup/chunk_stat.rs: new struct to track chunk statistics
Dietmar Maurer [Mon, 25 Feb 2019 10:36:05 +0000 (11:36 +0100)]
src/backup/chunk_store.rs: return info about compressed chunk size
So that we can generate better statistics ..
Dietmar Maurer [Mon, 25 Feb 2019 06:26:40 +0000 (07:26 +0100)]
src/backup/chunk_store.rs: use lz4 for compression
And depend on lz4 lib now.
Dietmar Maurer [Sun, 24 Feb 2019 15:19:39 +0000 (16:19 +0100)]
docs/Makefile: fix make dependency
Dietmar Maurer [Sun, 24 Feb 2019 14:52:04 +0000 (15:52 +0100)]
docs/proxmox-backup.rst: start writing docs
Dietmar Maurer [Sun, 24 Feb 2019 08:51:10 +0000 (09:51 +0100)]
start generating manual pages
Depend on docutils-doc
Dietmar Maurer [Sat, 23 Feb 2019 17:07:32 +0000 (18:07 +0100)]
src/cli/command.rs: improve help command completion
Dietmar Maurer [Sat, 23 Feb 2019 16:50:33 +0000 (17:50 +0100)]
src/cli/command.rs: cleanup, avoid array manipulation
Dietmar Maurer [Sat, 23 Feb 2019 16:38:10 +0000 (17:38 +0100)]
src/cli/command.rs: implement bash completion for help
Dietmar Maurer [Sat, 23 Feb 2019 14:10:48 +0000 (15:10 +0100)]
src/cli/command.rs: add help command
Dietmar Maurer [Sat, 23 Feb 2019 10:29:18 +0000 (11:29 +0100)]
src/cli/command.rs::allow to generate ReST docu
Dietmar Maurer [Fri, 22 Feb 2019 16:40:37 +0000 (17:40 +0100)]
src/cli/command.rs: improve usage imformation
Dietmar Maurer [Fri, 22 Feb 2019 12:02:11 +0000 (13:02 +0100)]
src/backup/chunker.rs: simplify break test
To make it a little bit faster ...
Dietmar Maurer [Fri, 22 Feb 2019 10:14:01 +0000 (11:14 +0100)]
src/cli/command.rs: start implementing generate_usage_str()
Dietmar Maurer [Thu, 21 Feb 2019 10:08:59 +0000 (11:08 +0100)]
src/cli/command.rs: simplify cli handler
Dietmar Maurer [Thu, 21 Feb 2019 17:56:41 +0000 (18:56 +0100)]
src/backup/chunker.rs: another try to speedup the chunker
Dietmar Maurer [Thu, 21 Feb 2019 08:36:52 +0000 (09:36 +0100)]
src/cli/getopts.rs: improve docs
Dietmar Maurer [Thu, 21 Feb 2019 08:07:25 +0000 (09:07 +0100)]
cleanup cli library structure
Wolfgang Bumiller [Wed, 20 Feb 2019 13:18:27 +0000 (14:18 +0100)]
http_client: on a tty, read password if no env var is set
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 20 Feb 2019 11:08:58 +0000 (12:08 +0100)]
tools: add tty helper module
with read_password() and stdin_isatty() functions
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Wed, 20 Feb 2019 13:10:45 +0000 (14:10 +0100)]
src/bin/proxmox-backup-client.rs: implement garbage-collection sub-command
Dietmar Maurer [Wed, 20 Feb 2019 13:09:55 +0000 (14:09 +0100)]
src/client/http_client.rs: implement post
without parameters for now...
Dietmar Maurer [Wed, 20 Feb 2019 12:37:44 +0000 (13:37 +0100)]
src/backup/datastore.rs: list_backups() - include list of index files
Dietmar Maurer [Wed, 20 Feb 2019 11:05:28 +0000 (12:05 +0100)]
src/bin/test_chunk_size.rs: avoid compilöer warnings, exit after 1GB
Dietmar Maurer [Wed, 20 Feb 2019 10:50:10 +0000 (11:50 +0100)]
src/bin/test_chunk_size.rs: another chunker test - gather some stats
Dietmar Maurer [Wed, 20 Feb 2019 10:17:19 +0000 (11:17 +0100)]
src/backup/chunker.rs: simplify code
Dietmar Maurer [Wed, 20 Feb 2019 10:01:09 +0000 (11:01 +0100)]
src/backup/chunker.rs: change window size back to 48
Using 64 is a bad idea, because it always computes hash 0 for
constant data streams.
Dietmar Maurer [Tue, 19 Feb 2019 14:19:12 +0000 (15:19 +0100)]
src/api2/admin/datastore/catar.rs: allow to configure chunk-size
Dietmar Maurer [Tue, 19 Feb 2019 11:40:12 +0000 (12:40 +0100)]
src/backup/chunker.rs: start() - correctly store hash in self.h
Dietmar Maurer [Tue, 19 Feb 2019 11:27:37 +0000 (12:27 +0100)]
src/backup/chunker.rs: use 64 byte chunker window size
This results in faster code.
Dietmar Maurer [Tue, 19 Feb 2019 11:17:17 +0000 (12:17 +0100)]
src/backup/chunker.rs: simplify buzzhash start code
Dietmar Maurer [Mon, 18 Feb 2019 17:31:02 +0000 (18:31 +0100)]
UploadCaTar: currectly write all data using write_all()
Dietmar Maurer [Mon, 18 Feb 2019 10:02:31 +0000 (11:02 +0100)]
src/backup/chunker.rs: correctly compute window index 'idx'
And add a simple test.
Dietmar Maurer [Mon, 18 Feb 2019 10:01:49 +0000 (11:01 +0100)]
src/client/http_client.rs: send csrf token
Wolfgang Bumiller [Mon, 18 Feb 2019 12:21:25 +0000 (13:21 +0100)]
cleanup
Error::from is already a function taking 1 parameter,
there's no need to wrap it with `|e| Error::from(e)`.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Mon, 18 Feb 2019 12:11:42 +0000 (13:11 +0100)]
fix typo: confi{g}dir
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Mon, 18 Feb 2019 05:54:12 +0000 (06:54 +0100)]
src/server/rest.rs: correctly insert NoLogExtension()
Dietmar Maurer [Mon, 18 Feb 2019 05:24:28 +0000 (06:24 +0100)]
src/client/http_client.rs: trim path
Dietmar Maurer [Sun, 17 Feb 2019 17:50:40 +0000 (18:50 +0100)]
src/server/rest.rs: get_index() include username and CSRF token
When we have an valid ticket. Also delay get_index() if called with
an invalid ticket.
Dietmar Maurer [Sun, 17 Feb 2019 16:31:53 +0000 (17:31 +0100)]
src/server/rest.rs: factor our normalize_path()
Dietmar Maurer [Sun, 17 Feb 2019 16:18:44 +0000 (17:18 +0100)]
src/server/rest.rs: improve logs for unauthorized request
Dietmar Maurer [Sun, 17 Feb 2019 11:13:06 +0000 (12:13 +0100)]
src/api_schema/schema.rs: improve docu
Dietmar Maurer [Sun, 17 Feb 2019 10:59:18 +0000 (11:59 +0100)]
src/api_schema/router.rs: add docu for RpcEnvironmentType
Dietmar Maurer [Sun, 17 Feb 2019 09:30:41 +0000 (10:30 +0100)]
api_schema/router.rs: improve doc
Dietmar Maurer [Sun, 17 Feb 2019 09:16:33 +0000 (10:16 +0100)]
improve api_schema module structure
Dietmar Maurer [Sun, 17 Feb 2019 08:59:20 +0000 (09:59 +0100)]
rename src/api to src/api_schema
Dietmar Maurer [Sat, 16 Feb 2019 14:52:55 +0000 (15:52 +0100)]
cleanup auth code, verify CSRF prevention token
Dietmar Maurer [Sat, 16 Feb 2019 12:46:20 +0000 (13:46 +0100)]
www/DataStoreConfig.js - add title
Dietmar Maurer [Sat, 16 Feb 2019 11:36:01 +0000 (12:36 +0100)]
tools/common_regex.rs: add more docu
Dietmar Maurer [Sat, 16 Feb 2019 11:28:50 +0000 (12:28 +0100)]
buildcfg.rs: improve doc
Dietmar Maurer [Sat, 16 Feb 2019 11:19:13 +0000 (12:19 +0100)]
fix configuration dir permission
Carefully set and check permissions ...
Dietmar Maurer [Sat, 16 Feb 2019 09:10:45 +0000 (10:10 +0100)]
config/datastore.rs: remove unused code
Dietmar Maurer [Sat, 16 Feb 2019 09:06:08 +0000 (10:06 +0100)]
config/datastore.rs: return empty config if file does not exist
Dietmar Maurer [Sat, 16 Feb 2019 08:42:00 +0000 (09:42 +0100)]
tools::file_get_contents - improve error message
Dietmar Maurer [Sat, 16 Feb 2019 08:36:29 +0000 (09:36 +0100)]
tools::file_read_firstline - improve error message
Dietmar Maurer [Sat, 16 Feb 2019 08:29:04 +0000 (09:29 +0100)]
change proxy user from www-data to backup
Dietmar Maurer [Fri, 15 Feb 2019 14:33:12 +0000 (15:33 +0100)]
tools.rs: new helper to get uid/gid for the sepcified system user.
Or is there an easier way to get that info?
Dietmar Maurer [Fri, 15 Feb 2019 13:33:03 +0000 (14:33 +0100)]
backup/datastore.rs: improve error reporting
Dietmar Maurer [Fri, 15 Feb 2019 11:13:15 +0000 (12:13 +0100)]
section_config.rs: simplify parser by using new try_block macro
Dietmar Maurer [Fri, 15 Feb 2019 10:33:51 +0000 (11:33 +0100)]
tools.rs: fix doc tests
Dietmar Maurer [Fri, 15 Feb 2019 10:20:45 +0000 (11:20 +0100)]
tools.rs: document try_block macro
Dietmar Maurer [Fri, 15 Feb 2019 09:59:12 +0000 (10:59 +0100)]
tools.rs: new try_block macro
Wolfgang Bumiller [Fri, 15 Feb 2019 09:32:14 +0000 (10:32 +0100)]
update to pam 0.7 (renamed from pam-auth)
It now supports custom conversation methods, so instead of
new() we ask for a default authenticator taking a password
via with_password(). Since the password is now handled by
the now separate conversation handler, `set_credentials()`
is now called on the handler we get via `.get_handler()`.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Fri, 15 Feb 2019 09:16:12 +0000 (10:16 +0100)]
server/rest.rs: add method to log message
Dietmar Maurer [Fri, 15 Feb 2019 09:04:37 +0000 (10:04 +0100)]
api2/admin/datastore/catar.rs: simplify/fix debug message
Dietmar Maurer [Fri, 15 Feb 2019 08:55:12 +0000 (09:55 +0100)]
server/rest.rs: log full error messages
Dietmar Maurer [Thu, 14 Feb 2019 15:04:24 +0000 (16:04 +0100)]
server/rest.rs: use a protocol extension to avoid double log
Instead of modifying the response header itself.
Dietmar Maurer [Thu, 14 Feb 2019 12:28:41 +0000 (13:28 +0100)]
avoid double logging of proxied requests
Dietmar Maurer [Thu, 14 Feb 2019 12:13:49 +0000 (13:13 +0100)]
Revert "backup/datastore: fn open is a private implementation detail"
This reverts commit
3dacd9a660696c5b9571d50e4603ed222ecdc634 .
I currently use this in some test ...
Dietmar Maurer [Thu, 14 Feb 2019 12:07:34 +0000 (13:07 +0100)]
src/server/rest.rs: log failed requests
Wolfgang Bumiller [Thu, 14 Feb 2019 11:33:20 +0000 (12:33 +0100)]
tools/fs: mark ReadDir as Send
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Feb 2019 10:38:11 +0000 (11:38 +0100)]
backup/chunk_store: verify chunk file names
get_chunk_iterator() should skip over files which aren't an
actual chunk
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Feb 2019 10:17:06 +0000 (11:17 +0100)]
backup/datastore: fn open is a private implementation detail
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Feb 2019 10:16:34 +0000 (11:16 +0100)]
backup/chunk_store: open base dir in get_chunk_iterator
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Dietmar Maurer [Thu, 14 Feb 2019 10:17:08 +0000 (11:17 +0100)]
src/client/backup_repo.rs - improve docu
Dietmar Maurer [Thu, 14 Feb 2019 10:11:39 +0000 (11:11 +0100)]
src/client.rs: improve library structure and docu
Wolfgang Bumiller [Thu, 14 Feb 2019 09:17:10 +0000 (10:17 +0100)]
make: use --no-deps for cargo doc
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Thu, 14 Feb 2019 09:13:42 +0000 (10:13 +0100)]
tools/timer: add module documentation
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 13 Feb 2019 14:51:27 +0000 (15:51 +0100)]
backup: replace ChunkIterator
Instead we just build the iterator using our
tools::fs::read_subdir iterator as follows:
Use the index range (0..0x10000) as an iterator, map() it
to yield a subdirectory iterator for each index, then
flatten it.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 12 Feb 2019 13:21:49 +0000 (14:21 +0100)]
tools: use scan_subdir iterator for scandir
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 13 Feb 2019 13:26:34 +0000 (14:26 +0100)]
tools/fs: add file_name_utf8_unchecked shortcut
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 13 Feb 2019 13:01:28 +0000 (14:01 +0100)]
tools/fs: change scan_subdir to use filter_file_name_regex
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 13 Feb 2019 13:00:48 +0000 (14:00 +0100)]
tools/fs: add filter_file_name_regex to FileIterOps
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 13 Feb 2019 12:51:29 +0000 (13:51 +0100)]
tools/fs: add FileIterOps trait and FileTypeFilter
FileIterOps will provide operations on file entry iterators.
For now this provides a file type filter.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 13 Feb 2019 13:02:27 +0000 (14:02 +0100)]
tools/fs: let ReadDir iterator yield ReadDirEntry
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Wed, 13 Feb 2019 11:38:27 +0000 (12:38 +0100)]
tools/fs: add ReadDirEntry helper
This wraps nix::dir::Entry with the parent and additionally
exposes the parent directory file descriptor since we need
it to perform openat().
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Wolfgang Bumiller [Tue, 12 Feb 2019 13:20:16 +0000 (14:20 +0100)]
tools/fs: add scan_subdir helper
This filters the results of read_subdir with a regex.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>