copyparty/copyparty
ed 2ce8233921 webdav: auth-challenge clients correctly:
* return 403 instead of 404 in the following sitations:
  * viewing an RSS feed without necessary auth
  * accessing a file with the wrong filekey
  * accessing a file/folder without necessary auth
     (would previously 404 for intentional ambiguity)

* only allow PROPFIND if user has either read or write;
   previously a blank response was returned if user has
   get-access, but this could confuse webdav clients into
   skipping authentication (for example AuthPass)

* return 401 basic-challenge instead of 403 if the client
   appears to be non-graphical, because many webdav clients
   do not provide the credentials until they're challenged.
   There is a heavy bias towards assuming the client is a
   browser, because browsers must NEVER EVER get a 401
   (tricky state that is near-impossible to deal with)

* return 401 basic-challenge instead of 403 if a PUT
   is attempted without any credentials included; this
   should be safe, as graphical browsers never do that

this fixes the interoperability issues mentioned in
https://github.com/authpass/authpass/issues/379
where AuthPass would GET files without providing the
password because it expected a 401 instead of a 403;
AuthPass is behaving correctly, this is not a bug
2024-11-27 22:07:53 +00:00
..
bos ensure nested symlinks are not broken during deletes; 2023-12-08 01:11:03 +00:00
res replace setup.py with pyproject.toml + misc cleanup 2023-05-07 14:37:57 +00:00
stolen share folders as qr-codes 2024-10-03 23:14:06 +00:00
web cosmetic eta improvements: 2024-11-23 19:58:25 +00:00
__init__.py list active downloads in controlpanel 2024-11-10 02:12:18 +00:00
__main__.py exclude search results by regex (#120) 2024-11-26 23:57:01 +00:00
__version__.py v1.16.2 2024-11-23 23:36:15 +00:00
authsrv.py exclude search results by regex (#120) 2024-11-26 23:57:01 +00:00
broker_mp.py list active downloads in controlpanel 2024-11-10 02:12:18 +00:00
broker_mpw.py list active downloads in controlpanel 2024-11-10 02:12:18 +00:00
broker_thr.py list active downloads in controlpanel 2024-11-10 02:12:18 +00:00
broker_util.py optimize BrokerThr, 7x faster: 2024-09-11 20:37:10 +00:00
cert.py pkgres: 2024-09-19 22:04:49 +00:00
cfg.py exclude search results by regex (#120) 2024-11-26 23:57:01 +00:00
dxml.py make pylance happier 2022-10-29 20:40:25 +00:00
fsutil.py strip dev-only asserts at build stage 2024-09-14 22:17:35 +00:00
ftpd.py bubble OS-filesystem errors to client 2024-11-02 17:38:17 +00:00
httpcli.py webdav: auth-challenge clients correctly: 2024-11-27 22:07:53 +00:00
httpconn.py cidr-based autologin 2024-10-13 21:56:26 +00:00
httpsrv.py fix downloads-eta layout jank 2024-11-17 19:39:44 +00:00
ico.py linter fixes 2024-08-05 18:48:16 +00:00
mdns.py other linter nitpicks (not actually bugs) 2024-07-13 01:18:14 +02:00
metrics.py list active downloads in controlpanel 2024-11-10 02:12:18 +00:00
mtag.py cbz thumbnails 2024-11-15 21:33:37 +00:00
multicast.py v1.12.1 2024-04-09 23:34:31 +00:00
pwhash.py fix advanced options for password-hashing 2024-11-15 00:42:08 +00:00
smbd.py smb: upto 2x faster; but still very buggy: 2024-09-27 17:09:48 +00:00
ssdp.py misc cleanup; 2024-10-11 20:46:40 +00:00
star.py sanitize fs-paths in archive error summary 2024-05-30 23:55:37 +00:00
sutil.py docker: use less RAM at runtime 2024-08-02 22:11:23 +00:00
svchub.py exclude search results by regex (#120) 2024-11-26 23:57:01 +00:00
szip.py v1.16.0 2024-11-10 19:32:37 +00:00
tcpsrv.py list active downloads in controlpanel 2024-11-10 02:12:18 +00:00
tftpd.py bubble OS-filesystem errors to client 2024-11-02 17:38:17 +00:00
th_cli.py ui option to play video as audio 2024-07-22 22:30:21 +00:00
th_srv.py detect free RAM on startup for sane defaults 2024-11-10 15:43:19 +00:00
u2idx.py exclude search results by regex (#120) 2024-11-26 23:57:01 +00:00
up2k.py exclude search results by regex (#120) 2024-11-26 23:57:01 +00:00
util.py black 2024-11-22 22:26:34 +00:00