]>
git.proxmox.com Git - proxmox-backup.git/log
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>
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>
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>
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>
Dietmar Maurer [Fri, 1 Feb 2019 09:38:07 +0000 (10:38 +0100)]
improve ApiMethod docu
Dietmar Maurer [Fri, 1 Feb 2019 08:54:56 +0000 (09:54 +0100)]
implement relead_timezone flag
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.
Dietmar Maurer [Thu, 31 Jan 2019 13:34:21 +0000 (14:34 +0100)]
delay unauthorized request (rate limit)
Dietmar Maurer [Thu, 31 Jan 2019 12:22:30 +0000 (13:22 +0100)]
move http error class to router.rs
Dietmar Maurer [Thu, 31 Jan 2019 11:22:00 +0000 (12:22 +0100)]
server/rest.rs: verify auth cookie
Dietmar Maurer [Thu, 31 Jan 2019 09:08:08 +0000 (10:08 +0100)]
Utils.js: fix cookie handling
Use unsecure cookie foör testing.
Dietmar Maurer [Wed, 30 Jan 2019 17:25:37 +0000 (18:25 +0100)]
avoid compiler warnings
Dietmar Maurer [Wed, 30 Jan 2019 14:14:20 +0000 (15:14 +0100)]
api2/access.rs: add ticket api
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>
Dietmar Maurer [Tue, 29 Jan 2019 16:50:03 +0000 (17:50 +0100)]
auth_helpers.rs: add timestamp to csrf token
Dietmar Maurer [Tue, 29 Jan 2019 16:41:45 +0000 (17:41 +0100)]
auth_helpers.rs: implement assemble_csrf_prevention_token
Dietmar Maurer [Tue, 29 Jan 2019 16:21:58 +0000 (17:21 +0100)]
load auth keys on startup
Dietmar Maurer [Tue, 29 Jan 2019 15:55:49 +0000 (16:55 +0100)]
auth_helpers.rs: split code into separate file
Dietmar Maurer [Tue, 29 Jan 2019 12:15:33 +0000 (13:15 +0100)]
bin/proxmox-backup-api.rs: gererate secret for csrf token
Dietmar Maurer [Tue, 29 Jan 2019 12:04:01 +0000 (13:04 +0100)]
tools/ticket.rs: remove debug statements
Dietmar Maurer [Tue, 29 Jan 2019 11:59:07 +0000 (12:59 +0100)]
tools/ticket.rs: add basic ticket support
Dietmar Maurer [Mon, 28 Jan 2019 17:22:16 +0000 (18:22 +0100)]
server/rest.rs: simplify proxy code
Only pass neccessary parameters.
Dietmar Maurer [Mon, 28 Jan 2019 17:16:47 +0000 (18:16 +0100)]
add protected flag for some api methods
Dietmar Maurer [Mon, 28 Jan 2019 17:06:42 +0000 (18:06 +0100)]
server/rest.rs: implement proxy_sync_api_request
Dietmar Maurer [Mon, 28 Jan 2019 16:30:39 +0000 (17:30 +0100)]
server/rest.rs: add proxy_sync_api_request() dummy
Dietmar Maurer [Mon, 28 Jan 2019 16:18:42 +0000 (17:18 +0100)]
api/router.rs: add new 'protected' flag to ApiMethod
Dietmar Maurer [Mon, 28 Jan 2019 12:44:48 +0000 (13:44 +0100)]
server/formatter.rs: fix extjs error format
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.
Dietmar Maurer [Sun, 27 Jan 2019 11:40:31 +0000 (12:40 +0100)]
api2/node/services.rs: implement service commands
Dietmar Maurer [Sun, 27 Jan 2019 09:42:45 +0000 (10:42 +0100)]
RpcEnvironment: implement set_user() and get_user()
Dietmar Maurer [Sun, 27 Jan 2019 09:33:42 +0000 (10:33 +0100)]
RpcEnvironment: add environment type enum RpcEnvironmentType
Dietmar Maurer [Sun, 27 Jan 2019 09:18:52 +0000 (10:18 +0100)]
also pass rpcenv to async handlers
Dietmar Maurer [Sat, 26 Jan 2019 16:54:18 +0000 (17:54 +0100)]
api2/node/services.rs: start services api
Dietmar Maurer [Sat, 26 Jan 2019 14:08:02 +0000 (15:08 +0100)]
move rpc environment implementation to separate files
Dietmar Maurer [Sat, 26 Jan 2019 13:50:37 +0000 (14:50 +0100)]
api: pass RpcEnvirnment to api handlers
Dietmar Maurer [Sat, 26 Jan 2019 09:56:11 +0000 (10:56 +0100)]
use crate log and syslog
Dietmar Maurer [Sat, 26 Jan 2019 09:23:52 +0000 (10:23 +0100)]
api2/node/syslog.rs: improve error handling
Dietmar Maurer [Fri, 25 Jan 2019 17:20:51 +0000 (18:20 +0100)]
api2/node/syslog.rs: implement dump journal
Dietmar Maurer [Fri, 25 Jan 2019 16:17:30 +0000 (17:17 +0100)]
api2/node/syslog.rs: add syslog api schema
Dietmar Maurer [Fri, 25 Jan 2019 12:14:43 +0000 (13:14 +0100)]
ServerAdministration.js: use localhost inside api path
Dietmar Maurer [Fri, 25 Jan 2019 12:10:55 +0000 (13:10 +0100)]
ServerAdministration.js: new widget
Dietmar Maurer [Fri, 25 Jan 2019 12:04:10 +0000 (13:04 +0100)]
DataStoreConfig.js: new widget
Dietmar Maurer [Fri, 25 Jan 2019 11:37:01 +0000 (12:37 +0100)]
www/OnlineHelpInfo.js: add dummy to avoid warnings
Dietmar Maurer [Fri, 25 Jan 2019 11:23:47 +0000 (12:23 +0100)]
tools::get_hardware_address - fix FILENAME, use file_get_contents()
Dietmar Maurer [Fri, 25 Jan 2019 10:38:59 +0000 (11:38 +0100)]
api2/node/dns.rs: implement concurrent update protection
Dietmar Maurer [Fri, 25 Jan 2019 10:03:41 +0000 (11:03 +0100)]
pi2/node/dns.rs: return file digest
Dietmar Maurer [Fri, 25 Jan 2019 09:58:28 +0000 (10:58 +0100)]
tools.rs: move digest_to_hex() into tools
Dietmar Maurer [Fri, 25 Jan 2019 09:44:40 +0000 (10:44 +0100)]
tools.rs: implement file_get_contents()
Dietmar Maurer [Fri, 25 Jan 2019 09:15:32 +0000 (10:15 +0100)]
api2/node/dns.rs: improve dns api
Dietmar Maurer [Fri, 25 Jan 2019 09:14:25 +0000 (10:14 +0100)]
backup/chunk_store.rs: fix test case - use absolute path
Dietmar Maurer [Thu, 24 Jan 2019 13:59:40 +0000 (14:59 +0100)]
api2/node/dns.rs: implement resolv.conf parser
Dietmar Maurer [Thu, 24 Jan 2019 13:58:47 +0000 (14:58 +0100)]
backup/datastore.rs: use single lazy_static block
Dietmar Maurer [Thu, 24 Jan 2019 11:05:06 +0000 (12:05 +0100)]
api2/node/time.rs: implement set timezone
Dietmar Maurer [Thu, 24 Jan 2019 10:07:11 +0000 (11:07 +0100)]
api2/node/time.rs: add return schema
Dietmar Maurer [Thu, 24 Jan 2019 09:43:30 +0000 (10:43 +0100)]
tools.rs: implement file_read_firstline
Dietmar Maurer [Wed, 23 Jan 2019 14:14:14 +0000 (15:14 +0100)]
api2/node/time.rs: implement read api
Dietmar Maurer [Wed, 23 Jan 2019 12:05:32 +0000 (13:05 +0100)]
src/api2/node: start node configuration api
Dietmar Maurer [Wed, 23 Jan 2019 11:49:10 +0000 (12:49 +0100)]
server/rest.rs: fake login cookie
Dietmar Maurer [Tue, 22 Jan 2019 12:56:27 +0000 (13:56 +0100)]
add missing api2.rs
Dietmar Maurer [Tue, 22 Jan 2019 11:50:19 +0000 (12:50 +0100)]
api2/subscription.rs: add subscription api class
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).
Dietmar Maurer [Tue, 22 Jan 2019 10:48:00 +0000 (11:48 +0100)]
gui: add navigation tree
Dietmar Maurer [Tue, 22 Jan 2019 09:36:04 +0000 (10:36 +0100)]
lient/http_client.rs: simplify code
Dietmar Maurer [Mon, 21 Jan 2019 17:58:14 +0000 (18:58 +0100)]
bin/proxmox-backup-client.rs: implement list command
Dietmar Maurer [Mon, 21 Jan 2019 17:56:48 +0000 (18:56 +0100)]
client/http_client.rs: implement get, share common code
Dietmar Maurer [Mon, 21 Jan 2019 10:22:55 +0000 (11:22 +0100)]
api3/admin/datastore.rs: implement list backups
Dietmar Maurer [Mon, 21 Jan 2019 09:51:52 +0000 (10:51 +0100)]
backup/datastore.rs: use DateTime<Utc> to store backup time
Dietmar Maurer [Mon, 21 Jan 2019 09:32:07 +0000 (10:32 +0100)]
white space fix
Dietmar Maurer [Sun, 20 Jan 2019 17:02:06 +0000 (18:02 +0100)]
backup/datastore.rs: implement list_backups
Dietmar Maurer [Sun, 20 Jan 2019 16:49:11 +0000 (17:49 +0100)]
tools.rs: use FnMut for scandir callback
Dietmar Maurer [Sun, 20 Jan 2019 16:31:43 +0000 (17:31 +0100)]
tools.rs: new scandir() helper
Dietmar Maurer [Sun, 20 Jan 2019 15:49:22 +0000 (16:49 +0100)]
backup/chunk_store.rs: verify base path is absolute
Dietmar Maurer [Sun, 20 Jan 2019 13:28:06 +0000 (14:28 +0100)]
remove crate tokio-codec (seems to be part of tokio now)
Dietmar Maurer [Sun, 20 Jan 2019 10:01:18 +0000 (11:01 +0100)]
tools/wrapped_reader_stream.rs: allocate Vec<u8> for buffer
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 ...
Dietmar Maurer [Sun, 20 Jan 2019 09:28:51 +0000 (10:28 +0100)]
tools/wrapped_reader_stream.rs: use tokio_threadpool::blocking
Dietmar Maurer [Sun, 20 Jan 2019 09:06:29 +0000 (10:06 +0100)]
use newer versions
Dietmar Maurer [Sun, 20 Jan 2019 08:55:20 +0000 (09:55 +0100)]
catar: improve bash completion
Dietmar Maurer [Sun, 20 Jan 2019 08:47:32 +0000 (09:47 +0100)]
/api3/admin/datastore.rs: add missing subdir to directory index
Dietmar Maurer [Sun, 20 Jan 2019 08:39:32 +0000 (09:39 +0100)]
api3/admin/datastore/catar.rs: implement download
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.
Dietmar Maurer [Sat, 19 Jan 2019 16:27:02 +0000 (17:27 +0100)]
api3/admin/datastore/catar.rs: start impl. download
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 ...
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...
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 .
Dietmar Maurer [Fri, 18 Jan 2019 16:54:06 +0000 (17:54 +0100)]
remove unused type PropertyMap
Dietmar Maurer [Fri, 18 Jan 2019 16:49:19 +0000 (17:49 +0100)]
api/schema.rs: avoid Option(Option( nesting
Dietmar Maurer [Fri, 18 Jan 2019 16:40:37 +0000 (17:40 +0100)]
/api/schema.rs: implement Schema::Option
Dietmar Maurer [Fri, 18 Jan 2019 16:39:51 +0000 (17:39 +0100)]
fix tests/catar.rs - add missing parameter
Dietmar Maurer [Fri, 18 Jan 2019 15:50:15 +0000 (16:50 +0100)]
reduce compiler warnings
Dietmar Maurer [Fri, 18 Jan 2019 12:42:52 +0000 (13:42 +0100)]
move complete_file_name() helper into tools.rs
Dietmar Maurer [Fri, 18 Jan 2019 12:40:05 +0000 (13:40 +0100)]
bin/proxmox-backup-client.rs: improve file name completion
Dietmar Maurer [Fri, 18 Jan 2019 11:24:58 +0000 (12:24 +0100)]
backup/datastore.rs: list all index files using walkdir crate
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
Dietmar Maurer [Fri, 18 Jan 2019 09:13:45 +0000 (10:13 +0100)]
cleanup nodename()
Dietmar Maurer [Fri, 18 Jan 2019 08:58:15 +0000 (09:58 +0100)]
tools.rs: new helper nodename()
Dietmar Maurer [Fri, 18 Jan 2019 07:33:11 +0000 (08:33 +0100)]
api3/admin/datastore.rs: rename parameter "name" to "store"
Dietmar Maurer [Thu, 17 Jan 2019 13:24:20 +0000 (14:24 +0100)]
bin/proxmox-backup-client.rs: implement file name completions - first try ...
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")
Dietmar Maurer [Thu, 17 Jan 2019 11:16:36 +0000 (12:16 +0100)]
client/catar_backup_stream.rs: remove debug code