Expand description
This library contains caldav and carddav clients.
See CalDavClient
and CardDavClient
as a useful entry points.
Both clients wrap a dav::WebDavClient
, and implement Deref<Target = DavClient>
, so all
of WebDavClient
’s associated functions for are usable directly.
§Service discovery
DNS-based service discovery is implemented in sd::find_context_url
.
The implementation does not validate DNSSEC signatures. Because of this, discovery must only be used with a validating DNS resolver (as defined in rfc4033), or with domains served from a local, trusted networks.
§Hrefs
All href
strings returned by the server are unquoted by this library before being returned to
consumers. I.e.: you should assume that all href
s have been url-decoded for you.
All functions that take a parameter named href
(or similar ones like calendar_href
) expect
their input to NOT be URL-encoded. I.e.: you do not need to perform any quoting.
§Thanks
Special thanks to the NLnet foundation and the NGI Zero Entrust program of the European Commission, which helped secure funding for the work on pimsync and related projects such a this one.
§See also
The source code is currently hosted at https://git.sr.ht/~whynothugo/libdav.
Modules§
- Generic WebDAV implementation.
- Names of common dav attributes and properties.
- Service discovery helpers.
- Utilities for handling XML data.
Structs§
- Client to communicate with a CalDAV server.
- Client to communicate with a CardDAV server.
- Parsed resource fetched from a server.
- See
FetchedResource
- Error type for
CalDavClient::find_calendar_home_set
andCardDavClient::find_address_book_home_set
. - Details of a single item that are returned when listing them.
- A WebDAV property with a
namespace
andname
. - Resource type for an item.
Enums§
- Error type for
CalDavClient::check_support
andCardDavClient::check_support
.
Functions§
- Return the service type based on a URL’s scheme.
- Return the service type based on a URL’s scheme.