Commit graph

78 commits

Author SHA1 Message Date
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
sigoden
a74e40aee5
feat: add --assets options to override assets (#134)
* feat: add --assets options to override assets

* update readme
2022-09-05 10:30:45 +08:00