feat: CalDAV foundation — HTTP methods and XML parser
Add PROPFIND and REPORT to HttpMethod enum for CalDAV protocol support. Implement minimal XML parser (caldav_xml.hpp) for CalDAV response parsing: namespaced tags, attributes, CDATA, entity references, self-closing elements. Bounded by max depth and size to prevent allocation bombs.
This commit is contained in:
@@ -26,6 +26,7 @@ nocal_sources = files(
|
||||
'src/domain/month_layout.cpp',
|
||||
'src/storage/ics_store.cpp',
|
||||
'src/storage/sync_cache.cpp',
|
||||
'src/sync/caldav_xml.cpp',
|
||||
'src/sync/curl_http.cpp',
|
||||
'src/sync/desktop_oauth.cpp',
|
||||
'src/sync/microsoft_account.cpp',
|
||||
@@ -114,6 +115,10 @@ unicode_tests = executable('unicode-tests',
|
||||
'tests/unicode_tests.cpp', dependencies: nocal_dep)
|
||||
test('nocal:unicode', unicode_tests)
|
||||
|
||||
caldav_xml_tests = executable('caldav-xml-tests',
|
||||
'tests/caldav_xml_tests.cpp', dependencies: nocal_dep)
|
||||
test('caldav-xml', caldav_xml_tests)
|
||||
|
||||
test('cli-recovery', shell,
|
||||
args: [files('tests/cli_recovery_test.sh'), nocal_executable])
|
||||
test('cli-transfer', shell,
|
||||
|
||||
Reference in New Issue
Block a user