Commit graph

50 commits

Author SHA1 Message Date
ed 0c50ea1757 list dotfiles only for specific volumes or users (#66):
* permission `.` grants dotfile visibility if user has `r` too
* `-ed` will grant dotfiles to all `r` accounts (same as before)
* volflag `dots` likewise

also drops compatibility for pre-0.12.0 `-v` syntax
(`-v .::red` will no longer translate to `-v .::r,ed`)
2023-12-16 15:38:48 +00:00
ed 626b5770a5 add --ftp-ipa 2023-11-30 23:36:46 +00:00
ed 8c52b88767 make linters happier 2023-11-30 17:33:07 +00:00
ed 9ccc238799 v1.9.19 2023-11-19 12:29:19 +00:00
ed ee3333362f v1.9.17 2023-11-11 17:38:43 +00:00
ed 4b720f4150 add more prometheus metrics; breaking changes:
* cpp_uptime is now a gauge
* cpp_bans is now cpp_active_bans (and also a gauge)

and other related fixes:
* stop emitting invalid cpp_disk_size/free for offline volumes
* support overriding the spec-mandatory mimetype with ?mime=foo
2023-11-04 20:32:34 +00:00
ed 8020b11ea0 improve/simplify validation/errorhandling:
* some malicious requests are now answered with HTTP 422,
   so that they count against --ban-422
* do not include request headers when replying to invalid requests,
   in case there is a reverse-proxy inserting something interesting
2023-11-03 23:07:16 +00:00
ed 0a0364e9f8 FTPd: fix py3.12 support; workaround until next release:
run sfx twice with PYTHONPATH=/tmp/pe-copyparty.$(id -u)/copyparty/vend
2023-08-28 00:25:33 +00:00
ed 551d99b71b add permission "a" to show uploader IPs (#45) 2023-07-12 21:36:55 +00:00
ed e197895c10 support hashed passwords; closes #39 2023-06-25 21:50:33 +00:00
ed 510302d667 support ftps-only; closes #30 2023-06-02 19:02:50 +00:00
ed 769454fdce ftpd: only log invalid passwords 2023-05-06 19:16:52 +00:00
ed 544e0549bc make xvol and xdev apply at runtime (closes #24):
* when accessing files inside an xdev volume, verify that the file
   exists on the same device/filesystem as the volume root

* when accessing files inside an xvol volume, verify that the file
   exists within any volume where the user has read access
2023-04-29 21:10:02 +00:00
ed 83178d0836 preserve empty folders (closes #23):
* when deleting files, do not cascade upwards through empty folders
* when moving folders, also move any empty folders inside

the only remaining action which autoremoves empty folders is
files getting deleted as they expire volume lifetimes

also prevents accidentally moving parent folders into subfolders
(even though that actually worked surprisingly well)
2023-04-29 11:30:43 +00:00
ed e4759f86ef ftpd correctness:
* winscp mkdir failed because the folder-not-found error got repeated
* rmdir fails after all files in the folder have poofed; that's OK
* add --ftp4 as a precaution
2023-04-28 20:50:45 +00:00
ed d3ccd3f174 v1.6.15 2023-04-26 23:00:55 +00:00
ed d5109be559 ftp: track login state isolated from pyftpdlib;
for convenience, the password can be provided as the username
but that confuses pyftpd a little so let's do this
2023-04-23 21:06:19 +00:00
ed a1a8a8c7b5 configurable tls-certificate location 2023-04-23 20:56:55 +00:00
ed 42099baeff v1.6.12 2023-04-20 21:41:47 +00:00
ed ca04a00662 v1.6.9 2023-03-16 21:06:18 +00:00
ed d00f0b9fa7 ftp: support filezilla mkdir 2023-03-05 20:18:02 +00:00
ed 604e5dfaaf improve error handling / messages 2023-02-26 18:26:13 +00:00
ed 05e0c2ec9e add xiu (batching hook; runs on idle after uploads) +
bunch of tweaks/fixes for hooks
2023-02-26 18:23:32 +00:00
ed a4b56c74c7 support long filepaths on win7 + misc windows fixes 2023-02-10 18:37:37 +00:00
ed d8dfc4ccb2 support davfs2 LOCK (uploads) + misc windows support + logue filtering 2023-01-31 18:53:38 +00:00
ed 29c212a60e macos bigsur breaks on symlinks in ftp listings 2022-11-28 22:10:05 +00:00
ed 53b32f97e8 ftp: support touch+write, windows-login, verbosity 2022-11-26 20:03:17 +00:00
ed d326ba9723 ftp: ban password-bruteforcing IPs 2022-11-20 11:06:07 +00:00
ed cd2513ec16 logging fixes 2022-11-15 21:28:27 +00:00
ed e442cb677a improve ftp/smb logging 2022-11-06 13:30:16 +00:00
ed 450121eac9 ftpd: kde tries to cwd into images 2022-11-05 13:24:00 +00:00
ed edad3246e0 make pylance happier 2022-10-29 20:40:25 +00:00
ed f3a501db30 add SMB/CIFS server 2022-10-23 23:08:00 +02:00
ed 4bcd30da6b cleaner daemon instancing 2022-10-23 12:05:44 +02:00
ed 78fa96f0f4 add unpost sanchk 2022-10-08 18:23:41 +02:00
ed d8bddede6a new permission G returns filekey on write-only uploads 2022-10-08 01:17:41 +02:00
ed 75a58b435d reject anon ftp if anon has no read/write 2022-09-20 21:40:21 +02:00
ed e430b2567a add pyoxidizer (windows-only) 2022-09-10 17:33:04 +02:00
ed c00b80ca29 v1.3.11 2022-08-10 23:35:21 +02:00
ed 438384425a add types, isort, errorhandling 2022-06-16 01:07:15 +02:00
ed 0b6f102436 fix multiprocessing ftpd 2022-06-12 16:37:56 +02:00
ed fe73f2d579 cleanup 2022-06-07 23:08:43 +02:00
ed 8b2c7586ce minimal py2 support for ftpd 2022-03-03 01:18:01 +01:00
ed 32e22dfe84 vendor asynchat for pyftpdlib 2022-03-03 01:16:52 +01:00
ed aab3baaea7 v1.2.0 2022-02-13 16:58:54 +01:00
ed b8453c3b4f ftpd: support rootless filesystems 2022-02-13 16:38:24 +01:00
ed 6ce0e2cd5b ftpd: add ftps 2022-02-13 15:46:33 +01:00
ed 76beaae7f2 ftpd: add move/rename 2022-02-13 14:26:16 +01:00
ed c1a7f9edbe ftpd: add indexing, delete, windows support 2022-02-13 13:58:16 +01:00
ed b5f2fe2f0a add ftpd 2022-02-13 03:10:53 +01:00