]> git.proxmox.com Git - proxmox-backup.git/log
proxmox-backup.git
5 years agoaccess: use proxmox-backup-auth for pam
Wolfgang Bumiller [Thu, 7 Feb 2019 10:21:14 +0000 (11:21 +0100)]
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>
5 years agoadd generated files to .gitignore
Wolfgang Bumiller [Tue, 5 Feb 2019 13:17:30 +0000 (14:17 +0100)]
add generated files to .gitignore

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoapi2: time: use /etc/localtime as fallback
Wolfgang Bumiller [Wed, 30 Jan 2019 13:55:43 +0000 (14:55 +0100)]
api2: time: use /etc/localtime as fallback

in case there is no /etc/timezone

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agotools: use std::fs::read for file_get_contents
Wolfgang Bumiller [Mon, 4 Feb 2019 14:35:32 +0000 (15:35 +0100)]
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>
5 years agoremove some rather inconvenient debug output
Wolfgang Bumiller [Mon, 4 Feb 2019 14:34:38 +0000 (15:34 +0100)]
remove some rather inconvenient debug output

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoproxy: use <configdir>/server.pfx for tls
Wolfgang Bumiller [Mon, 4 Feb 2019 14:16:41 +0000 (15:16 +0100)]
proxy: use <configdir>/server.pfx for tls

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agointroduce buildcfg module and PROXMOX_CONFIGDIR
Wolfgang Bumiller [Mon, 4 Feb 2019 14:13:03 +0000 (15:13 +0100)]
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>
5 years agoproxy: use TLS via tokio-tls
Wolfgang Bumiller [Mon, 4 Feb 2019 13:56:07 +0000 (14:56 +0100)]
proxy: use TLS via tokio-tls

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agobuildsys: don't cache non-binary data
Wolfgang Bumiller [Fri, 1 Feb 2019 10:08:36 +0000 (10:08 +0000)]
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>
5 years agoetc: remove obsolete syslog.target dependency
Wolfgang Bumiller [Fri, 1 Feb 2019 10:02:56 +0000 (10:02 +0000)]
etc: remove obsolete syslog.target dependency

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agomake deb: use --no-pre-clean
Wolfgang Bumiller [Fri, 1 Feb 2019 10:01:55 +0000 (10:01 +0000)]
make deb: use --no-pre-clean

We create a clean build/ directory anyway.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agomake clean: cleanup source package files
Wolfgang Bumiller [Fri, 1 Feb 2019 09:36:28 +0000 (10:36 +0100)]
make clean: cleanup source package files

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agodebian: add debian/source/format file
Wolfgang Bumiller [Fri, 1 Feb 2019 09:24:02 +0000 (10:24 +0100)]
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>
5 years agoadd missing build depends
Wolfgang Bumiller [Fri, 1 Feb 2019 09:21:50 +0000 (10:21 +0100)]
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>
5 years agobuildsys: re-enable build caching for deb target
Wolfgang Bumiller [Fri, 1 Feb 2019 09:18:50 +0000 (10:18 +0100)]
buildsys: re-enable build caching for deb target

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agomake: add dsc target and use lintian
Wolfgang Bumiller [Fri, 1 Feb 2019 09:07:22 +0000 (10:07 +0100)]
make: add dsc target and use lintian

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agouse libexecdir for service binaries
Wolfgang Bumiller [Fri, 1 Feb 2019 09:05:14 +0000 (10:05 +0100)]
use libexecdir for service binaries

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agouse BUILD_MODE via the environment
Wolfgang Bumiller [Thu, 31 Jan 2019 15:11:09 +0000 (16:11 +0100)]
use BUILD_MODE via the environment

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoalso apply cargo build flags to tests
Wolfgang Bumiller [Thu, 31 Jan 2019 15:08:43 +0000 (16:08 +0100)]
also apply cargo build flags to tests

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agobuildsys: fixup package building
Wolfgang Bumiller [Thu, 31 Jan 2019 14:42:47 +0000 (15:42 +0100)]
buildsys: fixup package building

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoignore casync test by default
Wolfgang Bumiller [Thu, 31 Jan 2019 14:32:04 +0000 (15:32 +0100)]
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>
5 years agotests: chunk_store: cleanup .testdir
Wolfgang Bumiller [Thu, 31 Jan 2019 14:29:25 +0000 (15:29 +0100)]
tests: chunk_store: cleanup .testdir

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agotests: import lazy_static as needed
Wolfgang Bumiller [Thu, 31 Jan 2019 14:03:48 +0000 (15:03 +0100)]
tests: import lazy_static as needed

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agodon't hardcode /usr/share paths
Wolfgang Bumiller [Thu, 31 Jan 2019 12:43:09 +0000 (13:43 +0100)]
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>
5 years agowww: build proxmox-backup-gui.js into the js/ subdir
Wolfgang Bumiller [Thu, 31 Jan 2019 12:36:33 +0000 (13:36 +0100)]
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>
5 years agoremove useless command option from daemons
Wolfgang Bumiller [Thu, 31 Jan 2019 13:28:00 +0000 (14:28 +0100)]
remove useless command option from daemons

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoadd missing build dependencies
Wolfgang Bumiller [Thu, 31 Jan 2019 13:57:59 +0000 (14:57 +0100)]
add missing build dependencies

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoimprove ApiMethod docu
Dietmar Maurer [Fri, 1 Feb 2019 09:38:07 +0000 (10:38 +0100)]
improve ApiMethod docu

5 years agoimplement relead_timezone flag
Dietmar Maurer [Fri, 1 Feb 2019 08:54:56 +0000 (09:54 +0100)]
implement relead_timezone flag

5 years agodepend on pam-auth, use pam for root login
Dietmar Maurer [Fri, 1 Feb 2019 08:30:50 +0000 (09:30 +0100)]
depend on pam-auth, use pam for root login

Please use username "root@pam" for login via GUI.

5 years agodelay unauthorized request (rate limit)
Dietmar Maurer [Thu, 31 Jan 2019 13:34:21 +0000 (14:34 +0100)]
delay unauthorized request (rate limit)

5 years agomove http error class to router.rs
Dietmar Maurer [Thu, 31 Jan 2019 12:22:30 +0000 (13:22 +0100)]
move http error class to router.rs

5 years agoserver/rest.rs: verify auth cookie
Dietmar Maurer [Thu, 31 Jan 2019 11:22:00 +0000 (12:22 +0100)]
server/rest.rs: verify auth cookie

5 years agoUtils.js: fix cookie handling
Dietmar Maurer [Thu, 31 Jan 2019 09:08:08 +0000 (10:08 +0100)]
Utils.js: fix cookie handling

Use unsecure cookie foör testing.

5 years agoavoid compiler warnings
Dietmar Maurer [Wed, 30 Jan 2019 17:25:37 +0000 (18:25 +0100)]
avoid compiler warnings

5 years agoapi2/access.rs: add ticket api
Dietmar Maurer [Wed, 30 Jan 2019 14:14:20 +0000 (15:14 +0100)]
api2/access.rs: add ticket api

5 years agofix timer_delete call
Wolfgang Bumiller [Wed, 30 Jan 2019 11:03:40 +0000 (12:03 +0100)]
fix timer_delete call

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
5 years agoauth_helpers.rs: add timestamp to csrf token
Dietmar Maurer [Tue, 29 Jan 2019 16:50:03 +0000 (17:50 +0100)]
auth_helpers.rs: add timestamp to csrf token

5 years agoauth_helpers.rs: implement assemble_csrf_prevention_token
Dietmar Maurer [Tue, 29 Jan 2019 16:41:45 +0000 (17:41 +0100)]
auth_helpers.rs: implement assemble_csrf_prevention_token

5 years agoload auth keys on startup
Dietmar Maurer [Tue, 29 Jan 2019 16:21:58 +0000 (17:21 +0100)]
load auth keys on startup

5 years agoauth_helpers.rs: split code into separate file
Dietmar Maurer [Tue, 29 Jan 2019 15:55:49 +0000 (16:55 +0100)]
auth_helpers.rs: split code into separate file

5 years agobin/proxmox-backup-api.rs: gererate secret for csrf token
Dietmar Maurer [Tue, 29 Jan 2019 12:15:33 +0000 (13:15 +0100)]
bin/proxmox-backup-api.rs: gererate secret for csrf token

5 years agotools/ticket.rs: remove debug statements
Dietmar Maurer [Tue, 29 Jan 2019 12:04:01 +0000 (13:04 +0100)]
tools/ticket.rs: remove debug statements

5 years agotools/ticket.rs: add basic ticket support
Dietmar Maurer [Tue, 29 Jan 2019 11:59:07 +0000 (12:59 +0100)]
tools/ticket.rs: add basic ticket support

5 years agoserver/rest.rs: simplify proxy code
Dietmar Maurer [Mon, 28 Jan 2019 17:22:16 +0000 (18:22 +0100)]
server/rest.rs: simplify proxy code

Only pass neccessary parameters.

5 years agoadd protected flag for some api methods
Dietmar Maurer [Mon, 28 Jan 2019 17:16:47 +0000 (18:16 +0100)]
add protected flag for some api methods

5 years agoserver/rest.rs: implement proxy_sync_api_request
Dietmar Maurer [Mon, 28 Jan 2019 17:06:42 +0000 (18:06 +0100)]
server/rest.rs: implement proxy_sync_api_request

5 years agoserver/rest.rs: add proxy_sync_api_request() dummy
Dietmar Maurer [Mon, 28 Jan 2019 16:30:39 +0000 (17:30 +0100)]
server/rest.rs: add proxy_sync_api_request() dummy

5 years agoapi/router.rs: add new 'protected' flag to ApiMethod
Dietmar Maurer [Mon, 28 Jan 2019 16:18:42 +0000 (17:18 +0100)]
api/router.rs: add new 'protected' flag to ApiMethod

5 years agoserver/formatter.rs: fix extjs error format
Dietmar Maurer [Mon, 28 Jan 2019 12:44:48 +0000 (13:44 +0100)]
server/formatter.rs: fix extjs error format

5 years agosrc/bin/proxmox-backup-proxy.rs: implement unpriviledged server
Dietmar Maurer [Mon, 28 Jan 2019 12:17:03 +0000 (13:17 +0100)]
src/bin/proxmox-backup-proxy.rs: implement unpriviledged server

We want to run the public server as user www-data. Requests needing
root priviledges needs to be proxied to the proxmox-backup.service, which
now listens to 127.0.0.1:82.

5 years agoapi2/node/services.rs: implement service commands
Dietmar Maurer [Sun, 27 Jan 2019 11:40:31 +0000 (12:40 +0100)]
api2/node/services.rs: implement service commands

5 years agoRpcEnvironment: implement set_user() and get_user()
Dietmar Maurer [Sun, 27 Jan 2019 09:42:45 +0000 (10:42 +0100)]
RpcEnvironment: implement set_user() and get_user()

5 years agoRpcEnvironment: add environment type enum RpcEnvironmentType
Dietmar Maurer [Sun, 27 Jan 2019 09:33:42 +0000 (10:33 +0100)]
RpcEnvironment: add environment type enum RpcEnvironmentType

5 years agoalso pass rpcenv to async handlers
Dietmar Maurer [Sun, 27 Jan 2019 09:18:52 +0000 (10:18 +0100)]
also pass rpcenv to async handlers

5 years agoapi2/node/services.rs: start services api
Dietmar Maurer [Sat, 26 Jan 2019 16:54:18 +0000 (17:54 +0100)]
api2/node/services.rs: start services api

5 years agomove rpc environment implementation to separate files
Dietmar Maurer [Sat, 26 Jan 2019 14:08:02 +0000 (15:08 +0100)]
move rpc environment implementation to separate files

5 years agoapi: pass RpcEnvirnment to api handlers
Dietmar Maurer [Sat, 26 Jan 2019 13:50:37 +0000 (14:50 +0100)]
api: pass RpcEnvirnment to api handlers

5 years agouse crate log and syslog
Dietmar Maurer [Sat, 26 Jan 2019 09:56:11 +0000 (10:56 +0100)]
use crate log and syslog

5 years agoapi2/node/syslog.rs: improve error handling
Dietmar Maurer [Sat, 26 Jan 2019 09:23:52 +0000 (10:23 +0100)]
api2/node/syslog.rs: improve error handling

5 years agoapi2/node/syslog.rs: implement dump journal
Dietmar Maurer [Fri, 25 Jan 2019 17:20:51 +0000 (18:20 +0100)]
api2/node/syslog.rs: implement dump journal

5 years agoapi2/node/syslog.rs: add syslog api schema
Dietmar Maurer [Fri, 25 Jan 2019 16:17:30 +0000 (17:17 +0100)]
api2/node/syslog.rs: add syslog api schema

5 years agoServerAdministration.js: use localhost inside api path
Dietmar Maurer [Fri, 25 Jan 2019 12:14:43 +0000 (13:14 +0100)]
ServerAdministration.js: use localhost inside api path

5 years agoServerAdministration.js: new widget
Dietmar Maurer [Fri, 25 Jan 2019 12:10:55 +0000 (13:10 +0100)]
ServerAdministration.js: new widget

5 years agoDataStoreConfig.js: new widget
Dietmar Maurer [Fri, 25 Jan 2019 12:04:10 +0000 (13:04 +0100)]
DataStoreConfig.js: new widget

5 years agowww/OnlineHelpInfo.js: add dummy to avoid warnings
Dietmar Maurer [Fri, 25 Jan 2019 11:37:01 +0000 (12:37 +0100)]
www/OnlineHelpInfo.js: add dummy to avoid warnings

5 years agotools::get_hardware_address - fix FILENAME, use file_get_contents()
Dietmar Maurer [Fri, 25 Jan 2019 11:23:47 +0000 (12:23 +0100)]
tools::get_hardware_address -  fix FILENAME, use file_get_contents()

5 years agoapi2/node/dns.rs: implement concurrent update protection
Dietmar Maurer [Fri, 25 Jan 2019 10:38:59 +0000 (11:38 +0100)]
api2/node/dns.rs: implement concurrent update protection

5 years agopi2/node/dns.rs: return file digest
Dietmar Maurer [Fri, 25 Jan 2019 10:03:41 +0000 (11:03 +0100)]
pi2/node/dns.rs: return file digest

5 years agotools.rs: move digest_to_hex() into tools
Dietmar Maurer [Fri, 25 Jan 2019 09:58:28 +0000 (10:58 +0100)]
tools.rs: move digest_to_hex() into tools

5 years agotools.rs: implement file_get_contents()
Dietmar Maurer [Fri, 25 Jan 2019 09:44:40 +0000 (10:44 +0100)]
tools.rs: implement file_get_contents()

5 years agoapi2/node/dns.rs: improve dns api
Dietmar Maurer [Fri, 25 Jan 2019 09:15:32 +0000 (10:15 +0100)]
api2/node/dns.rs: improve dns api

5 years agobackup/chunk_store.rs: fix test case - use absolute path
Dietmar Maurer [Fri, 25 Jan 2019 09:14:25 +0000 (10:14 +0100)]
backup/chunk_store.rs: fix test case - use absolute path

5 years agoapi2/node/dns.rs: implement resolv.conf parser
Dietmar Maurer [Thu, 24 Jan 2019 13:59:40 +0000 (14:59 +0100)]
api2/node/dns.rs: implement resolv.conf parser

5 years agobackup/datastore.rs: use single lazy_static block
Dietmar Maurer [Thu, 24 Jan 2019 13:58:47 +0000 (14:58 +0100)]
backup/datastore.rs: use single lazy_static block

5 years agoapi2/node/time.rs: implement set timezone
Dietmar Maurer [Thu, 24 Jan 2019 11:05:06 +0000 (12:05 +0100)]
api2/node/time.rs: implement set timezone

5 years agoapi2/node/time.rs: add return schema
Dietmar Maurer [Thu, 24 Jan 2019 10:07:11 +0000 (11:07 +0100)]
api2/node/time.rs: add return schema

5 years agotools.rs: implement file_read_firstline
Dietmar Maurer [Thu, 24 Jan 2019 09:43:30 +0000 (10:43 +0100)]
tools.rs: implement file_read_firstline

5 years agoapi2/node/time.rs: implement read api
Dietmar Maurer [Wed, 23 Jan 2019 14:14:14 +0000 (15:14 +0100)]
api2/node/time.rs: implement read api

5 years agosrc/api2/node: start node configuration api
Dietmar Maurer [Wed, 23 Jan 2019 12:05:32 +0000 (13:05 +0100)]
src/api2/node: start node configuration api

5 years agoserver/rest.rs: fake login cookie
Dietmar Maurer [Wed, 23 Jan 2019 11:49:10 +0000 (12:49 +0100)]
server/rest.rs: fake login cookie

5 years agoadd missing api2.rs
Dietmar Maurer [Tue, 22 Jan 2019 12:56:27 +0000 (13:56 +0100)]
add missing api2.rs

5 years agoapi2/subscription.rs: add subscription api class
Dietmar Maurer [Tue, 22 Jan 2019 11:50:19 +0000 (12:50 +0100)]
api2/subscription.rs: add subscription api class

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