Commit Graph

72 Commits

Author SHA1 Message Date
Lefteris Chatzimparmpas 249c4814c8 Prepare release v2.5. 2012-02-23 19:18:59 +01:00
Lefteris Chatzimparmpas aa3b145ee0 Change SSL variables' names in session structure. 2012-02-23 19:18:09 +01:00
Lefteris Chatzimparmpas a5e0eda29b Skip normal SSL shutdown only after an error
This disables sending the "close notify" shutdown alert after a network
failure took place.
2012-02-23 17:58:54 +01:00
Lefteris Chatzimparmpas 5011966115 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.
2012-02-23 00:04:10 +01:00
Lefteris Chatzimparmpas 861aa6fd45 Keep trying when a connection has been restored. 2012-02-23 00:03:23 +01:00
Lefteris Chatzimparmpas 8c468f585f 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.
2012-02-22 18:59:28 +01:00
Lefteris Chatzimparmpas 83e406b70e Distinguish SSL read/write error messages printed. 2012-02-22 18:58:35 +01:00
Lefteris Chatzimparmpas 239435ba9e Use the same quotation for all the strings. 2012-02-22 18:57:54 +01:00
Lefteris Chatzimparmpas befefb55a1 Name better the public shortcut function. 2012-02-22 18:56:45 +01:00
Lefteris Chatzimparmpas dda48edbab Replace simple function with a static string. 2012-02-22 18:55:38 +01:00
Lefteris Chatzimparmpas 3f1059b355 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.
2012-02-22 08:18:38 +01:00
Lefteris Chatzimparmpas 95ce717bcf Add shortcuts to some possibly useful functions. 2012-02-21 20:13:55 +01:00
Lefteris Chatzimparmpas 51da675056 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.
2012-02-21 17:49:38 +01:00
Lefteris Chatzimparmpas 8b0e8943e3 Don't allow a login if a session already exists. 2012-02-21 17:48:22 +01:00
Lefteris Chatzimparmpas 18940cc9f2 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.
2012-02-21 01:04:24 +01:00
Lefteris Chatzimparmpas 6a1771da04 Avoid closing the connection twice
If there's a network problem the connection has been already closed in
the relevant socket read/write functions.
2012-02-21 00:23:32 +01:00
Lefteris Chatzimparmpas f78ed3c3d7 Add forgotten mailbox close command. 2012-02-21 00:12:23 +01:00
Lefteris Chatzimparmpas 4160f7c708 Set default network timeout value to 60. 2012-02-20 00:09:14 +01:00
Lefteris Chatzimparmpas 81b09d1f01 Print some details on append and fetch actions. 2012-02-19 23:56:54 +01:00
Lefteris Chatzimparmpas 644d6988ed 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.
2012-02-19 14:58:36 +01:00
Lefteris Chatzimparmpas cf33e1bb61 Correct the option order in the usage details. 2012-02-19 13:40:31 +01:00
Lefteris Chatzimparmpas 7199aa249f Update the -d option and its description
Some of the descriptions of the other options have been also updated.
2012-02-19 13:25:47 +01:00
Lefteris Chatzimparmpas 6d39df8b70 Remove the BUGS section. 2012-02-19 13:25:05 +01:00
Lefteris Chatzimparmpas e907fe5fdf 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.
2012-02-19 12:36:44 +01:00
Lefteris Chatzimparmpas 820e9db522 Correct some small details here and there. 2012-02-16 18:49:57 +01:00
Lefteris Chatzimparmpas b67ae8209b Print a debug message on connection recovery. 2012-02-16 18:49:20 +01:00
Lefteris Chatzimparmpas 14091fc7bf 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.
2012-02-15 22:20:19 +01:00
Lefteris Chatzimparmpas 69b4207db1 Reset session and selected mailbox after logout. 2012-02-15 21:32:49 +01:00
Lefteris Chatzimparmpas 23f1257c3f Correct SSL error reporting during a failure. 2012-02-15 20:48:46 +01:00
Lefteris Chatzimparmpas c7f507e76f Close connection when an account is deleted
Added a __gc metamethod to take care of the finalization of active
connections by logging out, when an account is deleted, or at the end of
the configuration (for Lua 5.2).
2012-02-15 19:45:40 +01:00
Lefteris Chatzimparmpas 89c1366665 Correct reference to a deprecated function. 2012-02-15 19:44:46 +01:00
Lefteris Chatzimparmpas 64df3b0682 Get NAMESPACE only the first time to login
The NAMESPACE doesn't need to be retrieved after each recovery.
2012-02-15 08:42:23 +01:00
Lefteris Chatzimparmpas fe5f789f8e Fix disabled STARTTLS functionality. 2012-02-15 08:41:13 +01:00
Lefteris Chatzimparmpas 2cafede975 Use session pointer to denote accounts
Instead of the account details, a pointer to the C structure is used in
Lua, stored as light userdata.

The 1.x deprecated configuration format has been removed, partly due to
the above change, and partly because it has been included for long
enough now.
2012-02-14 22:13:15 +01:00
Lefteris Chatzimparmpas 05a358133e Fix problem with the recover functionality
The whole function that implements a request needs to be called again,
when there is a failure that leads to re-login, and not just the last
receive or send function that failed.
2012-02-14 21:52:29 +01:00
Lefteris Chatzimparmpas 09b2cc3a25 Hide passwords from logs
After the last code refactoring, the hiding of the passwords from logs
feature was left out accidentally.
2012-02-14 20:30:50 +01:00
Lefteris Chatzimparmpas df1e0c172b Refactor the code that handles the client requests
The functions that send the client requests to the server have been
simplified, as a layer of abstraction has been removed.
2012-02-12 22:00:18 +01:00
Lefteris Chatzimparmpas 2c70382775 Remove control structures' optional parentheses. 2012-02-11 22:55:03 +01:00
Lefteris Chatzimparmpas 18b012c2a2 Improve robustness and recoverability
Many extensive changes were made to better handle network errors, while
on some cases it is now possible to recover from previously fatal
failures.
2012-02-11 22:47:08 +01:00
Lefteris Chatzimparmpas dc5b33b60a Port to Lua 5.2. 2012-02-05 13:29:43 +01:00
Lefteris Chatzimparmpas a6148a4466 Abort when there's a login failure. 2012-02-02 22:21:41 +01:00
Lefteris Chatzimparmpas 3f752cb4cc Prepare release v2.4.2. 2012-01-19 20:24:29 +01:00
Lefteris Chatzimparmpas ca00acce8a Update copyright year to include 2012. 2012-01-19 01:37:26 +01:00
Lefteris Chatzimparmpas e03e52dba2 Correct international mailbox names conversions
Some ASCII characters in mailbox names where converted to UTF-7 while
they shouldn't.
2012-01-19 01:26:27 +01:00
Lefteris Chatzimparmpas 8512da1940 Correct passwords example. 2012-01-18 19:38:26 +01:00
Lefteris Chatzimparmpas 0a8f5580ed Prepare release v2.4.1. 2011-12-08 22:32:01 +01:00
Lefteris Chatzimparmpas 19de9b8d8e Document additional arguments of become_daemon(). 2011-12-08 22:30:05 +01:00
Lefteris Chatzimparmpas e8b5fdd7d6 Fix become_daemon() call to ifsys.daemon()
Make sure that the two optional arguments of ifsys.daemon() are of type
boolean as expected.
2011-12-08 20:37:26 +01:00
Lefteris Chatzimparmpas 94cd8016b4 Correct indentation. 2011-12-08 20:36:45 +01:00
Lefteris Chatzimparmpas 3b885bf834 Prepare release v2.4. 2011-12-06 22:46:49 +01:00