Commits on Feb 29, 2012
  1. Prepare release v2.5.2.

    committed Feb 29, 2012
  2. Ignore errors and retry later when in daemon mode

    A persistent failure that could lead to a session not being able to be
    recovered, or a failure during the login process (which is not covered
    by the recovery function), would normally cause the process to
    terminate.  This is expected when the configuration is run once, but not
    desirable when running in daemon mode.
    And thus just after the process has become a daemon, a session that
    could not be restored, either because the connection to the server could
    not be established or the login and its related negotiations failed, is
    now disabled temporarily, and a recoqnection is attempted at the
    beginning of the next daemon loop iteration.
    There is one exception to that, and that is when there is an
    authentication error, for example when a wrong username or password has
    been supplied, and in this case the process terminates and a relevant
    error is printed.
    committed Feb 29, 2012
Commits on Feb 28, 2012
  1. Improve the failure handling during login/logout

    Some of the requests/responses need to close connection, while some
    Also, now a login error returns a different status value.
    committed Feb 28, 2012
Commits on Feb 27, 2012
  1. Prepare release v2.5.1.

    committed Feb 27, 2012
  2. Check function return values during login/logout

    The login and logout requests are not candidates for recovery, but the return
    values of all the network functions that are called from inside them, should be
    checked thorougly.
    committed Feb 27, 2012
  3. Add support to recover when BYE is received

    Previously only network errors could cause a restoration of a session,
    but now a BYE response sent by the server can also trigger it.
    An option has been also added to control if and when the recover
    function will be called.
    committed Feb 27, 2012
  4. Forward the BYE response properly all the way up

    Some methods didn't return the correct value when a BYE response was
    received from the server.
    committed Feb 27, 2012
Commits on Feb 24, 2012
  1. Prepare release v2.5.

    committed Feb 23, 2012
  2. Skip normal SSL shutdown only after an error

    This disables the sending of the "close notify" shutdown alert, only
    after a network failure took place, and not during normal closing of a
    committed Feb 23, 2012
Commits on Feb 22, 2012
  1. Ignore network errors during logout

    In case of a network failure during a logout request, there's no point
    in restoring the connection, but it is better to just close it.
    committed Feb 22, 2012
  2. Fix the fatal failure caused by an SSL error

    When a "Connection reset by peer" error was caused while reading through SSL, a
    restoration of the session should have taken place after all the connection
    related structures were resetted.  But instead a silent, unexpected and
    unaccountable exit was the end result.  This was caused by the underlying
    socket being closed while trying to shutdown the SSL session.
    committed Feb 22, 2012
  3. Use newly added helper functions for common checks

    Some of the functionality that was repeated in many places, regarding checks
    and printing of informational messages, was replaced with common functions.
    committed Feb 22, 2012
Commits on Feb 21, 2012
  1. Don't do a protected call for the daemon commands

    The errors produced by the ifcore module methods are important and thus
    should not be ignored.
    committed Feb 21, 2012
  2. Make all the calls that pass the session safe

    The session and selected variables should be reset if there has been a
    connection problem or other failure.
    The ifcore module methods that rely on the session should only be called
    if there is a valid session variable defined.
    committed Feb 21, 2012
Commits on Feb 20, 2012
  1. Avoid closing the connection twice

    If there's a network problem the connection has been already closed in
    the relevant socket read/write functions.
    committed Feb 20, 2012
Commits on Feb 19, 2012
  1. Correct the TRYCREATE functionality

    It's better not to continuesly try to create a mailbox, when the server
    continues to report TRYCREATE.
    When appending messages it failed to create a mailbox when the mailbox
    didn't exist and the server responded with TRYCREATE.
    committed Feb 19, 2012
  2. Update the -d option and its description

    Some of the descriptions of the other options have been also updated.
    committed Feb 19, 2012
  3. Remove the BUGS section.

    committed Feb 19, 2012
  4. Make OpenSSL a mandatory requirement

    There is no point in having SSL/TLS IMAP support as optional, it's as
    useful if not more than the the non-encrypted connections.
    The Makefile was better organized to make it easier to change some
    options during compile.
    The SHAREDIR variable passed as configuration option has changed name.
    committed Feb 19, 2012
Commits on Feb 16, 2012
Commits on Feb 15, 2012
  1. Use Lua strings for common account details

    Instead of using duplicates in the C structure, the Lua strings are used
    directly from C for the accounts' details.
    committed Feb 15, 2012