330041c14a44e40deee4670d725cf8ba8bc00673 |
|
07-Feb-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Fix IO after enabling SSL
io_add_istream() needs to be used with the SSL istream, otherwise it can
cause hangs. |
c211cfd6adff5131929ae23b157f7ea5f0d2cd9c |
|
26-Jan-2018 |
Sergey Kitov <sergey.kitov@open-xchange.com> |
lib-imap-client: continue imapc operation on parsing errors. |
f46e346cd445719f82bd3e2bf23f0b3d85a5e435 |
|
18-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Avoid "Unknown tag" errors for aborted commands
If mailbox is closed before all command replies were received, the commands
were aborted but they'll still receive the replies from server. Remember
the aborted commands' tag numbers so they can be ignored. |
f01978eb0a8cdf4d2ee4cfaaf09ca6f9e098b134 |
|
18-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Fix reason text when unselecting mailbox aborts commands |
a2c50587ddb4594b92586960505e627fa62adaef |
|
18-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Add asserts for reconnect_command_count |
3a1c410a2967031a314102dcbe8de6a553ea2e69 |
|
18-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Delay sending more commands while SELECT is running |
a62edde9abcfe1ed47fa05bd1fb2c8ba5f811e62 |
|
18-Jan-2018 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: After reconnection send retried commands last
Previously only SELECT was sent before others. This allows sending more
commands on reconnection before the retried commands. |
bcb4e51a409d94ae670de96afb8483a4f7855294 |
|
01-Jan-2018 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2018. |
d90a924480a061683786e459a2e1c1d0b6e4f1e4 |
|
12-Dec-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: timeout_remove(NULL) is a no-op |
c147bff818798a979d93537f72f5c1f68f5d5ba8 |
|
24-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Use t_buffer_create
sed -i -e 's/buffer_create_dynamic(pool_datastack_create(), */t_buffer_create(/g' |
19557f192d37cd54a1a090a8a26d9d47265e4413 |
|
01-Nov-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Fix spelling mistakes in comments
Original work by @andreasschulze and @jsoref |
a943ed0f901e312445fd393249b91932797bba79 |
|
03-Oct-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: use i_close_fd{,_path}() instead of open-coding them |
0d1b8b6bec79746c5d89d57dd8c1688946bd9237 |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on timeout_remove(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- timeout_remove(&E);
- }
+ timeout_remove(&E); |
5f1d689131a75c39f064cbd4202373e7edf78f18 |
|
19-Sep-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
global: start relying on io_remove{,_closed}(NULL) being a no-op
Cleanup performed with the following semantic patch:
@@
expression E;
@@
- if (E != NULL) {
- io_remove(&E);
- }
+ io_remove(&E);
@@
expression E;
@@
- if (E != NULL) {
- io_remove_closed(&E);
- }
+ io_remove_closed(&E); |
3b7427fca4b403ad87bafc668e23cbb0a15fc975 |
|
08-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Support sending IMAP ID command including unique x-session-ext-id |
baf7aa6b223a15d3fdd604b9ed1b2a810250e59c |
|
01-Aug-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Log an info-line when connected to remote server
Include the remote IP:port ad local IP:port. This allows matching the
connection with the remote server's logs (or e.g. haproxy logs). |
a345bc2d9fbad3d48ea124285e85d574698eeb96 |
|
12-Jun-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Fix hang when imapc_client_get_capabilities() is called without connection |
651630fe2c92b696197ca7558925153d891997ed |
|
19-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Change server IP only on connect() failures
Also log an warning-level message about it. This is mainly useful to see
that a slow connection could be caused by a connect() timeout. Since more
IPs are still available, it's not yet an error. |
78aafd062427cb22e9cf57ff08ced5b08baf55b3 |
|
19-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Fix infinite reconnection when server keeps sending corrupted state
When corrupted state was found, imapc_client_mailbox_reconnect() is called
to reconnect. This call skipped the normal "is it safe to reconnect?"
checks causing potentially infinite reconnections. |
e266d02220804645dae64e3939a4a677da584128 |
|
19-May-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Avoid infinite reconnection loops when retrying command fails
reconnect_command_count wasn't calculated correctly, because the SELECT and
potentially other following sync commands weren't included in it. |
40b989ef6d7a399136ccf636c7be37843a5e35dc |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Include "ms" in reconnect warning message |
23b8146dd6e07b7e34be0840e4ab76d0f0dd7018 |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Fix reconnection
There was already code for reconnection. We just shouldn't have gone very
far in imapc_connection_connect() if we were still waiting for reconnection
delay to pass. |
b884dafdd32a43c3c62bf9dbcc7a1a5df1409b0f |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Remove hardcoded IMAPC_CONNECT_RETRY_WAIT_MSECS
We have a setting for it now. |
09c2c5ad607de38a96c33c9064e635c4a26292ab |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Disconnection during LOGIN should still have state=disconnected
It's not an authentication failure, which would imply that the user or
password was wrong. |
cda5d635049991ef56b5096e29c4da8dc3c51c96 |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Make command tag counter externally accessible
This allows unit tests to reset it. |
f3e5f802fac1c2047e46b44b856116cca1cbf5df |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Call the public login callback exactly once.
Previously it was also called only once, as long as there were only a single
imap connection. (The current imapc code wouldn't create more than one
connection.) It was a bit confusing what the expectation was, so now the
callback is never called more than once. |
4727aef38f51e62e27b4f2c1b77fb5438ad5e733 |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Change connect_retry_interval_secs to _msecs
This allows caller to provide better precision. |
8f47ed142e1572151e38e70c3cb6b2fffc5ce6d0 |
|
10-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-imap-client: Use struct timeval for tracking last_connect time.
This provides better accuracy when calculating how much time there's left
until reconnection. |
fc1584e525d413183d37e1052081f3685a06c7fc |
|
05-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
imapc: Use IMAPC_COMMAND_STATE_AUTH_FAILED to indicate auth failure |
f498f60e737dba766d25c146a8f850c74b63515e |
|
05-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-imap-client: Do not reset ips when reconnecting
Avoids infinite loop |
52ca467ce6a2bccf23ec13380c8a245387f6a8ce |
|
05-Apr-2017 |
Dmitry Yakunin <d.yakunin@rambler-co.ru> |
imapc: Fix memory leak in disconnected state |
f67a8e413813284fc416c4b853f21246145a8e0a |
|
03-Apr-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Compiler warning fix for 32bit systems |
2744124e4f3cc4538cb6d3ba7f4fa7e090d7996e |
|
03-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-imap-client: Make authentication failures more consistent
This way they always say the same prefix, which is easier to
spot. |
a82e26d85d532106080d56d47aa8a16e1324fd39 |
|
03-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-imap-client: Call login_callback on all authentication failures |
138ec8765bc164774f16312b13d3a1f1523d4506 |
|
03-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-imap-client: Fix reconnection
This patch fixes reconnections to actually consider
all IP addresses first and then delay for interval and
retry at most retry count times. |
887518721c67f63301eb951883e41106825efaf6 |
|
03-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-imap-client: Remove io earlier to avoid hammering
If connection has failed and reconnection is not yet
possible, io has to be removed here, otherwise it will
keep hammering the callback. |
c515f5c969f7a3a5b525ab15bde2f116cbe932de |
|
03-Apr-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
lib-imap-client: Make retry count and interval configurable |
d35da39e688b94bb7e9adc6c865a45004c64a506 |
|
19-Mar-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Use LOGOUT to cleanly disconnect from server.
This makes it clearer in the remote server's logs whether the disconnection
was intentional or not.
Use a hardcoded 5 second timeout for LOGOUT. It should be enough time for
the server to finish sending the tagged reply. |
b3c095d1fb0bb86695d92c2045eb09e985623934 |
|
22-Feb-2017 |
Aki Tuomi <aki.tuomi@dovecot.fi> |
global: Fix ssl_set usage
Remove verify_remote_cert, as it's always TRUE now.
Set allow_invalid_cert to TRUE if verification is
not required. |
65148af5184cf08d854f539c28cf61d646f77d3a |
|
15-Feb-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-imap-client: pass the reply text to the auth-failed state change callback |
7d8fe66fbc53ab28d4e06492ca5a897743c0ee9c |
|
15-Feb-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-imap-client: invoke state change callback on "authentication success" |
e883e4406713e4cd6a3c98029cee00c537415f17 |
|
15-Feb-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-imap-client: add callback to notify consumers about state changes
Add a callback to notify imapc users about failures. Currently, the only
failure defined is "authentication failed". |
adb27e42fb81b32ecb37193a3ce443181172ee99 |
|
15-Feb-2017 |
Josef 'Jeff' Sipek <jeff.sipek@dovecot.fi> |
lib-imap-client: centralize authentication failed error logging |
3b94c8fb6952f5c0f284bd65fb1cb11bb1fe2e63 |
|
13-Jan-2017 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Fix re-sending retryable commands after reconnect |
2454dfa32c93c20a8522c6ed42fe057baaac9f9a |
|
01-Jan-2017 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
Updated copyright notices to include the year 2017. |
efe78d3ba24fc866af1c79b9223dc0809ba26cad |
|
24-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
global: Replaced all instances of memset(p, 0, sizeof(*p)) with the new i_zero() macro.
Used the following script:
C_FILES=`git ls-files *.c`
H_FILES=`git ls-files *.h`
for F in "$C_FILES $H_FILES"; do
echo "$F"
perl -p -i -e 's/safe_memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero_safe(&$1)/g' $F
perl -p -i -e 's/safe_memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero_safe($1)/g' $F
perl -p -i -e 's/memset\(&\(?([^,]*)\)?,\s*0,\s*sizeof\(\g1\)\)/i_zero(&$1)/g' $F
perl -p -i -e 's/memset\(([^,]*),\s*0,\s*sizeof\(\*\g1\)\)/i_zero($1)/g' $F
done |
2c5c293940fd6c7e020e1d58dae77a9d01f9059b |
|
23-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
*-login, imapc: Fix new lib-sasl API usage
Forgot to include these in a669d351502e15802b121e1a0bd83f27d1d95f01 |
4584794477433c420554f70094dbf56c85986982 |
|
17-Dec-2016 |
Stephan Bosch <stephan.bosch@dovecot.fi> |
lib-imap-client: Fixed boolean vs integer mixup in debug message format argument.
Found with Clang -Wstrict-bool. |
5c0d3b064bd0107e062de40732bdc0250e4d9d57 |
|
17-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Minor debug logging improvement |
bc6b363c7b1b284ddbb5e2774e53b3da123d630e |
|
17-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Don't retry a failed reconnection before 10 secs have passed
This mainly avoids a lot of unnecessary connect attempts within a short
time period, for example if the caller attempts to perform some work for
all the mailboxes. |
af577c113808263cb7a9b8121e1c91ecaedacb59 |
|
17-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Fix infinite reconnect loop to remote server that is down
This happened only in some situations. Usually there would have bene some
command in the queue, which would cause the reconnect-check to fail. |
2ac5f36aa7c2e7a07ba8815d43a6d7483f62e74c |
|
16-Dec-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Change string position/length from unsigned int to size_t
Mainly to avoid truncating >4GB strings, which might potentially cause
some security holes. Normally there are other limits, which prevent such
excessive strings from being created in the first place.
I'm sure this didn't find everything. Maybe everything could be found with
compiler warnings. -Wconversion kind of does it, but it gives way too many
unnecessary warnings.
These were mainly found with:
grep " = strlen"
egrep "unsigned int.*(size|len)" |
4b1781e4c64be52e25b5994e5242dbe696cc7d29 |
|
20-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Use i_strchr_to_next() wherever useful. |
c23ebb9b0e0b760ca8da16fde34ff33f5ece5e07 |
|
06-Oct-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Added imapc_max_line_length to limit maximum memory usage.
The default is still unlimited, but this should be set to something smaller
for untrusted servers. |
c5924dd8f129d6d5ba77e33d25e83a3700deafb1 |
|
06-Jul-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Removed redundant corking in ostream flush callbacks. |
095481fee84040436ce2dccca472c9bb1df4d5bb |
|
16-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
lib-ssl-iostream: Changed require_valid_cert -> allow_invalid_cert
We should default to being safe. |
0dffa25d211be541ee3c953b23566a1a990789df |
|
06-Jun-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: unsigned int:1 -> bool:1
perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch] |
e93184a9055c2530366dfe617e07199603c399dd |
|
06-Jun-2016 |
Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi> |
lib: remove autoclose parameter from [io]_stream_create_fd
Use [io]_stream_create_fd_autoclose() for autoclose. |
378e6cb162b355d6f103526505bc00b9a78962e7 |
|
30-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
o_stream_send_istream() API changed again
The new API enforces the caller to correctly handle all the possible
situations. It also makes in unambiguous whether to wait for input or
output stream. |
7bb371485650002935888b2f9b72b23aba5a5d9a |
|
29-May-2016 |
Stephan Bosch <stephan@dovecot.fi> |
lib-imap: imap-parser: Made the fatal result parameter of imap_parser_get_error() optional. |
d04f3e064ceb2ba1d734182937a7115739ebadbe |
|
18-May-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: Simplify code with the new o_stream_send_istream() API |
e4020d174b147924a279a3b608e0223a2c234c2b |
|
12-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Support retrying after connect() failure. |
1e85b60d6b89f5c0f195a6ffe84eacbc5d5cd5fa |
|
12-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Support retrying after connect/authentication timeouts. |
3153bce79e1260a13796d7471597b6360b2da0d1 |
|
12-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Support retrying for non-mailbox commands. |
b60daa2dcb94b129a25ab5b42a2c6b6748c781aa |
|
12-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Prepare for non-mailbox command retrying: Set reconnect_command_count earlier
This probably doesn't fix itself anything yet, but is needed for the
following changes. |
5e02162c536e5dd50198828b121f24590a0158bd |
|
12-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Fixed checking of whether same IMAP command keeps crashing server.
reconnect_command_count was counting only the post-login commands, but we
were decreasing it also for pre-login commands. This caused it to shrink to
0 too early. |
8cd9a1249c3b7fe16150ddae46e1ae0fc639e220 |
|
12-Apr-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Code cleanup - Use a common function for checking/logging if we want to reconnect or disconnect |
72020d0a38297671d8a83c781f3641ce24a12b5f |
|
24-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: If command times out, reconnect and retry if possible. |
bd06c77a12bb02871b25dceb749fa955f4a272ff |
|
16-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
imapc: Added support for PROXYAUTH command by setting imapc_features = proxyauth
This can be useful when talking to Sun/Oracle IMAP server, which wants you
to use LOGIN+PROXYAUTH to perform master user logins, instead of supporting
the standard SASL PLAIN authentication. |
02c335c23bf5fa225a467c19f2c063fb0dc7b8c3 |
|
12-Jan-2016 |
Timo Sirainen <timo.sirainen@dovecot.fi> |
global: freshen copyright
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-5]/$1-2016/g;s/ (201[0-5]) Dovecot/ $1-2016 Dovecot/' |
0de8aaf4e265a0663380a6ae28ed571a37aee015 |
|
15-Nov-2015 |
Timo Sirainen <tss@iki.fi> |
imapc: Treat literal8 input the same as regular literal.
This is mainly for migrating away from broken servers (a patched Cyrus) that
send literal8 if a (corrupted) message contains NULs. |
f5d5b8aab8c7c19e1a8a995ef8fda56b0f281e89 |
|
01-Sep-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: If connect() fails immediately, log an error and retry the next IP.
Only if all IPs fail return a full failure. This is mainly intended to skip
IPv6 addresses when IPv6 connectivity doesn't work. |
639ba5ff2ba668b41b8a8102ce626d0b58d384ad |
|
25-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Allow reconnecting to IMAP server even if there had been no idle moments. |
1e95710be50faaf98cc8645901413b7909677035 |
|
25-Aug-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Removed unused pending_box_command_count |
051c44cfe0f79b7c7b4d057fc7d3e071591f9659 |
|
13-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: If we get disconnected and reconnect, log it as warning instead of as error. |
de26c21cfadf24c1fa59f06414854d58b3d8baad |
|
11-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
imapc: Added throttling settings to imapc_features=throttle:a:b:c
This change could be reverted once good settings are found. |
8557c3b6dd442cbd935e82ae3918d27e6bc93dd0 |
|
11-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Implemented a bit more complicated [THROTTLING] behavior.
The throttling is now more continuous and decreases more slowly. |
46e227c139b281e5b12dc2c5ceffc83a9ddb353a |
|
09-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Fixed GMail [THROTTLED] detection.
It's not a resp-text-code, but appended at the end of line. |
3f50c1381434c29855c32f22c4653e75fd8d1822 |
|
03-Mar-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Get capabilities again after reconnection to server.
This is needed most importantly if we're not using plaintext authentication
to log in. |
77706d164eafeeb88fd36f0559d7453755561620 |
|
14-Feb-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Improved error message a bit if server disconnects. |
190e48dfeafba72ffe0a81ffa9c0a1935b236708 |
|
03-Feb-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Implemented support for GMail [THROTTLED] resp-text-code.
If we receive it, start throttling future commands by waiting exponentially
longer until we no longer receive [THROTTLED]. Max wait time is currently
16 seconds. |
2d4995828b0b99f477ac85727a1150ed10c65534 |
|
20-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Added imapc_command_get_tag() |
fdf8020fad627b2d7991bca7a68a870a8bc36b2e |
|
08-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Compiler warning fixes |
c6033074ada5c7441ff7bb12c4b433cae737fea2 |
|
08-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
imapc: Added imapc_sasl_mechanisms setting
The first supported SASL mechanism is used, otherwise the login fails
entirely. |
2f351279cbfe7a47ba1163ed5d172dea504f2ba8 |
|
08-Jan-2015 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Use lib-sasl to perform the AUTHENTICATE command handling. |
7cb128dc4cae2a03a742f63ba7afee23c78e3af0 |
|
05-Jan-2015 |
Phil Carmody <phil@dovecot.fi> |
global: freshen copyright
Robomatically:
git ls-files | xargs perl -p -i -e 's/(\d+)-201[0-4]/$1-2015/g;s/ (201[0-4]) Dovecot/ $1-2015 Dovecot/'
Happy 2015 everyone!
Signed-off-by: Phil Carmody <phil@dovecot.fi> |
bf684c50bc1c85994e9c65ebf5269fbd18daaa64 |
|
24-Sep-2014 |
Timo Sirainen <tss@iki.fi> |
imapc: If connection isn't in selected state when deleting mailbox, don't try to UNSELECT it. |
f8e6e85ab508e80a66f323390f8f4e2edfff2730 |
|
26-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
lib: Moved rawlog dir stat()s to iostream_rawlog_create() internally.
This is required to allow TCP rawlogs to actually work. |
2d2d7c4d0458e534bee8621613865a06b44eae02 |
|
12-Jun-2014 |
Timo Sirainen <tss@iki.fi> |
imapc: Avoid crashing if server happens to send invalid resp-text-codes.
If [KEY VALUE] is missing the VALUE, just set it to "" instead of NULL.
Found by Coverity |
a8c5a86d183db25a57bf193c06b41e092ec2e151 |
|
04-Feb-2014 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2014. |
d29abd3b86ae18fe41de185a216dfb1de4cfabae |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Don't reset timeout while waiting for IDLE DONE reply. |
2bcc41a0005a43f15dcf0fb4ef21a1d1e4737f34 |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Make sure command timeout is used also for IDLE DONE. |
e5327a8ef2519160ff0c7ca6b841574eaecc2910 |
|
17-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Don't send NOOP if we're still waiting for a command reply. |
cbc5a26b22a9ce5ae5034161d9bd1324703a0ccb |
|
16-Nov-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Make sure command timeout is always set. |
72e15c62aae18da5cd17b7e0c9124d23c06d2587 |
|
06-Sep-2013 |
Timo Sirainen <tss@iki.fi> |
Avoid doing side effects in assert. |
ffcdddd4ce50ae8021b69614790aeb663a49108a |
|
05-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: When switching ioloops, do it also for the DNS lookup. |
c1a1abf895ce1d95ccbfc2cbe79a06ddbba7624d |
|
05-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Make sure DNS lookups get aborted at disconnect. |
9dee78c19e1dfc66c2af2383b95aaa954a807f2c |
|
05-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Don't start another DNS lookup if there's already one ongoing. |
cd467fe798861a560aeb95407018d6cd5dab66d2 |
|
06-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: When server sends BYE before disconnection, log it as the reason. |
1dde2133dca332946d8d0cc4eed37e2c66d4302e |
|
06-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: If SELECT/EXAMINE fails, set the connection as not being selected. |
066259712764880293320fa486366e5239e89bfc |
|
01-Jun-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Ask CAPABILITY again after STARTTLS |
9f3b630d62d70fc0a06a07b85d9e66116fd444a8 |
|
31-May-2013 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: Connect and command timeouts are now configurable.
Also use the same connect timeout for the DNS lookup's timeout. |
355384821d16af96455f008243e69f6a11822513 |
|
04-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
imapc, pop3c: Don't hide SSL handshake errors. |
b4d850a0ffd519c1c745557568daf7d48e18c820 |
|
04-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-ssl-iostream: Simplified certificate validation. Also give better error messages. |
3b4bd183cc469f70eb91d82a7f01f60ffc24ca5b |
|
04-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-ssl-iostream: Added support for TLS SNI, which caused some API changes. |
9709107819ba60d41f737279dd070b40d46b4120 |
|
04-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-ssl-iostream: If handshake callback fails, close the iostreams immediately.
This way the callback itself doesn't have to do it. Also fixes errors caused
by it, since they didn't close the ostream. |
ac645fe16c0619771c0a961db91df16485513c52 |
|
04-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-ssl-iostream: ssl_iostream_set_handshake_callback() API changed.
The callback can now return the error message to caller instead of having to
log it itself. |
ba1c847d0af4afe4787ed470d0c818e948e184e2 |
|
04-Apr-2013 |
Timo Sirainen <tss@iki.fi> |
lib-ssl-iostream: API changes to return error strings if init() functions fail.
This also fixed a couple of broken error handlings. |
5a580c3a38ced62d4bcc95b8ac7c4f2935b5d294 |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Oops :) Update copyrights to 2013 without breaking all .c files. |
cca4ba2a504d70a9fe9fee37f8433997359de52c |
|
02-Feb-2013 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2013. |
2ca9d7b51853007c0edd3bd373375792f2c8272f |
|
24-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Renamed imap_dquote_append() to imap_append_quoted() |
bdd36cfdba3ff66d25570a9ff568d69e1eb543cf |
|
03-Oct-2012 |
Timo Sirainen <tss@iki.fi> |
Renamed network.[ch] to net.[ch].
The function prefixes already started with net_ instead of network_.
And icecap wants to use network.h for other purpose. :) |
002858d28512189f2f02af19e7af76e5eb8470e7 |
|
11-Sep-2012 |
Timo Sirainen <tss@iki.fi> |
imapc: Fixed parsing "text" input after OK/NO/BAD/BYE. |
bd389fdd3968a000bc7e2df3c83e8338740faa73 |
|
28-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imapc: max_idle_time setting didn't actually work. |
4ee00532a265bdfb38539d811fcd12d51210ac35 |
|
19-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name
Easy way to update your existing code:
perl -i -pe 's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch] |
cee50689ea9f3cfec451a6e105307ee2d86ed5dc |
|
14-Aug-2012 |
Timo Sirainen <tss@iki.fi> |
imapc: Added imapc_max_idle_time setting to force activity on connection.
Reducing this from the default 29 minutes should help when there's a
stateful firewall between imapc and the backend server. |
b09f510e3f7e3bd4a5216a60fa1406d1e83d001b |
|
31-Jul-2012 |
Timo Sirainen <tss@iki.fi> |
imapc: Fixed crashes during mailbox close. |
b66d803de86bfb411165b3465b0d9ef64ecfe2a1 |
|
25-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes and other ways. |
e2a88d59c0d47d63ce1ad5b1fd95e487124a3fd4 |
|
24-Jun-2012 |
Timo Sirainen <tss@iki.fi> |
Added o_stream_nsend*() and related functions to make delayed error handling safer.
Once o_stream_nsend*() is called, o_stream_nfinish() must be called before
stream is destroyed to finish checking if there were any errors. If
something failed and the stream is just wanted to be closed,
o_stream_ignore_last_errors() can be called.
For streams where errors don't really make any difference (network sockets)
you can call o_stream_set_no_error_handling() immediately after creating the
stream. |
7d102c66eb1755e1894cf56e3594cd744e855238 |
|
27-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-dns: dns_lookup() returns now the lookup struct, and it can be aborted.
Changed all dns_lookup() users also to abort the lookup when needed
(previously it probably would have just accessed freed memory and crash). |
5f5870385cff47efd2f58e7892f251cf13761528 |
|
12-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
Updated copyright notices to include year 2012. |
a8bab607eff5f5396770de8fa02d9478e5ecb68f |
|
02-Feb-2012 |
Timo Sirainen <tss@iki.fi> |
lib-imap-client: If dns_client_socket_path isn't given, do a blocking lookup. |
ac2b94f3b722ad46526f5146bf76ce7170372286 |
|
27-Jan-2012 |
Timo Sirainen <tss@iki.fi> |
imapc: If imapc_host is IP, don't look it up via dns-client service. |
633c4c09d8aec3e77cd01b98271e2230828117fe |
|
15-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Assert crashfix. |
3ed38c6e054b7ffebd024df77f1f5ad1042d3505 |
|
14-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Try to avoid crashes on deinit/disconnection. |
fe4691f2b34d339d9b372801628a67f854db3298 |
|
12-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Don't crash if we receive tagged BAD reply. |
aaea3addd1387a1478e5b088ab078b15afd0850f |
|
02-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Check for when to prefer LOGIN to AUTHENTICATE was wrong. |
166e683c279f63c15a501600b4b0fb9d98d401d6 |
|
01-Dec-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: If remote server disconnects, log the reason. |
bce078c0b32894bfc1299ab438edea4af7f0ee21 |
|
23-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
Compiling fix for non-gcc. |
b01280bda48225a17023f3defae107e0e7b51e56 |
|
22-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Added assert to make sure callback is never NULL. |
13c96f61c11fc4be094b7972a0f7d3f541adcff9 |
|
22-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Crashfix after having idled for 29 mins without IDLE. |
f86a9203b28b539f6657464caf5064b05f1f5a07 |
|
04-Nov-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: If rawlog directory doesn't exist, silently ignore it. |
05b24d0011d82687674c8545db1217b4f9f327b7 |
|
20-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Fixed reopening a mailbox. |
35779754964119c94b919b75bbf1ccc1c02aad52 |
|
17-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Added imapc_ssl_verify setting. |
a20216560f2642d52044ac1cf4f7822a43653a87 |
|
09-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Post-login capabilities weren't detected/used. |
f87844c400cf9741abad57d9815121d0738a738f |
|
09-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Support retrying some IMAP commands if we get disconnected. |
428fb4dc39c6e9b2eb36216c396dad6096a65f8f |
|
09-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
lib-imap: Added reference counting to imap parser. |
922fc890d76862188c23831206c16272b7451614 |
|
09-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Fixes to sending commands. |
edcd6f7223568e080d5a6767c5038e3bc891e963 |
|
09-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Initial support for automatically reconnecting to remote server. |
f084de14d7e975d4dfbcdfca4301312328720c8a |
|
07-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Removed unused "stop now" functionality. |
fb37a9b7bb71807a394e3ecdb74511f32a79c39b |
|
07-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Changed mailbox opening API to be more extensible. |
81d3c215bb1fdbda2cf7ccd9519f6b4fd03c3791 |
|
07-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Command sending API changed to be more extensible. |
92daf55a732db0531b168e2b435d916bccfd0d22 |
|
01-Oct-2011 |
Timo Sirainen <tss@iki.fi> |
imapc: Don't assert-crash when receiving 0 size literal. |
5035404202587543bb4843d4aec46331651b6e16 |
|
26-Sep-2011 |
Timo Sirainen <tss@iki.fi> |
Moved imapc-client into its own lib-imap-client library. |