Skip to content
  1. Mar 05, 2018
  2. Feb 28, 2018
  3. Feb 27, 2018
  4. Feb 05, 2018
  5. Jan 29, 2018
  6. Jan 25, 2018
  7. Jan 24, 2018
  8. Jan 16, 2018
    • Milan Crha's avatar
      [IMAPx] Select destination mailbox only when permanentflags not known yet · 01e5a25a
      Milan Crha authored
      The previous code meant that whenever a UID COPY/MOVE had been issued
      a SELECT to the destination folder and then (eventually back) to the source
      folder was done as well, even when it was not needed. Doing the destination
      folder SELECT only when needed speeds up message filtering by skipping
      unnecessary SELECT commands.
      01e5a25a
  9. Jan 11, 2018
    • Milan Crha's avatar
      Prevent early free of an ESource when it has pending operations · deade53c
      Milan Crha authored
      It could happen, in some situations, that an ESource could be freed
      in a dedicated thread, while it had been in use in an idle callback.
      As it held a corresponding mutex, the crash happened in the finalize()
      function, when it had been tried to free that locked mutex.
      
      The change removes obsolete members from the private structure of
      the ESource and references itself for the idle callbacks. Even it
      avoids early free (and idle callback cancellation in the dispose()),
      it will make sure that the ESource will not disappear while the idle
      callback is running, the same as it'll avoid some other races around
      this situation.
      
      It had been reported downstream at:
      https://bugzilla.redhat.com/show_bug.cgi?id=1533442
      deade53c
  10. Jan 08, 2018
  11. Jan 05, 2018
  12. Jan 04, 2018
  13. Jan 02, 2018
  14. Dec 11, 2017
  15. Dec 06, 2017
  16. Dec 05, 2017
  17. Nov 28, 2017
  18. Nov 27, 2017
  19. Nov 23, 2017
    • Eloi Vanderbeken's avatar
    • Milan Crha's avatar
      Bug 790267 - Expired Google OAuth2 token not refreshed ][ · afdce148
      Milan Crha authored
      Book/calendar part didn't work properly. Its workflow was:
      a) try with empty credentials => fail with CREDENTIALS_REQUIRED response
      b) source registry noticed it and asked for credentials, but
         the Google provider returned no credentials when reading them
         from the store (due to expired access token)
      c) left the source wait for credentials until they are provided
         by some GUI application
      d) in case of Evolution it could show either "Unknown error" or
         "Credentials required" error in the UI, instead of refreshing
         the token.
      
      This changes the b) in a way that when the lookup fails, but it still
      can read credentials, only the token is expired, then it'll refresh it
      and save, which will connect the book/calendar without a need for a GUI
      application with running credentials prompter.
      afdce148
    • Milan Crha's avatar
      [CalDAV/CardDAV] Always set error on failed connection attempt · 81473096
      Milan Crha authored
      It had been finishing with no error set, but failure, when no credentials
      had been provided. This could lead to "Unknown error" errors shown in
      the UI for Google calendars/books with stored expired access tokens.
      81473096
  20. Nov 21, 2017
    • Milan Crha's avatar
      [OAuth2] Enhance how expired or invalid access tokens are handled · d49070c1
      Milan Crha authored
      With respect of ESoupAuthBearer (used mainly with CalDAV), the missing
      implementation of the e_soup_auth_bearer_update() could cause repeated
      requests with the invalid access token, which had been eventually
      aborted after many tries by libsoup with a runtime warning:
      "SoupMessage <pointer> stuck in infinite loop?"
      The change makes the access token expired in such case, which stops
      the cycle early and doesn't increase the error counter on the server.
      
      The GData authorizers didn't consider expiration time at all.
      d49070c1
    • Milan Crha's avatar
      [SMTP] Recognize rejected credentials during SASL authentication · 42e54328
      Milan Crha authored
      Instead of reporting rejected credentials when the server returned
      such code during SASL authentication cycle the code returned error
      instead, which didn't give a chance to prompt for the credentials.
      42e54328
  21. Nov 20, 2017
  22. Nov 15, 2017
  23. Nov 14, 2017
  24. Nov 13, 2017
  25. Nov 10, 2017
    • Milan Crha's avatar
      [CamelOfflineStore] Incorrect disconnect when going online · dfc537e3
      Milan Crha authored
      When a CamelOfflineStore had been going online, the other calls inside
      the function could connect the store, but the function used the connection
      state from the beginning of the function (stored in a variable), which
      means it could be using obsolete information. Another thing had been that
      the disconnect doesn't make sense when the store is going online and
      when it is either disconnecting or disconnected already.
      dfc537e3
  26. Nov 06, 2017