The project "Citadel server, clients, utilities":

    The branch, master has been updated
       via  ceeb0cbdd36f6678bf288fc12462bf4810803d50 (commit)
       via  04309973f5aba899174c452836bff3db5ce8649f (commit)
       via  db338ed14fc5424546b025e0b2d4ae8e019ffe3f (commit)
      from  659c5695ec306ac694ed66e66ef80798869e7174 (commit)


- Log -----------------------------------------------------------------
commit ceeb0cbdd36f6678bf288fc12462bf4810803d50
Author: Art Cancro <[email protected]>
Date:   Mon Oct 20 20:49:55 2025 -0400

Split room list dispatcher into GET and PROPFIND paths; declare DAV: 1, 3 
support

- Updated root OPTIONS handler to advertise DAV level 3 (extended collections)
- Refactored room_list() into a protocol-aware dispatcher
- Validates method (GET or PROPFIND)
- Issues LKRA once, then branches by method
- Added room_list_get() for Citadel-native JSON output
- Stubbed room_list_propfind() for future DAV multistatus XML
- Introduced <stdbool.h> and replaced int with bool for method flag
- Preserved assert(0) as control flow checksum

This lays the groundwork for DAV-native room discovery while preserving Citadel 
semantics.

commit 04309973f5aba899174c452836bff3db5ce8649f
Author: Art Cancro <[email protected]>
Date:   Sat Oct 18 16:42:18 2025 -0400

Add DAV OPTIONS and PROPFIND handlers for / and /ctdl/

- Implement root_options() to advertise DAV support and allowed methods
- Implement root_propfind() to expose /ctdl/ as a DAV collection
- Implement ctdl_propfind() to expose /ctdl/r/ as a child collection
- Return static getlastmodified timestamps to avoid epoch fallback
- Wire handlers into perform_request() for OPTIONS and PROPFIND on /, /ctdl, 
/ctdl/, /ctdl/r, /ctdl/r/

commit db338ed14fc5424546b025e0b2d4ae8e019ffe3f
Author: Art Cancro <[email protected]>
Date:   Sat Oct 18 15:39:06 2025 -0400

Fix crash when Content-Type header is missing in HTTP request with body

Guard strncasecmp() call with null check to prevent segmentation fault when 
Content-Type is absent.
This resolves a reproducible crash triggered by sending a request with 
Content-Length and body,
but no Content-Type header. The parser now safely skips query parameter parsing 
in such cases.

-----------------------------------------------------------------------

Summary of changes:
 webcit-ng/server/http.c           |   2 +-
 webcit-ng/server/request.c        | 123 +++++++++++++++++++++++++++++++++++++-
 webcit-ng/server/room_functions.c |  50 +++++++++++++---
 webcit-ng/server/webcit.h         |   1 +
 4 files changed, 165 insertions(+), 11 deletions(-)

-- 
Citadel server, clients, utilities

Reply via email to