Wolfgang Bumiller
b4844eb334
protocol: expose chunker and digest function
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-07 14:32:42 +01:00
Wolfgang Bumiller
e402769332
protocol: allow explicitly polling for a single packet
...
When using *blocking* I/O wait_for_* functions need to be
able to not read past their awaited packet.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-07 13:51:13 +01:00
Wolfgang Bumiller
4932843923
protocol: also build a cdylib
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-07 13:51:13 +01:00
Wolfgang Bumiller
b08b44c046
protocol: remove redundant WouldBlock handling
...
The packet reading code already translates this to a bool.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-07 13:51:13 +01:00
Wolfgang Bumiller
d04c67b8a9
cargo: patch zstd-sys to use system library
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-07 12:18:38 +01:00
Wolfgang Bumiller
cd3b9a068f
Revert "TEMP: dynamically link against liblz4 for testing"
...
This reverts commit dc04ce7fe5 .
2019-03-07 12:18:38 +01:00
Wolfgang Bumiller
dc04ce7fe5
TEMP: dynamically link against liblz4 for testing
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-07 08:44:32 +01:00
Wolfgang Bumiller
c28e6f4b13
buildsys: copy proxmox-protocol to build/
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 09:39:30 +00:00
Wolfgang Bumiller
6716f30bbc
add protocol test client
...
This uses futures for everything which is mostly useful as a
test to see if the protocol crate's non-blocking I/O support
can handle it...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 10:26:12 +01:00
Wolfgang Bumiller
e2d007f76e
api2/admin/datastore: add a backup protocol test api path
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 10:26:12 +01:00
Wolfgang Bumiller
ac4e349b5e
import proxmox-protocol crate
...
This is supposed to contain only the parts necessary to
communicate with the server via the proxmox backup protocol.
(Including the chunker, which is currently `include!()`d
from the main crate.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 10:26:10 +01:00
Wolfgang Bumiller
e3062f87b1
fixed_index: split add_chunk/add_digest
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 10:25:20 +01:00
Wolfgang Bumiller
c3bb97e59c
fixed_index: impl Send for FixedIndexWriter
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 10:25:20 +01:00
Wolfgang Bumiller
3b7ade9e78
backup/datastore: expose insert_chunk method
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 10:25:20 +01:00
Wolfgang Bumiller
91ebea8262
router: add upgrade method
...
This is just an Async GET method, but semantically
different, so it gets its own router method.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-06 10:25:20 +01:00
Wolfgang Bumiller
391d310741
backup_info: BackupDir shortcut
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-05 10:15:06 +01:00
Wolfgang Bumiller
93b49ce38a
backup_info: use two independent Into<String> types
...
there's no reason to force them to be the same input type
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-05 09:13:08 +01:00
Wolfgang Bumiller
dcd15d10bb
backup/index: remove IndexIterator
...
removed the need for it, to avoid copies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-03-01 13:29:36 +01:00
Wolfgang Bumiller
df67070b1c
client/backup_repo: allow ip addresses for BackupRepository
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-28 15:26:40 +01:00
Wolfgang Bumiller
5de2bced2d
datastore: add generic open_index
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-28 15:26:40 +01:00
Wolfgang Bumiller
7bc1d72778
add IndexFile trait
...
We want to be able to iterate through digests of index
files, but without always having to distinguish between
dynamic and fixed types, so add a trait we can use as a
trait object.
Unfortunately the iterator needs to yield copies as
iterators cannot yield values with life times when
represented as trait objects (Box<dyn Iterator<Item = ?>>)
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-28 15:26:40 +01:00
Wolfgang Bumiller
5be4065baf
make FixedIndexReader Send and update comments
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-28 15:26:40 +01:00
Wolfgang Bumiller
fded74d0c7
style: BufferedReader -> BufferedRead
...
Single-method traits usually use the same name as their
method and aren't usually the 'noun' (which is usually an
implementation of them instead).
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-28 15:26:40 +01:00
Wolfgang Bumiller
d6b5173689
debian/control: use python3
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-27 11:43:34 +00:00
Wolfgang Bumiller
051387143b
buildsys: deb: always build locally first
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-27 11:43:34 +00:00
Wolfgang Bumiller
741706eefe
debian/control: rst2man is in python-docutils
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-27 11:26:53 +00:00
Wolfgang Bumiller
a93cc7c934
debian/control: sort dependencies
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-27 11:26:53 +00:00
Wolfgang Bumiller
87da74c7fd
buildsys: copy Cargo.lock to build/
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-27 11:26:53 +00:00
Wolfgang Bumiller
8731e40a7f
backup/datastore: create_backup_dir: show if path existed
...
To enable asserting the creation of a new backup rather than
adding to an existing one.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-27 10:15:36 +01:00
Wolfgang Bumiller
f661f37427
backup/dynamic_index: split out add_chunk
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-25 13:50:45 +01:00
Wolfgang Bumiller
9ac6ec868a
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 >
2019-02-25 13:44:29 +01:00
Wolfgang Bumiller
3a50ddd0c9
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 >
2019-02-25 13:44:29 +01:00
Wolfgang Bumiller
eff25ecaf2
backup/chunk_store: make percentage output optional
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-25 13:44:29 +01:00
Wolfgang Bumiller
d59397e60e
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 >
2019-02-25 13:44:29 +01:00
Wolfgang Bumiller
56458d9764
http_client: on a tty, read password if no env var is set
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-20 15:03:34 +01:00
Wolfgang Bumiller
c9b296f117
tools: add tty helper module
...
with read_password() and stdin_isatty() functions
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-20 14:43:07 +01:00
Wolfgang Bumiller
fc7f03523c
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 >
2019-02-18 13:21:27 +01:00
Wolfgang Bumiller
8fdef1a81c
fix typo: confi{g}dir
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-18 13:11:42 +01:00
Wolfgang Bumiller
1d77b6cf6b
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 >
2019-02-15 10:34:40 +01:00
Wolfgang Bumiller
2cc90617dd
tools/fs: mark ReadDir as Send
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 12:37:31 +01:00
Wolfgang Bumiller
62f2422f6a
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 >
2019-02-14 12:37:31 +01:00
Wolfgang Bumiller
3dacd9a660
backup/datastore: fn open is a private implementation detail
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 12:37:31 +01:00
Wolfgang Bumiller
9739aca41f
backup/chunk_store: open base dir in get_chunk_iterator
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 12:37:31 +01:00
Wolfgang Bumiller
18a1aa4858
make: use --no-deps for cargo doc
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:17:10 +01:00
Wolfgang Bumiller
dd1bfe6c12
tools/timer: add module documentation
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:13:42 +01:00
Wolfgang Bumiller
c7f481b642
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 >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
121f18efb7
tools: use scan_subdir iterator for scandir
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
32286b039c
tools/fs: add file_name_utf8_unchecked shortcut
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
806d7a6a35
tools/fs: change scan_subdir to use filter_file_name_regex
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
53e1e7ca72
tools/fs: add filter_file_name_regex to FileIterOps
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
23fba9d777
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 >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
1db416150d
tools/fs: let ReadDir iterator yield ReadDirEntry
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
b12505da69
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 >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
a25f863afd
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 >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
b4d5787de9
tools: start fs submodule, add read_subdir
...
This creates an iterator relative to a RawFd via
nix::dir::Dir over nix::dir::Entrys.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-14 10:09:59 +01:00
Wolfgang Bumiller
4a3f65172c
client: use hyper-tls for now
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-13 11:03:09 +01:00
Wolfgang Bumiller
42d6e4fb05
tools: borrow: implement Deref for Tied
...
Eg. if you have an x: Tied<Dir, Iterator> now you can simply
call x.next() as it'll dereference to the Iterator.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-13 11:03:09 +01:00
Wolfgang Bumiller
82bc0ad40c
backup: fixup warnings and readd lost file type check
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-12 10:43:43 +01:00
Wolfgang Bumiller
9349d2a1d2
backup: cleanup long lines
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-12 10:39:11 +01:00
Wolfgang Bumiller
fdd71f5286
backup: use ChunkIterator for sweep_unused_chunks
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-12 10:39:11 +01:00
Wolfgang Bumiller
c9e7f4dc8b
backup: add optional progress callback to ChunkIterator
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-12 10:39:11 +01:00
Wolfgang Bumiller
4070096c6a
backup: add ChunkIterator
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-12 10:39:11 +01:00
Wolfgang Bumiller
6ed25cbe3a
tools: add Tied value
...
Tie two dependent values together, such as a nix::Dir with
its nix::dir::Iter<'a> where 'a is tied to the Dir's
lifetime, making it otherwise impossible to return them or
store them in a struct.
Alternatively we could try the 'rental' crate.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-12 10:39:11 +01:00
Wolfgang Bumiller
9ac1045c7b
bin: manager: fixup datastore parameter name
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-12 10:39:11 +01:00
Wolfgang Bumiller
ace9e3531a
access: use proxmox-backup-auth for pam
...
allows customization via /etc/pam.d/proxmox-backup-auth
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-07 13:40:22 +01:00
Wolfgang Bumiller
517dfc4258
add generated files to .gitignore
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-05 14:17:30 +01:00
Wolfgang Bumiller
13f8310cac
api2: time: use /etc/localtime as fallback
...
in case there is no /etc/timezone
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-05 14:14:56 +01:00
Wolfgang Bumiller
a7cac14ed9
tools: use std::fs::read for file_get_contents
...
Until we add the extra options like we have in pve, just use
the already existing (since 1.26) shortcut.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-04 15:35:32 +01:00
Wolfgang Bumiller
e937034c86
remove some rather inconvenient debug output
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-04 15:34:38 +01:00
Wolfgang Bumiller
9d02e5c38a
proxy: use <configdir>/server.pfx for tls
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-04 15:19:32 +01:00
Wolfgang Bumiller
9f4962d396
introduce buildcfg module and PROXMOX_CONFIGDIR
...
buildcfg.rs should contain convenience variables or macros
for using build-time configured variables
For now we replace hardcoded "/etc/proxmox-backup/<foo>"
with configdir!("<foo>").
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-04 15:13:08 +01:00
Wolfgang Bumiller
0d176f3681
proxy: use TLS via tokio-tls
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-04 14:56:07 +01:00
Wolfgang Bumiller
b369f720f5
buildsys: don't cache non-binary data
...
etc/ and www/ should be clean in the build/ dir
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:09:34 +00:00
Wolfgang Bumiller
844d13326b
etc: remove obsolete syslog.target dependency
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:02:56 +00:00
Wolfgang Bumiller
0ae7ac1545
make deb: use --no-pre-clean
...
We create a clean build/ directory anyway.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:01:57 +00:00
Wolfgang Bumiller
1a9cb80c44
make clean: cleanup source package files
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
7406f6260a
debian: add debian/source/format file
...
We need 1.0: We have a native package with a revision, so
anything >1.0 doesn't work...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
418f3a5f48
add missing build depends
...
lintian complains about a missing bash-completion dependency
which is implied required the bash completion debhelper...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
7ba5fb4aef
buildsys: re-enable build caching for deb target
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
18fad34433
make: add dsc target and use lintian
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
304db5da3d
use libexecdir for service binaries
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
bed78ccd63
use BUILD_MODE via the environment
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
069f2d16bf
also apply cargo build flags to tests
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
13b77d1060
buildsys: fixup package building
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
a10bb8b941
ignore casync test by default
...
because there's no casync package we can build-depend on to
actually run the tests on normal systems...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
e0a5d1ca2f
tests: chunk_store: cleanup .testdir
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
a4f9188300
tests: import lazy_static as needed
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
6285b251e7
don't hardcode /usr/share paths
...
Add a defines.mk file defining the standard default layout
for installation (PREFIX, DATAROOTDIR, LIBDIR etc.).
Add a $(JSDIR) variable and use env!("JSDIR") in place of
the hardcoded /usr/share/javascript/proxmox-backup path.
Have defines.mk include an *optional* local.mak to override
JSDIR to www/ during local development.
Add `make install` targets and remove debian/install.
Note that service files are now in $libdir/proxmox-backup/
as there's usually no point in starting them from the
command line, so /usr/sbin makes no sense.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
9fa03fa2d3
www: build proxmox-backup-gui.js into the js/ subdir
...
The server expects an images/ subdir and a js/ subdir, so we
should also compile our files using the same structure.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
8e4df103dd
remove useless command option from daemons
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
7028d088b4
add missing build dependencies
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-02-01 10:41:54 +01:00
Wolfgang Bumiller
1bf446a33e
fix timer_delete call
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-01-30 12:04:20 +01:00
Wolfgang Bumiller
37b98249f4
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 >
2019-01-16 15:17:26 +01:00
Wolfgang Bumiller
1dcd52e5df
cleanup previous commit...
...
This kind of notation is weird...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-01-16 14:19:13 +01:00
Wolfgang Bumiller
6a50b77e72
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 >
2019-01-16 14:18:16 +01:00
Wolfgang Bumiller
1ed86a0bae
rest: rename utf-8-checked 'bytes' to 'utf8'
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-01-08 14:22:43 +01:00
Wolfgang Bumiller
9fec7ae593
rest: don't copy the body
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-01-08 14:21:54 +01:00
Wolfgang Bumiller
d9fbcc4631
tools/timer: fixup doc formatting
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-01-08 14:11:10 +01:00
Wolfgang Bumiller
40c45a4b98
Cargo.toml: [lib] has no authors/version
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-01-08 12:47:35 +01:00
Wolfgang Bumiller
4968bc3ac0
cli::command: wrap usage errors in a UsageError
...
So we can distinguish them and show usage output
conditionally.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2019-01-03 16:08:51 +01:00