Commit Graph

200 Commits

Author SHA1 Message Date
49d123ee3a src/server/rest.rs: use formatter to encode errors 2019-04-01 08:04:12 +02:00
7d4ef127cb src/server/rest.rs: generate csrf token if we have a valid ticket
This is important if the user reloads the browser page.
2019-04-01 07:52:30 +02:00
8346f0d59b src/server/rest.rs: correctly extract content type 2019-03-19 12:50:15 +01:00
e5662b04e9 src/tools/ticket.rs: define const TICKET_LIFETIME 2019-03-05 12:56:21 +01:00
0ffbccce5e rc/server/rest.rs: allow to pass parameters as application/json 2019-02-27 12:37:53 +01:00
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
1cb99c234e src/server/rest.rs: correctly insert NoLogExtension() 2019-02-18 06:54:12 +01:00
7f1685230a 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.
2019-02-17 19:28:32 +01:00
141de8374a src/server/rest.rs: factor our normalize_path() 2019-02-17 17:31:53 +01:00
8225aa2ff6 src/server/rest.rs: improve logs for unauthorized request 2019-02-17 17:18:44 +01:00
ef2f2efbcc improve api_schema module structure 2019-02-17 10:16:33 +01:00
dc9a007b11 rename src/api to src/api_schema 2019-02-17 09:59:20 +01:00
5ddf8cb10a cleanup auth code, verify CSRF prevention token 2019-02-16 15:52:55 +01:00
d4736445fe server/rest.rs: add method to log message 2019-02-15 10:16:12 +01:00
44c00c0dfd server/rest.rs: log full error messages 2019-02-15 09:55:12 +01:00
7171b3e079 server/rest.rs: use a protocol extension to avoid double log
Instead of modifying the response header itself.
2019-02-14 16:04:24 +01:00
7e03988caf avoid double logging of proxied requests 2019-02-14 13:28:41 +01:00
78a1fa6722 src/server/rest.rs: log failed requests 2019-02-14 13:07:34 +01:00
0dffe3f99a src/client/http_client.rs: try to login
use an environment var to store passphrase (PBS_PASSWORD)
2019-02-13 14:31:43 +01:00
e937034c86 remove some rather inconvenient debug output
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-02-04 15:34:38 +01:00
4b2cdeb9a6 implement relead_timezone flag 2019-02-01 10:04:46 +01:00
a154a8e8a4 delay unauthorized request (rate limit) 2019-01-31 14:34:21 +01:00
5996577ab6 move http error class to router.rs 2019-01-31 13:22:30 +01:00
b9903d6331 server/rest.rs: verify auth cookie 2019-01-31 12:22:00 +01:00
f484eed3c2 Utils.js: fix cookie handling
Use unsecure cookie foör testing.
2019-01-31 10:08:08 +01:00
34f956bc25 api2/access.rs: add ticket api 2019-01-30 15:16:10 +01:00
c8f3f9b1af server/rest.rs: simplify proxy code
Only pass neccessary parameters.
2019-01-28 18:22:16 +01:00
a3da38ddfd server/rest.rs: implement proxy_sync_api_request 2019-01-28 18:06:42 +01:00
f120483353 server/rest.rs: add proxy_sync_api_request() dummy 2019-01-28 17:30:39 +01:00
5bb3398171 server/formatter.rs: fix extjs error format 2019-01-28 13:44:48 +01:00
02c7a75520 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.
2019-01-28 13:29:58 +01:00
d7d23785f0 RpcEnvironment: implement set_user() and get_user() 2019-01-27 10:52:26 +01:00
162b979394 RpcEnvironment: add environment type enum RpcEnvironmentType 2019-01-27 10:33:42 +01:00
e82dad9700 also pass rpcenv to async handlers 2019-01-27 10:18:52 +01:00
0f253593c6 move rpc environment implementation to separate files 2019-01-26 15:08:02 +01:00
6049b71f41 api: pass RpcEnvirnment to api handlers 2019-01-26 14:50:37 +01:00
d15009c0ce server/rest.rs: fake login cookie 2019-01-23 12:49:10 +01:00
576e3bf252 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).
2019-01-22 12:10:38 +01:00
059ca7c3a1 remove crate tokio-codec (seems to be part of tokio now) 2019-01-20 14:28:06 +01:00
50cfb695ae api/router.rs: rename ApiUploadMethod to ApiAsyncMethod
We can use this for uploads and downloads ...
2019-01-19 16:42:43 +01:00
83bdac1e3b api3/admin/datastore/upload_catar.rs: verify content type ("application/x-proxmox-backup-catar") 2019-01-17 12:43:29 +01:00
0ee0ad5bf3 api/router.rs: return Result in upload handler 2019-01-17 12:03:38 +01:00
cf16af2ab3 server/rest.rs: correctly pass query/url parameters 2019-01-16 13:58:36 +01:00
1629d2ad7b api3/admin/datastore/upload_catar.rs: implement upload future 2019-01-15 11:38:26 +01:00
7e21da6e23 api/router.rs: allow different types of api methods
Added a prototype for file/backup uploads.
2019-01-14 12:26:04 +01:00
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
9fec7ae593 rest: don't copy the body
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-01-08 14:21:54 +01:00
c578fcd9e2 simplify formatter code 2018-12-05 18:22:56 +01:00
1571873d7b add output formatter 2018-12-05 12:43:22 +01:00
083418619e move src/api/server.rs -> src/server/rest.rs 2018-12-05 10:16:23 +01:00