]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
3 years agosrc/backup/file_formats.rs: remove signed chunks
Dietmar Maurer [Wed, 8 Jul 2020 12:06:50 +0000 (14:06 +0200)]
src/backup/file_formats.rs: remove signed chunks

We can include signature in the manifest instead (patch will follow).

3 years agodocs: fix repo paths
Thomas Lamprecht [Wed, 8 Jul 2020 13:41:09 +0000 (15:41 +0200)]
docs: fix repo paths

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoimprove administration guide
Oguz Bektas [Wed, 8 Jul 2020 11:25:46 +0000 (13:25 +0200)]
improve administration guide

fixing some typos and grammar errors.

added example file layout for datastores.

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
3 years agoclient: introduce --keyfd parameter
Wolfgang Bumiller [Wed, 8 Jul 2020 11:52:17 +0000 (13:52 +0200)]
client: introduce --keyfd parameter

This is a more convenient way to pass along the key when
creating encrypted backups of unprivileged containers in PVE
where the unprivileged user namespace cannot access
`/etc/pve/priv`.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agosrc/backup/crypt_config.rs - compute_digest: make it more secure
Dietmar Maurer [Wed, 8 Jul 2020 10:49:21 +0000 (12:49 +0200)]
src/backup/crypt_config.rs - compute_digest: make it more secure

3 years agoui: ds/content: disable some button for in-progress backup
Thomas Lamprecht [Wed, 8 Jul 2020 10:21:56 +0000 (12:21 +0200)]
ui: ds/content: disable some button for in-progress backup

We cannot verify, download, file-browse backups which are currently
in progress.

'Forget' could work but is probably not desirable?

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: ds/content: do not count in-progress backups for last made one
Thomas Lamprecht [Wed, 8 Jul 2020 10:09:09 +0000 (12:09 +0200)]
ui: ds/content: do not count in-progress backups for last made one

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: ds/content: show spinner for backups in progress
Thomas Lamprecht [Wed, 8 Jul 2020 10:08:02 +0000 (12:08 +0200)]
ui: ds/content: show spinner for backups in progress

use the fact that they do not have a size property at all

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agomore xdg cleanup and encryption parameter improvements
Wolfgang Bumiller [Wed, 8 Jul 2020 08:56:16 +0000 (10:56 +0200)]
more xdg cleanup and encryption parameter improvements

Have a single common function to get the BaseDirectories
instance and a wrapper for `find()` and `place()` which
wrap the error with some context.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoclient: xdg usage: place() vs find()
Wolfgang Bumiller [Wed, 8 Jul 2020 08:42:05 +0000 (10:42 +0200)]
client: xdg usage: place() vs find()

place() is used when creating a file, as it will create
intermediate directories, only use it when actually placing
a new file.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agosrc/client/backup_writer.rs - upload_stream: add crypt_mode
Dietmar Maurer [Wed, 8 Jul 2020 08:42:20 +0000 (10:42 +0200)]
src/client/backup_writer.rs - upload_stream: add crypt_mode

3 years agoclient: fix schema to include --crypt-mode parameter
Wolfgang Bumiller [Wed, 8 Jul 2020 08:09:15 +0000 (10:09 +0200)]
client: fix schema to include --crypt-mode parameter

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agopxar: less confusing logic
Wolfgang Bumiller [Wed, 8 Jul 2020 07:58:29 +0000 (09:58 +0200)]
pxar: less confusing logic

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoDataStore::load_manifest: also return CryptMode
Wolfgang Bumiller [Wed, 8 Jul 2020 07:19:24 +0000 (09:19 +0200)]
DataStore::load_manifest: also return CryptMode

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoadd DataBlob::crypt_mode
Wolfgang Bumiller [Wed, 8 Jul 2020 07:18:44 +0000 (09:18 +0200)]
add DataBlob::crypt_mode

and move use statements up

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoremove CryptMode::sign_only special method
Wolfgang Bumiller [Wed, 8 Jul 2020 07:18:13 +0000 (09:18 +0200)]
remove CryptMode::sign_only special method

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agosrc/backup/manifest.rs: support old encrypted property
Dietmar Maurer [Wed, 8 Jul 2020 06:52:27 +0000 (08:52 +0200)]
src/backup/manifest.rs: support old encrypted property

Just to avoid confusion.

3 years agointroduce a CryptMode enum
Wolfgang Bumiller [Tue, 7 Jul 2020 13:20:20 +0000 (15:20 +0200)]
introduce a CryptMode enum

This also replaces the recently introduced --encryption
parameter on the client with a --crypt-mode parameter.

This can be "none", "encrypt" or "sign-only".

Note that this introduces various changes in the API types
which previously did not take the above distinction into
account properly:

Both `BackupContent` and the manifest's `FileInfo`:
    lose `encryption: Option<bool>`
    gain `crypt_mode: Option<CryptMode>`

Within the backup manifest itself, the "crypt-mode" property
will always be set.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agodocs: add getting help section
Thomas Lamprecht [Tue, 7 Jul 2020 11:24:39 +0000 (13:24 +0200)]
docs: add getting help section

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: features: minor wording
Thomas Lamprecht [Tue, 7 Jul 2020 11:23:17 +0000 (13:23 +0200)]
docs: features: minor wording

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: drop initial out of context sentence
Thomas Lamprecht [Tue, 7 Jul 2020 11:22:02 +0000 (13:22 +0200)]
docs: drop initial out of context sentence

the footer mentions sphinx and this feels weird to read as user
(which doesn't really cares what language/format the source of the
docs are in)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agobump version to 0.8.0-1 v0.8.0
Dietmar Maurer [Tue, 7 Jul 2020 08:15:44 +0000 (10:15 +0200)]
bump version to 0.8.0-1

3 years agosrc/tools/runtime.rs: implement get_runtime_with_builder
Dietmar Maurer [Tue, 7 Jul 2020 08:11:04 +0000 (10:11 +0200)]
src/tools/runtime.rs: implement  get_runtime_with_builder

3 years agobump version to 0.7.0-1 v0.7.0
Dietmar Maurer [Tue, 7 Jul 2020 05:40:22 +0000 (07:40 +0200)]
bump version to  0.7.0-1

3 years agosrc/client/remote_chunk_reader.rs: implement clone for RemoteChunkReader
Dietmar Maurer [Tue, 7 Jul 2020 05:34:58 +0000 (07:34 +0200)]
src/client/remote_chunk_reader.rs: implement clone for RemoteChunkReader

3 years agodocs: move todolist to own document, don't link in release build
Thomas Lamprecht [Mon, 6 Jul 2020 12:40:58 +0000 (14:40 +0200)]
docs: move todolist to own document, don't link in release build

It is always build for html, but not linked if the devbuild tag isn't
set. This tag is set in the Makefile if the $(BUILD_MODE) variable
isn't "release".

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoclient: add --encryption boolen parameter
Wolfgang Bumiller [Mon, 6 Jul 2020 12:35:28 +0000 (14:35 +0200)]
client: add --encryption boolen parameter

This can be used to explicitly disable encryption even if a
default key file exists in ~/.config.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoclient: use default encryption key if it is available
Wolfgang Bumiller [Mon, 6 Jul 2020 10:07:50 +0000 (12:07 +0200)]
client: use default encryption key if it is available

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoclient: move key management into separate module
Wolfgang Bumiller [Mon, 6 Jul 2020 09:39:24 +0000 (11:39 +0200)]
client: move key management into separate module

and use api macro for methods and Kdf type

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agominor style & whitespace fixups
Wolfgang Bumiller [Fri, 3 Jul 2020 07:45:25 +0000 (09:45 +0200)]
minor style & whitespace fixups

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agodocs: sync up copyright years
Thomas Lamprecht [Sat, 4 Jul 2020 15:57:47 +0000 (17:57 +0200)]
docs: sync up copyright years

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: todo: avoid leaking build details, link only
Thomas Lamprecht [Sat, 4 Jul 2020 15:53:58 +0000 (17:53 +0200)]
docs: todo: avoid leaking build details, link only

One can just search for them... If really wanted, we could set it to
true for dev builds (i.e., no DEB_VERSION defined)

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agod/rules: do not compress .pdf files
Thomas Lamprecht [Sat, 4 Jul 2020 15:53:01 +0000 (17:53 +0200)]
d/rules: do not compress .pdf files

as else the docs .pdf is a PITA to use for some endusers..

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: do not hardcode version
Thomas Lamprecht [Sat, 4 Jul 2020 15:51:56 +0000 (17:51 +0200)]
docs: do not hardcode version

use the debian package ones, if not defined we're doing a dev build

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agod/control: add missing dependencies for lvm, smartmontools and ZFS
Thomas Lamprecht [Fri, 3 Jul 2020 17:37:43 +0000 (19:37 +0200)]
d/control: add missing dependencies for lvm, smartmontools and ZFS

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: rework and add a bit to introduction
Thomas Lamprecht [Fri, 3 Jul 2020 16:58:14 +0000 (18:58 +0200)]
docs: rework and add a bit to introduction

Contributed-by: Daniela Häsler <daniela@proxmox.com>
[ discussed and edited some parts live with me, Thomas ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agodocs: fix index title
Thomas Lamprecht [Fri, 3 Jul 2020 16:57:01 +0000 (18:57 +0200)]
docs: fix index title

Contributed-by: Daniela Häsler <daniela@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: ZFS create: set name-field minLength to 3 to match backend
Thomas Lamprecht [Fri, 3 Jul 2020 16:03:51 +0000 (18:03 +0200)]
ui: ZFS create: set name-field minLength to 3 to match backend

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: ZFS create: use correct typeParameter name for disk selector
Thomas Lamprecht [Fri, 3 Jul 2020 15:59:58 +0000 (17:59 +0200)]
ui: ZFS create: use correct typeParameter name for disk selector

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoapi: disks: indentation fixup
Thomas Lamprecht [Fri, 3 Jul 2020 15:59:30 +0000 (17:59 +0200)]
api: disks: indentation fixup

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: ZFS list: fix details top-bar button handler
Thomas Lamprecht [Fri, 3 Jul 2020 15:20:33 +0000 (17:20 +0200)]
ui: ZFS list: fix details top-bar button handler

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: buildsys: actually include PBS.window.ZFSCreate component in source
Thomas Lamprecht [Fri, 3 Jul 2020 15:19:59 +0000 (17:19 +0200)]
ui: buildsys: actually include PBS.window.ZFSCreate component in source

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agosrc/bin/proxmox_backup_client/catalog.rs: split out catalog code
Dietmar Maurer [Fri, 3 Jul 2020 14:45:47 +0000 (16:45 +0200)]
src/bin/proxmox_backup_client/catalog.rs: split out catalog code

3 years agoui: fix glitch on some zoom steps
Dominik Csapak [Fri, 3 Jul 2020 10:48:50 +0000 (12:48 +0200)]
ui: fix glitch on some zoom steps

if the baseCls is not 'x-plain' the background of the flex
element is white, and on some zoom steps it gets taller
than one pixel and appears as a white line

making it have the plain baseCls, so it does not get any
background color and is always invisible

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoadd beta text with link to bugtracker
Dominik Csapak [Fri, 3 Jul 2020 10:48:49 +0000 (12:48 +0200)]
add beta text with link to bugtracker

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agobump version to 0.6.0-1
Dietmar Maurer [Fri, 3 Jul 2020 07:46:19 +0000 (09:46 +0200)]
bump version to 0.6.0-1

3 years agomake ReadChunk not require mutable self. v0.6.0
Dietmar Maurer [Fri, 3 Jul 2020 05:36:23 +0000 (07:36 +0200)]
make ReadChunk not require mutable self.

That way we can reduce lock contentions because we lock for much shorter
times.

3 years agoui: increase timeout for snapshot listing
Dominik Csapak [Wed, 1 Jul 2020 11:46:00 +0000 (13:46 +0200)]
ui: increase timeout for snapshot listing

the api call can take a very long time (for now), until we can
improve that, increase the timeout from the default of 30s

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agosrc/bin/proxmox_backup_client/task.rs: split out task command
Dietmar Maurer [Thu, 2 Jul 2020 16:04:29 +0000 (18:04 +0200)]
src/bin/proxmox_backup_client/task.rs: split out task command

3 years agosrc/bin/proxmox_backup_client/mount.rs: split out mount code
Dietmar Maurer [Thu, 2 Jul 2020 15:49:08 +0000 (17:49 +0200)]
src/bin/proxmox_backup_client/mount.rs: split out mount code

3 years agoui: consistently spell Datastore without space between words
Thomas Lamprecht [Thu, 2 Jul 2020 15:20:38 +0000 (17:20 +0200)]
ui: consistently spell Datastore without space between words

Not even hard feeling on 'Datastore' vs. 'Data Store' but consistency
is desired in such names.
Talked shortly with Dominik, which also slightly favored the one
without space - so just go for that one.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: disk create: sync and improve 'add-datastore' checkbox label
Thomas Lamprecht [Thu, 2 Jul 2020 15:05:58 +0000 (17:05 +0200)]
ui: disk create: sync and improve 'add-datastore' checkbox label

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoproxmox-backup-client: add benchmark command
Dietmar Maurer [Thu, 2 Jul 2020 12:00:32 +0000 (14:00 +0200)]
proxmox-backup-client: add benchmark command

This is just a start, We need to add more useful things here...

3 years agopxar: fixup 'vanished-file' logic a bit
Wolfgang Bumiller [Tue, 30 Jun 2020 12:41:42 +0000 (14:41 +0200)]
pxar: fixup 'vanished-file' logic a bit

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agopxar: fix missing newlines in warnings
Wolfgang Bumiller [Tue, 30 Jun 2020 12:37:20 +0000 (14:37 +0200)]
pxar: fix missing newlines in warnings

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agoDataStoreConfig.js: add verify button
Dietmar Maurer [Tue, 30 Jun 2020 11:28:42 +0000 (13:28 +0200)]
DataStoreConfig.js: add verify button

3 years agoDataStoreContent.js: add verify button
Dietmar Maurer [Tue, 30 Jun 2020 11:22:02 +0000 (13:22 +0200)]
DataStoreContent.js: add verify button

3 years agosrc/api2/admin/datastore.rs: avoid slash in UPID strings
Dietmar Maurer [Tue, 30 Jun 2020 11:11:22 +0000 (13:11 +0200)]
src/api2/admin/datastore.rs: avoid slash in UPID strings

3 years agobump version to 0.5.0-1 v0.5.0
Dietmar Maurer [Mon, 29 Jun 2020 11:01:11 +0000 (13:01 +0200)]
bump version to 0.5.0-1

3 years agofix typo
Dietmar Maurer [Mon, 29 Jun 2020 10:59:25 +0000 (12:59 +0200)]
fix typo

3 years agopartially revert commit 1f82f9b7b5d231da22a541432d5617cb303c0000
Dietmar Maurer [Mon, 29 Jun 2020 10:44:45 +0000 (12:44 +0200)]
partially revert commit 1f82f9b7b5d231da22a541432d5617cb303c0000

do it backwards compatible. Also, code was wrong because FixedIndexWriter
still computed old style csums...

3 years agoui: allow to Forget (delete) backup snapshots.
Dietmar Maurer [Fri, 26 Jun 2020 13:58:06 +0000 (15:58 +0200)]
ui: allow to Forget (delete) backup snapshots.

3 years agopxar: deal with files changing size during archiving
Wolfgang Bumiller [Fri, 26 Jun 2020 09:49:51 +0000 (11:49 +0200)]
pxar: deal with files changing size during archiving

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agobump version to 0.4.0-1 v0.4.0
Dietmar Maurer [Fri, 26 Jun 2020 08:43:52 +0000 (10:43 +0200)]
bump version to 0.4.0-1

3 years agodepend on proxmox 0.1.41
Dietmar Maurer [Fri, 26 Jun 2020 08:40:47 +0000 (10:40 +0200)]
depend on proxmox 0.1.41

3 years agoui: add ZFS management
Dominik Csapak [Thu, 25 Jun 2020 12:53:05 +0000 (14:53 +0200)]
ui: add ZFS management

adds a ZFSList and ZFSCreate class, modeled after the one in pve

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agofix test output
Dominik Csapak [Thu, 25 Jun 2020 12:53:00 +0000 (14:53 +0200)]
fix test output

field separator for pools is always a tab when using -H

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agosrc/backup/verify.rs: do not stop on server shutdown
Dietmar Maurer [Fri, 26 Jun 2020 07:45:59 +0000 (09:45 +0200)]
src/backup/verify.rs: do not stop on server shutdown

This is a read-only task, so there is no need to stop.

3 years agoWorkerTask: add warnings and count them
Dominik Csapak [Wed, 24 Jun 2020 07:04:35 +0000 (09:04 +0200)]
WorkerTask: add warnings and count them

so that we have one level more between errors and OK

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: dashboard: remove 'wobbling' of tasks that have the same duration
Dominik Csapak [Thu, 25 Jun 2020 08:45:52 +0000 (10:45 +0200)]
ui: dashboard: remove 'wobbling' of tasks that have the same duration

by sorting them by upid after sorting by duration

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: dashboard: use last value for holes in history graph
Dominik Csapak [Thu, 25 Jun 2020 08:45:51 +0000 (10:45 +0200)]
ui: dashboard: use last value for holes in history graph

it is only designed to be a quick overview, so having holes there
is not really pretty and since we do not even show any date
for the points, we can simply reuse the last value for holes

the 'real' graph with holes is still available on the
DataStoreStatistics panel

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agofix typo
Dominik Csapak [Thu, 25 Jun 2020 08:45:50 +0000 (10:45 +0200)]
fix typo

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoimprove 'debug' parameter
Dominik Csapak [Thu, 25 Jun 2020 08:45:49 +0000 (10:45 +0200)]
improve 'debug' parameter

instead of checking on '1' or 'true', check that it is there and not
'0' and 'false'. this allows using simply

https://foo:8007/?debug

instead of

https://foo:8007/?debug=1

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: automatically add 'localhost' as nodename for all panels
Dominik Csapak [Thu, 25 Jun 2020 08:45:48 +0000 (10:45 +0200)]
ui: automatically add 'localhost' as nodename for all panels

this will make refactoring easier for panels that are reused from pve
(where we always have a hostname)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: show proper loadMask for DataStoreContent
Dominik Csapak [Thu, 25 Jun 2020 08:45:47 +0000 (10:45 +0200)]
ui: show proper loadMask for DataStoreContent

we have to use the correct store, and we have to manually show the
error (since monStoreErrors only works for Proxmox Proxies)

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agosrc/backup/index.rs: add compute_csum
Dietmar Maurer [Fri, 26 Jun 2020 07:00:34 +0000 (09:00 +0200)]
src/backup/index.rs: add compute_csum

And use it for fixed and dynamic index. Please note that this
changes checksums for fixed indexes, so restore older backups
will fails now (not backward compatible).

3 years agoexamples/upload-speed.rs: fix compile error
Dietmar Maurer [Fri, 26 Jun 2020 06:59:51 +0000 (08:59 +0200)]
examples/upload-speed.rs: fix compile error

3 years agosrc/api2/backup.rs: call register_chunk in previous download api
Dietmar Maurer [Fri, 26 Jun 2020 06:22:46 +0000 (08:22 +0200)]
src/api2/backup.rs: call register_chunk in previous download api

3 years agosrc/backup/index.rs: add chunk_info method
Dietmar Maurer [Fri, 26 Jun 2020 06:14:45 +0000 (08:14 +0200)]
src/backup/index.rs: add chunk_info method

3 years agoupdate backup api for incremental backup
Dietmar Maurer [Thu, 25 Jun 2020 10:23:30 +0000 (12:23 +0200)]
update backup api for incremental backup

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
3 years agoallow to abort verify jobs
Dietmar Maurer [Thu, 25 Jun 2020 10:55:34 +0000 (12:55 +0200)]
allow to abort verify jobs

And improve job description rendering on gui.

3 years agoui: file browser: expand child node if only one archive present
Thomas Lamprecht [Thu, 25 Jun 2020 09:54:46 +0000 (11:54 +0200)]
ui: file browser: expand child node if only one archive present

Get the first visible node through the Ext.data.NodeInterface defined
"firstChild" element and expand that if there's only one archive
present.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoui: file browser: adapt height for 4:3 instead of weird 2:1 ratio
Thomas Lamprecht [Thu, 25 Jun 2020 09:54:22 +0000 (11:54 +0200)]
ui: file browser: adapt height for 4:3 instead of weird 2:1 ratio

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
3 years agoextract create_download_response API helper
Stefan Reiter [Wed, 24 Jun 2020 13:27:40 +0000 (15:27 +0200)]
extract create_download_response API helper

and put it into a new "api2::helpers" module.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
3 years ago[chore] bump to using pxar 0.2.0
Wolfgang Bumiller [Thu, 25 Jun 2020 07:46:24 +0000 (09:46 +0200)]
[chore] bump to using pxar 0.2.0

This breaks all previously created pxar archives!

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agosrc/bin/proxmox-backup-manager.rs: implement verify
Dietmar Maurer [Wed, 24 Jun 2020 11:34:45 +0000 (13:34 +0200)]
src/bin/proxmox-backup-manager.rs: implement verify

3 years agosrc/api2/admin/datastore.rs: add verify api
Dietmar Maurer [Wed, 24 Jun 2020 11:11:45 +0000 (13:11 +0200)]
src/api2/admin/datastore.rs: add verify api

3 years agosrc/backup/backup_info.rs: impl Display for BackupGroup
Dietmar Maurer [Wed, 24 Jun 2020 10:25:45 +0000 (12:25 +0200)]
src/backup/backup_info.rs: impl Display for BackupGroup

3 years agoupdate to pxar 0.1.9, update ReadAt implementations
Wolfgang Bumiller [Wed, 24 Jun 2020 09:57:12 +0000 (11:57 +0200)]
update to pxar 0.1.9, update ReadAt implementations

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
3 years agobump version to 0.3.0-1 v0.3.0
Dietmar Maurer [Wed, 24 Jun 2020 08:13:56 +0000 (10:13 +0200)]
bump version to 0.3.0-1

3 years agoadd incremental backup support
Stefan Reiter [Tue, 23 Jun 2020 12:43:10 +0000 (14:43 +0200)]
add incremental backup support

To support incremental backups (where not all chunks are sent to the
server), a new parameter "reuse-csum" is introduced on the
"create_fixed_index" API call. When set and equal to last backups'
checksum, the backup writer clones the data from the last index of this
archive file, and only updates chunks it actually receives.

In incremental mode some checks usually done on closing an index cannot
be made, since they would be inaccurate.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
3 years agoremove debug println
Dietmar Maurer [Wed, 24 Jun 2020 07:15:13 +0000 (09:15 +0200)]
remove debug println

3 years agofix overflow panic during upload
Stefan Reiter [Tue, 23 Jun 2020 12:43:09 +0000 (14:43 +0200)]
fix overflow panic during upload

if *only* data chunks are registered (high chance during incremental
backup), then chunk_count might be one lower then upload_stat.count
because of the zero chunk being unconditionally uploaded but not used.
Thus when subtracting the two, an overflow would occur.

In general, don't let the client make the server panic, instead just set
duplicates to 0.

Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
3 years agoapi2/node/disks/zfs: check if default zfs mount path exists
Dominik Csapak [Tue, 23 Jun 2020 14:00:12 +0000 (16:00 +0200)]
api2/node/disks/zfs: check if default zfs mount path exists

and if it does bail, because otherwise we would get an
error on mounting and have a zpool that is not imported
and disks that are used

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: fix missing deleteEmpty on SyncJobEdit
Dominik Csapak [Tue, 23 Jun 2020 13:29:57 +0000 (15:29 +0200)]
ui: fix missing deleteEmpty on SyncJobEdit

else we cannot delete those fields

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoui: add pxar FileBrowser
Dominik Csapak [Tue, 23 Jun 2020 10:09:54 +0000 (12:09 +0200)]
ui: add pxar FileBrowser

for unencrypted backups, enables browsing the pxar archives and
downloading single files from it

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoapi2/admin/datastore: add pxar-file-download api call
Dominik Csapak [Tue, 23 Jun 2020 10:09:53 +0000 (12:09 +0200)]
api2/admin/datastore: add pxar-file-download api call

streams a file from a pxar file of an unencrypted backup

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoapi2/admin/datastore: add 'catalog' api call
Dominik Csapak [Tue, 23 Jun 2020 10:09:52 +0000 (12:09 +0200)]
api2/admin/datastore: add 'catalog' api call

returns the dir listing of the given filepath of the backup snapshot
the filepath has to be base64 encoded or 'root'

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoadd From<&DirEntryAttribute to CatalogEntryType and make it pub(crate)
Dominik Csapak [Tue, 23 Jun 2020 10:09:51 +0000 (12:09 +0200)]
add From<&DirEntryAttribute to CatalogEntryType and make it pub(crate)

we want to get a string representation of the DirEntryAttribute
like 'f' for file, etc. and since we have such a mapping already
in the CatalogEntryType, use that

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
3 years agoderive Clone for the LocalChunkReader
Dominik Csapak [Tue, 23 Jun 2020 10:09:50 +0000 (12:09 +0200)]
derive Clone for the LocalChunkReader

this will be necessary for accessing local pxar behind didx files

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>