History log of /lighttpd1.4/src/mod_webdav.c (Results 1 – 25 of 255)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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 ...


1234567891011