Took further notes in README for future reference in order make the server feature complete.
This commit is contained in:
18
README.md
18
README.md
@@ -7,15 +7,15 @@ This server is a single Nginx module attempting to be a fully-fledged WebDAV ser
|
||||
|
||||
- [x] APIs lenient enough to work with all clients in contrast to the native Nginx webdav module
|
||||
|
||||
- [ ] WebDAV PROPPATCH method
|
||||
- [ ] WebDAV PROPPATCH method, ideally by calling the server itself to ensure proper function
|
||||
|
||||
- [ ] <d:getetag /> checksums for more robust client syncing
|
||||
- [ ] <d:getetag /> checksums for more robust client syncing, the checksums are saved in a file based db in each folder* see below
|
||||
|
||||
- [ ] optional locking and unlocking in redis
|
||||
- [ ] optional locking and unlocking in redis for clusters
|
||||
|
||||
- [ ] support of <d:creationdate /> standard posix apis should be good enough
|
||||
- [ ] support of <d:creationdate /> **check the section below
|
||||
|
||||
- [ ] support of <d:getcontenttype /> need to find apis to access the mime.types include file// try finding in the source code ways to access types?
|
||||
- [ ] support of <d:getcontenttype /> copy the source code of mime.types into the code and use it to discern the content type
|
||||
|
||||
- [ ] support of <d:getcontentlanguage /> "en" or dont implement
|
||||
|
||||
@@ -23,6 +23,14 @@ This server is a single Nginx module attempting to be a fully-fledged WebDAV ser
|
||||
|
||||
- [x] functional testing suite
|
||||
|
||||
# * <d:getetag />
|
||||
There are two choices in order to generate the hash: ngx_hash and the xxhash library.
|
||||
There are also two choices for the storage of the hashes: redis with hiredis (with persistence) and a berkeleydb(https://github.com/berkeleydb/libdb) file named .checksums in each folder.
|
||||
|
||||
# ** <d:creationdate />
|
||||
To get the creation date of a file ctime(&sb.st_ctime)) can be used (check out man 2 stat). But ctime does not represent file creation time but metadata change (eg inode changes such as hard links).
|
||||
To implement this feature two choices are available, either a .creationtimes database file in each folder that keeps track of the creation time of each file or depending on the crtime api that is supported by some filesystems and keeps track of the birth time of the file.
|
||||
|
||||
# Was this written from zero?
|
||||
The native nginx dav_module has been integrated with a few changes for client compatibility. This solves some very difficult problems with client compatibility:
|
||||
|
||||
|
||||
Reference in New Issue
Block a user