|
Revision tags: lighttpd-1.4.69 |
|
| #
7a2abc19 |
| 05-Feb-2023 |
Glenn Strauss <[email protected]> |
[mod_webdav] send 409 Conflict if PUT miss parent
send 409 Conflict if PUT into parent collection which does not exist
|
| #
98ad7f10 |
| 20-Jan-2023 |
Glenn Strauss <[email protected]> |
[mod_webdav] MOD_WEBDAV_BUILD_MINIMAL preproc opt
-DMOD_WEBDAV_BUILD_MINIMAL preprocessor option to disable PROPPATCH, LOCK, UNLOCK by removing dependencies on libxml2, libsqlite3, libuuid (even if
[mod_webdav] MOD_WEBDAV_BUILD_MINIMAL preproc opt
-DMOD_WEBDAV_BUILD_MINIMAL preprocessor option to disable PROPPATCH, LOCK, UNLOCK by removing dependencies on libxml2, libsqlite3, libuuid (even if built --with-webdav-props --with-webdav-locks)
This permits building mod_webdav.so and an alternative mod_webdav_min.so without the extra dependencies if the build system is extended to build mod_webdav_min, compiling mod_webdav.c with -DMOD_WEBDAV_BUILD_MINIMAL -Dmod_webdav_plugin_init=mod_webdav_min_plugin_init (note: build systems have not been extended here for mod_webdav_min.so)
x-ref: "lighttpd-mod-webdav dependency to SQLite" https://redmine.lighttpd.net/issues/3188
show more ...
|
| #
36094717 |
| 20-Jan-2023 |
Glenn Strauss <[email protected]> |
[mod_webdav] modify OPTIONS response if no db cfg
modify OPTIONS response if webdav.sqlite-db-name is not configured
if webdav.sqlite-db-name is not configured, then in OPTIONS response - do not ad
[mod_webdav] modify OPTIONS response if no db cfg
modify OPTIONS response if webdav.sqlite-db-name is not configured
if webdav.sqlite-db-name is not configured, then in OPTIONS response - do not advertise PROPPATCH, LOCK, or UNLOCK in "Allow" response header - do not advertise DAV Compliance Class 2 in "DAV" response header
x-ref: https://redmine.lighttpd.net/issues/3188
show more ...
|
| #
25f5085a |
| 09-Jan-2023 |
Glenn Strauss <[email protected]> |
[multiple] spelling: github action check-spelling
|
|
Revision tags: lighttpd-1.4.68 |
|
| #
5e14db43 |
| 10-Dec-2022 |
Glenn Strauss <[email protected]> |
[multiple] employ ck_calloc, ck_malloc shared code
employ ck_calloc(), ck_malloc() shared code to slightly reduce code size (centralize the ck_assert() to check that memory allocation succeeded)
|
| #
c412bb59 |
| 08-Dec-2022 |
Glenn Strauss <[email protected]> |
[multiple] employ ck_realloc_u32() shared code
employ ck_realloc_u32() shared code to slightly reduce code size
|
| #
b82d7b8a |
| 06-Dec-2022 |
Glenn Strauss <[email protected]> |
[multiple] mark mod_*_plugin_init() funcs cold
|
| #
cd18ab8e |
| 04-Nov-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] minor cleanups and adjustments
|
|
Revision tags: lighttpd-1.4.67 |
|
| #
73df7b64 |
| 14-Sep-2022 |
Glenn Strauss <[email protected]> |
[core] manually calculate off_t max (fixes #3171)
manually calculate off_t max for broken cross-compilation systems which fail to enable large file support (so sizeof(off_t) != sizeof(int64_t))
If
[core] manually calculate off_t max (fixes #3171)
manually calculate off_t max for broken cross-compilation systems which fail to enable large file support (so sizeof(off_t) != sizeof(int64_t))
If sizeof(off_t) != sizeof(int64_t), a negative number could end up in cq->upload_temp_file_size when it was assigned INTMAX_MAX, leading to excessive new temporary file creation occurring on each and every write.
x-ref: "File upload regression with --disable-lfs" https://redmine.lighttpd.net/issues/3171
show more ...
|
|
Revision tags: lighttpd-1.4.66 |
|
| #
fe8b73b2 |
| 22-Jul-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] build with Android NDK
|
| #
6821ea66 |
| 21-Jun-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] webdav_reqbody_type_xml() fixes
webdav_reqbody_type_xml() must check request headers (behavior fix) protect webdav_reqbody_type_xml() with USE_PROPPATCH (compile fix)
|
| #
fcae0af9 |
| 11-Jun-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] check reqbody Content-Type is XML
|
| #
d7bfd56d |
| 11-Jun-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] cold func if xml reqbody w/o db conf
|
|
Revision tags: lighttpd-1.4.65 |
|
| #
def1bfa9 |
| 31-May-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] alt handling PROPFIND on collection
alternative way of handling PROPFIND on collection where the request was made without a trailing slash. Instead of sending 308 redirect in some case
[mod_webdav] alt handling PROPFIND on collection
alternative way of handling PROPFIND on collection where the request was made without a trailing slash. Instead of sending 308 redirect in some cases, set Content-Location response header *and* treat as if request had been made with trailing slash on the collection for PROPFIND and PROPPATCH.
https://www.rfc-editor.org/rfc/rfc4918#section-5.2 There is a standing convention that when a collection is referred to by its name without a trailing slash, the server MAY handle the request as if the trailing slash were present. In this case, it SHOULD return a Content-Location header in the response, pointing to the URL ending with the "/".
x-ref: "The previous workaround for GVFS is breaking the new version of GVFS" https://redmine.lighttpd.net/boards/2/topics/10468 HTTP Extensions for Web Distributed Authoring and Versioning (WebDAV) https://www.rfc-editor.org/rfc/rfc4918#section-5.2
show more ...
|
| #
3cc15090 |
| 14-May-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] If-None-Match: * on non-existent
fix logic for If-None-Match: * test on non-existent entity (regression in lighttpd 1.4.64)
If-None-Match: * should not fail on a non-existent entity, a
[mod_webdav] If-None-Match: * on non-existent
fix logic for If-None-Match: * test on non-existent entity (regression in lighttpd 1.4.64)
If-None-Match: * should not fail on a non-existent entity, as it may be used to make the request conditional on the origin server having no current representation of the entity. (see If-None-Match in RFC2616 and RFC7232)
(This logic had been changed in lighttpd 1.4.64 in commit 8a535e7e064b0c33c3b60a92df88b349d79b94c2 when allowing bogus, non-'*' If-None-Match etags for non-existent entities to not-match (and pass the check)
show more ...
|
| #
85b5988d |
| 10-May-2022 |
Glenn Strauss <[email protected]> |
[multiple] use preferred syntax for Content-Type
use preferred syntax for Content-Type: .../charset=... (match preferred syntax specified in upcoming HTTP spec revision)
|
| #
f2610d23 |
| 03-May-2022 |
Glenn Strauss <[email protected]> |
[multiple] use buffer_append_char()
|
| #
20b6ef99 |
| 12-Apr-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] opt for partial PUT via copy/rename
option for partial PUT via copy/modify/rename
webdav.opts += ("partial-put-copy-modify" => "enable")
Some modern filesystems support efficiently cl
[mod_webdav] opt for partial PUT via copy/rename
option for partial PUT via copy/modify/rename
webdav.opts += ("partial-put-copy-modify" => "enable")
Some modern filesystems support efficiently cloning files, making it less expensive to copy to a tempfile, modify, and atomically rename the modified tempfile to replace the original.
show more ...
|
| #
e05ce805 |
| 08-Feb-2022 |
Glenn Strauss <[email protected]> |
[multiple] shared code for struct chunk and mmap
chunkqueue_chunk_file_view()
reduces size of struct chunk
use mmap with mod_deflate libdeflate, if mmap available, even when lighttpd not built w
[multiple] shared code for struct chunk and mmap
chunkqueue_chunk_file_view()
reduces size of struct chunk
use mmap with mod_deflate libdeflate, if mmap available, even when lighttpd not built with --enable-mmap
avoid using mmap on temp files in chunkqueue (c->file.is_temp) since pread() with a reasonable block size is typically as fast or faster than mmap on files read sequentially and used only once, especially when writing results to limited-size socket buffers (and lighttpd temp files are, in most cases, by default about 1 MB) (Exception: sometimes mmap is used for convenience or to fulfill a requirement, e.g. one-shot libdeflate in mod_deflate) (There are many factors which influence speed of mmap versus pread, so this should not be construed as generic usage advice.)
show more ...
|
| #
9b55ac6d |
| 08-Feb-2022 |
Glenn Strauss <[email protected]> |
[multiple] pedantic chunk.c checks for 0-len chunk
|
| #
4432e342 |
| 24-Jan-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] no COPYFILE_CLONE_FORCE on OSX <10.12 (fixes #3142)
(thx ryandesign)
There is no COPYFILE_CLONE_FORCE on OSX <10.12 so fall back to using fcopyfile() to avoid race condition on source
[mod_webdav] no COPYFILE_CLONE_FORCE on OSX <10.12 (fixes #3142)
(thx ryandesign)
There is no COPYFILE_CLONE_FORCE on OSX <10.12 so fall back to using fcopyfile() to avoid race condition on source (if changed to dir) if using copyfile() with flags equivalent to COPYFILE_CLONE_FORCE, but without the 'force' flag.
x-ref: "error: use of undeclared identifier 'COPYFILE_CLONE_FORCE'" https://redmine.lighttpd.net/issues/3142
show more ...
|
|
Revision tags: lighttpd-1.4.64 |
|
| #
faa134ca |
| 10-Jan-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] no sys/ioctl.h on _WIN32
|
| #
e3c3f271 |
| 05-Jan-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] define HAVE_RENAMEAT2 earlier
(including linux/fs.h later might reveal RENAME_NOREPLACE)
|
| #
0c22c643 |
| 04-Jan-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] copy acceleration
* copy acceleration * safety for accelerated copying of files > 2 GB on 32-bit systems * disable hard linking when "deprecated-unsafe-partial-put" => "enable" (In no
[mod_webdav] copy acceleration
* copy acceleration * safety for accelerated copying of files > 2 GB on 32-bit systems * disable hard linking when "deprecated-unsafe-partial-put" => "enable" (In normal operation, hard-linking is safe for copying since WebDAV modification of any file involves full upload of file and atomic replacement, which severs any hard-links. When deprecated unsafe partial PUT is permitted, that is not the case.)
x-ref: https://man7.org/linux/man-pages/man2/copy_file_range.2.html https://www.freebsd.org/cgi/man.cgi?query=copy_file_range&sektion=2&n=1 https://man7.org/linux/man-pages/man2/ioctl_ficlone.2.html https://keith.github.io/xcode-man-pages/clonefile.2.html https://keith.github.io/xcode-man-pages/copyfile.3.html
show more ...
|
| #
d8bceb14 |
| 02-Jan-2022 |
Glenn Strauss <[email protected]> |
[mod_webdav] copy_file_range() new in FreeBSD 13
(take 2)
adjust feature defines for header visibility of copy_file_range() (introduced in FreeBSD 13)
x-ref: https://redmine.lighttpd.net/issues/
[mod_webdav] copy_file_range() new in FreeBSD 13
(take 2)
adjust feature defines for header visibility of copy_file_range() (introduced in FreeBSD 13)
x-ref: https://redmine.lighttpd.net/issues/3128 https://github.com/freebsd/freebsd-src/blob/main/sys/sys/cdefs.h#L634
show more ...
|