Commit graph

79 commits

Author SHA1 Message Date
sigoden 920b70abc4
refactor: improve resolve_path and handle_assets, abandon guard_path (#360) 2024-02-07 16:27:22 +08:00
sigoden 3c75a9c4cc
fix: guard req and destination path (#359) 2024-02-06 17:23:18 +08:00
sigoden f92c8ee91d
refactor: improve invalid auth (#356) 2024-01-19 10:25:11 +08:00
sigoden 95eb648411
feat: revert supporting for forbidden permission (#352) 2024-01-17 11:31:26 +08:00
sigoden 9b348fc945 chore: fix typos 2024-01-15 12:53:59 +00:00
sigoden de0614816a
refactor: propfind with auth no need to list all (#344) 2024-01-11 16:10:10 +08:00
sigoden ee21894452
feat: supports resumable uploads (#343) 2024-01-11 14:56:30 +08:00
sigoden af347f9cf0
feat: auth supports forbidden permissions (#329) 2023-12-23 18:36:46 +08:00
sigoden 006e03ed30
fix: serve files with names containing newline char (#328) 2023-12-23 15:40:41 +08:00
sigoden 77f86a4c60
fix: auth precedence (#325) 2023-12-21 17:28:13 +08:00
sigoden 52506bc01f
refactor: optimize http range parsing and handling (#323) 2023-12-21 15:46:55 +08:00
sigoden 270cc0cba2
feat: upgrade to hyper 1.0 (#321) 2023-12-21 14:24:20 +08:00
sigoden 3873f4794a
feat: add --compress option (#319) 2023-12-14 18:59:28 +08:00
sigoden 37800f630d
refactor: change the format of www-authenticate (#312) 2023-12-07 15:04:14 +08:00
sigoden 5c850256f4
feat: empty search ?q= list all paths (#311) 2023-12-07 06:55:17 +08:00
sigoden 7584fe3d08
feat: deprecate the use of | to separate auth rules (#298) 2023-11-26 22:15:49 +08:00
sigoden 653cd167d0
feat: password can contain : @ | (#297) 2023-11-26 20:47:57 +08:00
sigoden ab29e39148 chore: trivial updates 2023-11-26 15:04:12 +08:00
sigoden c352dab470
refactor: take improvements from the edge browser (#289) 2023-11-15 19:44:44 +08:00
sigoden d3de3db0d9
feat: support hashed password (#283) 2023-11-04 18:12:58 +08:00
sigoden 80ac9afe68
refactor: improve code quanity (#282)
- rename LogHttp to HttpLogger
2023-11-04 17:10:38 +08:00
sigoden 4ef07737e1
feat: support config file with --config option (#281) 2023-11-04 16:58:19 +08:00
sigoden 70300b133c
feat: deprecate --auth-method, as both options are available (#279)
* feat: deprecate `--auth-method`, both are avaiable

* send one www-authenticate with two schemes
2023-11-03 20:36:23 +08:00
sigoden 7ea4bb808d refactor: optimize tests 2023-11-03 15:25:20 +08:00
sigoden 9545fb6e37
fix: ui readonly if no write perm (#258) 2023-08-24 18:32:34 +08:00
sigoden 7f83de765a
fix: typo __ASSERTS_PREFIX__ (#252) 2023-08-13 15:05:45 +08:00
sigoden 10204c723f
chore: fix clippy (#245) 2023-07-15 16:27:13 +08:00
sigoden a53411b4d6
fix: search should ignore entry path (#235) 2023-06-15 08:28:21 +08:00
sigoden 6be36b8e51
fix: webdav only see public folder even logging in (#231) 2023-06-05 11:40:31 +08:00
sigoden 27c269d6a0
fix: allow all cors headers and methods (#225) 2023-06-02 19:07:43 +08:00
sigoden 57b4a74279
fix: auth logic (#224) 2023-06-02 18:38:59 +08:00
sigoden f8ea41638f
feat: new auth (#218)
The access level path control used by dufs has two disadvantages:

1. One path cannot support multiple users
2. It is very troublesome to set multiple paths for one user

So it needs to be refactored.
The new auth is account based, it closes #207, closes #208.

BREAKING CHANGE: new auth
2023-06-01 18:52:05 +08:00
sigoden fb5b50f059
fix: URL-encoded filename when downloading in safari (#203)
* fix: URL-encoded filename when downloading in safari

* add test
2023-03-31 22:52:07 +08:00
sigoden 29a04c8d74
refactor: improve error handle (#195) 2023-03-12 15:20:40 +08:00
sigoden c92e45f2da
fix: basic auth sometimes does not work (#194) 2023-03-12 12:58:36 +08:00
sigoden 45f4f5fc58
feat: guess plain text encoding then set content-type charset (#186) 2023-03-01 09:36:59 +08:00
horizon 6dcb4dcd76
fix: cors allow-request-header add content-type (#184)
* fix: cors allow-request-header add content-type

* add content-type test
2023-02-27 07:28:33 +08:00
sigoden ad0be71557 chore: optimize for test auth 2023-02-21 16:16:49 +08:00
sigoden 6d9758c71d
feat: ui improves the login experience (#182)
close #157 #158
2023-02-21 12:42:40 +08:00
sigoden dd6973468c
feat: support edit files (#179)
close #172
2023-02-20 22:50:24 +08:00
sigoden 7d6d7d49ca
feat: API to search and list directories (#177)
use `?simple` to output path name only.
use `?json` to output paths in json format.
By default, output html page.

close #166
2023-02-20 11:05:53 +08:00
sigoden b7c5119c2e
feat: hiding only directories instead of files (#175)
A `--hidden` pattern with `/` suffix means hiding only directories not files.
A `--hidden` pattern without `/` will hide matching files and directories.
2023-02-19 22:03:59 +08:00
horizon 0000bd27f5
fix: remove Method::Options auth check (#168)
* fix: remove Method::Options auth check

* add tests

---------

Co-authored-by: sigoden <sigoden@gmail.com>
2023-02-19 12:30:14 +08:00
sigoden 628d863d2e chore: improve code quanity 2022-12-11 15:18:44 +08:00
sigoden 8d9705caa4
feat: add option --allow-archive (#152)
BREAKING CHANGE: explicitly allow download folder as zip file
2022-12-10 11:09:42 +08:00
sigoden 8b4727c3a4
fix: panic on PROPFIND // (#144) 2022-11-10 19:28:01 +08:00
Aneesh Agrawal 604ccc6556
fix: status code for MKCOL on existing resource (#142)
* Fix status code for MKCOL on existing resource

Per https://datatracker.ietf.org/doc/html/rfc4918#section-9.3.1,
MKCOL should return a 405 if the resource already exists.

Impetus for this change:
I am using dufs as a webdav server for [Joplin](https://joplinapp.org/)
which interpreted the previous behavior of returning a 403 as an error,
preventing syncing from working.

* add test

Co-authored-by: sigoden <sigoden@gmail.com>
2022-11-10 18:41:10 +08:00
David Politis 1a9990f04e
fix: don't search on empty query string (#140)
* fix: don't search on empty query string

* refactor

Co-authored-by: sigoden <sigoden@gmail.com>
2022-11-10 18:02:55 +08:00
sigoden bd07783cde chore: cargo clippy 2022-11-10 15:38:35 +08:00
sigoden dbf2de9cb9
fix: auth not works with --path-prefix (#138)
close #137
2022-10-08 09:14:42 +08:00