1. 02 Jun, 2020 1 commit
    • blam's avatar
      [buteo-sync-plugin-carddav] Fix handling of empty contact name. JB#48429 · 323e63d6
      blam authored
      Fix some cases that occur when both first and last name are empty for
      a contact:
      
      - The "N" field was set to a string containing semicolons, and this
      string was escaped when encoded by QVersitWriter. To avoid this
      escaping, add the property as a string list CompoundType instead of a
      string.
      
      - Don't include the first/last name in the "N" values as the display
      label is already added to the "FN" field anyway.
      323e63d6
  2. 15 Aug, 2019 1 commit
  3. 02 Apr, 2019 3 commits
  4. 11 Mar, 2019 1 commit
  5. 02 Nov, 2017 1 commit
  6. 09 May, 2017 3 commits
  7. 27 Feb, 2017 1 commit
  8. 12 Dec, 2016 1 commit
  9. 01 Apr, 2016 1 commit
  10. 07 Mar, 2016 1 commit
  11. 04 Mar, 2016 1 commit
    • chriadam's avatar
      [buteo-sync-plugin-carddav] Support non-unique UIDs. Contributes to MER#1535 · c23a328c
      chriadam authored
      RFC6352 only requires that the UID be unique within a single collection
      (addressbook).  This commit makes our plugin mangle the UID into a
      GUID which includes the addressbookUrl information, to ensure that
      we support non-unique UIDs via unique GUIDs.
      
      It also does duplication detection to determine whether the duplicated
      UID is due to the same contact existing in multiple addressbooks,
      or due to two different contacts (who happen to have the same UID)
      being in different addressbooks.  Detecting duplicates requires some
      heuristic detection of significant differences between contacts.
      
      Contributes to MER#1535
      c23a328c
  12. 30 Oct, 2015 1 commit
  13. 29 Oct, 2015 1 commit
    • chriadam's avatar
      [buteo-sync-plugin-carddav] Ignore addressbook-home-set response to... · 0bd348a8
      chriadam authored
      [buteo-sync-plugin-carddav] Ignore addressbook-home-set response to addressbook information request. Contributes to MER#1304
      
      This commit ensures that we ignore any addressbook-home-set element
      in the response to the addressbook information request, as some
      implementations will return both addressbook-home-set and addressbook
      collection information in response to the addressbook information
      request.
      
      Contributes to MER#1304
      0bd348a8
  14. 14 Oct, 2015 3 commits
    • chriadam's avatar
      [buteo-sync-plugin-carddav] Proceed if MethodNotAllowed encountered on upsync.... · 97b0e80c
      chriadam authored
      [buteo-sync-plugin-carddav] Proceed if MethodNotAllowed encountered on upsync.  Contributes to MER#1304
      
      This commit ensures that we continue the sync even in the case where
      the server returns a HTTP 405 MethodNotAllowed error on upsync.
      In that case, the server has a Read-Only (or Modify-Only) policy
      for the given collection.  We should not fail the entire sync,
      but some conflict resolution will occur on next sync.
      
      Contributes to MER#1304
      97b0e80c
    • chriadam's avatar
      Improve vCard generation code · 9c7d183e
      chriadam authored
      This commit improves the vCard generation by:
      - ensuring that FN field is present in the final result
      - removing X-GENDER if the value is "Unspecified"
      9c7d183e
    • chriadam's avatar
      [buteo-sync-plugin-carddav] Improve addressbook-set parsing. Contributes to MER#1304 · 1cacb80a
      chriadam authored
      This commit adds support for parsing addressbook-set responses which
      include multiple propstat elements.  Previously, this adapter assumed
      that only one propstat per response would be returned.
      
      Some services (e.g. Cozy) return multiple propstat elements, some with
      404 NOT FOUND status values, in order to communicate the lack of some
      non-essential properties (e.g., displayname).
      
      This commit also allows syncing of addressbook collections for which
      no sync-token or c-tag are provided by the remote server.  In that
      case, we do manual delta detection.
      
      Contributes to MER#1304
      1cacb80a
  15. 05 May, 2015 1 commit
    • chriadam's avatar
      [buteo-sync-plugin-carddav] Skip path discovery if addressbook home path is... · 88825579
      chriadam authored
      [buteo-sync-plugin-carddav] Skip path discovery if addressbook home path is given. Contributes to MER#957
      
      This commit allows the initial path discovery steps to be skipped if
      the user has specified the addressbook home set path during account
      creation (relies on the "addressbook_path" account setting).
      
      Contributes to MER#957
      88825579
  16. 04 May, 2015 1 commit
    • chriadam's avatar
      [carddav] Improve delta detection. Contributes to MER#941 · 65b2d16e
      chriadam authored
      This commit improves the delta detection used by the CardDAV plugin
      when determining the local A/M/R (add/modify/remove) sets, by
      ignoring PHOT and X-FAVORITE field changes, and TEL+URL subtype
      changes during delta detection, as these can be supported differently
      depending on the CardDAV service.
      
      Note that any local change to these details/fields WILL be upsynced
      but only if a different change also occurs to the contact (so that
      the contact will be detected as "changed").
      
      Contributes to MER#941
      65b2d16e
  17. 25 Mar, 2015 1 commit
  18. 06 Mar, 2015 2 commits
  19. 14 Jan, 2015 1 commit
    • Chris Adams's avatar
      [carddav] Improve bootstrapping procedure · 1fe6c4f5
      Chris Adams authored
      This commit improves the bootstrapping procedure to follow RFC 6764.
      The steps it follows are:
      1) try the given server url (including path)
      2) if fails, try the well-known endpoint
      3) if fails, try the root URI
      3) if fails, abort.
      1fe6c4f5
  20. 13 Jan, 2015 1 commit
    • Chris Adams's avatar
      [carddav] Support .well-known/carddav endpoint · cbf82a31
      Chris Adams authored
      This commit adds support for the .well-known/carddav endpoint by
      accepting redirect responses for requests to that path, and by using
      that path in the first request in the carddav sequence (ie, the
      user-information-request) if the base-url (or server url) does not
      have a path specified.
      cbf82a31
  21. 12 Sep, 2014 1 commit
  22. 11 Aug, 2014 1 commit
    • chriadam's avatar
      [carddav] Support addressbook-info responses to user-principal requests · 09008b37
      chriadam authored
      Some CardDAV server implementations do not return the expected response
      to user-principal requests, but instead return addressbook-info data.
      This commit adds detection for that case and skips the intermediate
      discovery steps when such a response is returned by the server.
      
      Also, some CardDAV server implementations return a propfind request
      response which includes information for the addressbook resource,
      as well as any contact resources within that addressbook.  This commit
      adds code to detect that case and ignore the result data for the
      addressbook resource which is spurious.
      
      Together, these changes add support for Memotoo CardDAV server.
      09008b37
  23. 08 Aug, 2014 1 commit
    • chriadam's avatar
      [carddav] Improve debug logging · 28925261
      chriadam authored
      This commit adds a lot of debug logging to aid code tracing.
      Run msyncd with MSYNCD_LOGGING_LEVEL=7 for output.
      28925261
  24. 05 Aug, 2014 1 commit
  25. 04 Aug, 2014 1 commit
  26. 08 Jul, 2014 1 commit