Crate libdav

source
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 hrefs 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§

Enums§

Functions§