[Dovecot] v2.2.13 released
http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz.sig
A few minor changes since v2.2.13.rc1, mainly making the Pigeonhole tests pass.
* Fixed a DoS attack against imap/pop3-login processes. If SSL/TLS
handshake was started but wasn't finished, the login process
attempted to eventually forcibly disconnect the client, but failed
to do it correctly. This could have left the connections hanging
arond for a long time. (Affected Dovecot v1.1+)
+ mdbox: Added mdbox_purge_preserve_alt setting to keep the file
within alt storage during purge. (Should become enforced in v2.3.0?)
+ fts: Added support for parsing attachments via Apache Tika. Enable
with: plugin { fts_tika = http://tikahost:9998/tika/ }
+ virtual plugin: Delay opening backend mailboxes until it's necessary.
This requires mailbox_list_index=yes to work. (Currently IMAP IDLE
command still causes all backend mailboxes to be opened.)
+ mail_never_cache_fields=* means now to disable all caching. This may
be a useful optimization as doveadm/dsync parameter for some admin
tasks which shouldn't really update the cache file.
+ IMAP: Return SPECIAL-USE flags always for LSUB command.
- pop3 server was still crashing in v2.2.12 with some settings
- maildir: Various fixes and improvements to handling compressed mails,
especially when they have broken/missing S=sizes in filenames.
- fts-lucene, fts-solr: Fixed crash on search when the index contained
duplicate entries.
- Many fixes and performance improvements to dsync and replication
- director was somewhat broken when there were exactly two directors
in the ring. It caused errors about "weak users" getting stuck.
- mail_attachment_dir: Attachments with the last base64-encoded line
longer than the rest wasn't handled correctly.
- IMAP: SEARCH/SORT PARTIAL was handled completely wrong in v2.2.11+
- acl: Global ACL file handling was broken when multiple entries
matched the mailbox name. (Only the first entry was used.)
Hello,
It seems that configure doesn't work anymore on OpenBSD 5.5
It was working on 2.2.12, and the test about fd passing seem the same.
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
Best Regards
On 05/11/2014 09:37 PM, Timo Sirainen wrote:
http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz.sig
On 12.5.2014, at 8.29, Renaud Allard <renaud@allard.it> wrote:
It seems that configure doesn't work anymore on OpenBSD 5.5
It was working on 2.2.12, and the test about fd passing seem the same.
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
What does config.log say about it?
On 05/12/2014 09:02 AM, Timo Sirainen wrote:
On 12.5.2014, at 8.29, Renaud Allard <renaud@allard.it> wrote:
It seems that configure doesn't work anymore on OpenBSD 5.5
It was working on 2.2.12, and the test about fd passing seem the same.
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
What does config.log say about it?
configure:21046: checking whether fd passing works configure:21120: gcc -o conftest -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I./src/lib ./src/lib/fdpass.c -I/usr/local/include conftest.c >&5 conftest.c:122: warning: no previous prototype for 'nopen' configure:21120: $? = 0 configure:21120: ./conftest configure:21120: $? = 2 configure: program exited with status 2
It seems that if I put src/lib/fdpass.c from 2.2.12, the test succeeds.
On 12.5.2014, at 10.07, Renaud Allard <renaud@allard.it> wrote:
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
What does config.log say about it?
configure:21046: checking whether fd passing works configure:21120: gcc -o conftest -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I./src/lib ./src/lib/fdpass.c -I/usr/local/include conftest.c >&5 conftest.c:122: warning: no previous prototype for 'nopen' configure:21120: $? = 0 configure:21120: ./conftest configure:21120: $? = 2 configure: program exited with status 2
It seems that if I put src/lib/fdpass.c from 2.2.12, the test succeeds.
Oh. I finally fixed a broken sanity check there: http://hg.dovecot.org/dovecot-2.2/rev/bedecd5b6bab
I wonder if the check is still somewhat broken or if OpenBSD (and BSD in general?) even attempts to set it correctly..
On h, máj 12, 2014 at 10:26:57 +0300, Timo Sirainen wrote:
On 12.5.2014, at 10.07, Renaud Allard <renaud@allard.it> wrote:
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
What does config.log say about it?
configure:21046: checking whether fd passing works configure:21120: gcc -o conftest -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I./src/lib ./src/lib/fdpass.c -I/usr/local/include conftest.c >&5 conftest.c:122: warning: no previous prototype for 'nopen' configure:21120: $? = 0 configure:21120: ./conftest configure:21120: $? = 2 configure: program exited with status 2
It seems that if I put src/lib/fdpass.c from 2.2.12, the test succeeds.
Oh. I finally fixed a broken sanity check there: http://hg.dovecot.org/dovecot-2.2/rev/bedecd5b6bab
I wonder if the check is still somewhat broken or if OpenBSD (and BSD in general?) even attempts to set it correctly..
FWIW, it configures and compiles fine here on OpenBSD 5.5. What are the configure options you are using Renaud?
Daniel
-- LÉVAI Dániel PGP key ID = 0x83B63A8F Key fingerprint = DBEC C66B A47A DFA2 792D 650C C69B BE4C 83B6 3A8F
On 12/05/14 2:59 PM, LEVAI Daniel wrote:
On h, máj 12, 2014 at 10:26:57 +0300, Timo Sirainen wrote:
On 12.5.2014, at 10.07, Renaud Allard <renaud@allard.it> wrote:
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
What does config.log say about it?
configure:21046: checking whether fd passing works configure:21120: gcc -o conftest -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I./src/lib ./src/lib/fdpass.c -I/usr/local/include conftest.c >&5 conftest.c:122: warning: no previous prototype for 'nopen' configure:21120: $? = 0 configure:21120: ./conftest configure:21120: $? = 2 configure: program exited with status 2
It seems that if I put src/lib/fdpass.c from 2.2.12, the test succeeds.
Oh. I finally fixed a broken sanity check there: http://hg.dovecot.org/dovecot-2.2/rev/bedecd5b6bab
I wonder if the check is still somewhat broken or if OpenBSD (and BSD in general?) even attempts to set it correctly..
FWIW, it configures and compiles fine here on OpenBSD 5.5. What are the configure options you are using Renaud?
It fails for me with 5.5 and -current both just dropping .13 in for the port and simply running the autoconf script without any command line parameters.
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
On h, máj 12, 2014 at 22:35:50 -0400, Brad Smith wrote:
On 12/05/14 2:59 PM, LEVAI Daniel wrote:
On h, máj 12, 2014 at 10:26:57 +0300, Timo Sirainen wrote:
On 12.5.2014, at 10.07, Renaud Allard <renaud@allard.it> wrote:
checking whether fd passing works... no configure: error: fd passing is required for Dovecot to work
What does config.log say about it?
configure:21046: checking whether fd passing works configure:21120: gcc -o conftest -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I./src/lib ./src/lib/fdpass.c -I/usr/local/include conftest.c >&5 conftest.c:122: warning: no previous prototype for 'nopen' configure:21120: $? = 0 configure:21120: ./conftest configure:21120: $? = 2 configure: program exited with status 2
It seems that if I put src/lib/fdpass.c from 2.2.12, the test succeeds.
Oh. I finally fixed a broken sanity check there: http://hg.dovecot.org/dovecot-2.2/rev/bedecd5b6bab
I wonder if the check is still somewhat broken or if OpenBSD (and BSD in general?) even attempts to set it correctly..
FWIW, it configures and compiles fine here on OpenBSD 5.5. What are the configure options you are using Renaud?
It fails for me with 5.5 and -current both just dropping .13 in for the port and simply running the autoconf script without any command line parameters.
Ah; details, details... The OP failed to mention that it failed on amd64. On i386, it works perfectly.
Danie
-- LÉVAI Dániel PGP key ID = 0x83B63A8F Key fingerprint = DBEC C66B A47A DFA2 792D 650C C69B BE4C 83B6 3A8F
On 13/05/14 3:26 PM, LEVAI Daniel wrote:
On h, máj 12, 2014 at 22:35:50 -0400, Brad Smith wrote:
On 12/05/14 2:59 PM, LEVAI Daniel wrote:
On h, máj 12, 2014 at 10:26:57 +0300, Timo Sirainen wrote:
On 12.5.2014, at 10.07, Renaud Allard <renaud@allard.it> wrote:
> checking whether fd passing works... no > configure: error: fd passing is required for Dovecot to work
What does config.log say about it?
configure:21046: checking whether fd passing works configure:21120: gcc -o conftest -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -fno-builtin-strftime -Wstrict-aliasing=2 -I./src/lib ./src/lib/fdpass.c -I/usr/local/include conftest.c >&5 conftest.c:122: warning: no previous prototype for 'nopen' configure:21120: $? = 0 configure:21120: ./conftest configure:21120: $? = 2 configure: program exited with status 2
It seems that if I put src/lib/fdpass.c from 2.2.12, the test succeeds.
Oh. I finally fixed a broken sanity check there: http://hg.dovecot.org/dovecot-2.2/rev/bedecd5b6bab
I wonder if the check is still somewhat broken or if OpenBSD (and BSD in general?) even attempts to set it correctly..
FWIW, it configures and compiles fine here on OpenBSD 5.5. What are the configure options you are using Renaud?
It fails for me with 5.5 and -current both just dropping .13 in for the port and simply running the autoconf script without any command line parameters.
Ah; details, details... The OP failed to mention that it failed on amd64. On i386, it works perfectly.
Ah, true. I stopped running obsolete arch a few years ago ;)
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.
Hi,
On Sun, 11 May 2014, Timo Sirainen wrote:
http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz.sig
fts and normal search in virtual folders still seems to be broken:
[New LWP 19298] [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Core was generated by `dovecot/imap'. Program terminated with signal 6, Aborted. #0 0x00007f0a63b64425 in raise () from /lib/x86_64-linux-gnu/libc.so.6 #0 0x00007f0a63b64425 in raise () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #1 0x00007f0a63b67b8b in abort () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #2 0x00007f0a63f57b15 in default_fatal_finish (type=<optimized out>, status=0) at failures.c:193 backtrace = 0x1611500 "/usr/local/lib/dovecot/libdovecot.so.0(+0x69b1f) [0x7f0a63f57b1f] -> /usr/local/lib/dovecot/libdovecot.so.0(+0x69b7e) [0x7f0a63f57b7e] -> /usr/local/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7f0a63f10"... #3 0x00007f0a63f57b7e in i_internal_fatal_handler (ctx=0x7fff737c1a90, format=<optimized out>, args=<optimized out>) at failures.c:657 status = 0 #4 0x00007f0a63f108f9 in i_panic (format=<optimized out>) at failures.c:267 ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0} args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fff737c1b60, reg_save_area = 0x7fff737c1aa0}} #5 0x00007f0a62ee4f97 in fts_search_deserialize_add_idx (args=<optimized out>, buf=<optimized out>, idx=<optimized out>, matches=<optimized out>) at fts-search-serialize.c:63 No locals. #6 fts_search_deserialize_add_idx (args=0x29fb3d0, buf=0x2a803b8, idx=0x7fff737c1bac, matches=false) at fts-search-serialize.c:56 data = 0x2a803f0 "" #7 0x00007f0a62ee50ec in fts_search_deserialize_add_nonmatches (args=<optimized out>, buf=0x2a803b8) at fts-search-serialize.c:97 idx = 0 __FUNCTION__ = "fts_search_deserialize_add_nonmatches" #8 0x00007f0a62ee5b0f in fts_search_apply_results_level (ctx=0x29a7fe0, args=0x29fb3d0, idx=0x7fff737c1c0c) at fts-storage.c:277 fctx = <optimized out> level = 0x29a8c00 #9 0x00007f0a62ee5ca2 in fts_mailbox_search_next_update_seq (ctx=0x29a7fe0) at fts-storage.c:314 fbox = 0x16479b0 fctx = 0x29d5370 idx = 0 #10 0x00007f0a64266b1c in search_more_with_mail (mail=0x171d650, ctx=0x29a7fe0) at index-search.c:1509 _ctx = 0x29a7fe0 box = 0x16469b0 match = 0 ret = -1 imail = 0x171d650 cost1 = 0 #11 search_more_with_prefetching (mail_r=<optimized out>, ctx=<optimized out>) at index-search.c:1582 _data_stack_cur_id = 4 ret = <optimized out> mail = 0x171d650 #12 search_more (ctx=0x29a7fe0, mail_r=0x7fff737c1ca0) at index-search.c:1653 imail = <optimized out> ret = 0 #13 0x00007f0a64267246 in index_storage_search_next_nonblock (_ctx=0x29a7fe0, mail_r=0x7fff737c1da0, tryagain_r=0x7fff737c1daf) at index-search.c:1677 ctx = 0x29a7fe0 mail = <optimized out> seq = <optimized out> ret = <optimized out> #14 0x00007f0a62cd108c in virtual_search_next_nonblock (ctx=0x29a7fe0, mail_r=0x7fff737c1da0, tryagain_r=0x7fff737c1daf) at virtual-search.c:154 vctx = 0x29a8220 ictx = 0x29a7fe0 seq = <optimized out> __FUNCTION__ = "virtual_search_next_nonblock" #15 0x00007f0a62cd101e in virtual_search_next_nonblock (ctx=0x29a7fe0, mail_r=0x7fff737c1da0, tryagain_r=0x7fff737c1daf) at virtual-search.c:148 vctx = 0x29a8220 ictx = 0x29a7fe0 seq = <optimized out> __FUNCTION__ = "virtual_search_next_nonblock" #16 0x00007f0a64240aa7 in mailbox_search_next_nonblock (ctx=0x29a7fe0, mail_r=0x7fff737c1da0, tryagain_r=<optimized out>) at mail-storage.c:1796 box = <optimized out> #17 0x000000000041c6e7 in cmd_search_more (cmd=0x1644190) at imap-search.c:443 ctx = 0x1644298 opts = SEARCH_RETURN_ALL mail = 0x0 sync_flags = <optimized out> end_time = {tv_sec = 43862832, tv_usec = 1024} range = 0x6 count = <optimized out> id = <optimized out> id_min = 0 id_max = 0 ok_reply = <optimized out> time_msecs = <optimized out> tryagain = <optimized out> lost_data = <optimized out> __FUNCTION__ = "cmd_search_more" #18 0x000000000041cb69 in imap_search_start (ctx=0x1644298, sargs=<optimized out>, sort_program=<optimized out>) at imap-search.c:610 cmd = 0x1644190 __FUNCTION__ = "imap_search_start" #19 0x0000000000411786 in cmd_search (cmd=0x1644190) at cmd-search.c:48 ctx = 0x1644298 sargs = 0x29fb310 args = 0x161ca78 charset = 0x424d6b "UTF-8" ret = <optimized out> #20 0x000000000041732d in command_exec (cmd=0x1644190) at imap-commands.c:158 hook = 0x161a0f0 ret = <optimized out> #21 0x00000000004163c0 in client_command_input (cmd=0x1644190) at imap-client.c:778 client = 0x1643630 command = <optimized out> __FUNCTION__ = "client_command_input" #22 0x00000000004164a5 in client_command_input (cmd=0x1644190) at imap-client.c:839 client = 0x1643630 command = <optimized out> __FUNCTION__ = "client_command_input" #23 0x000000000041674d in client_handle_next_command (remove_io_r=<synthetic pointer>, client=0x1643630) at imap-client.c:877 No locals. #24 client_handle_input (client=0x1643630) at imap-client.c:889 _data_stack_cur_id = 3 ret = 64 remove_io = false handled_commands = false __FUNCTION__ = "client_handle_input" #25 0x0000000000416ac2 in client_input (client=0x1643630) at imap-client.c:931 cmd = <optimized out> output = 0x1644050 bytes = 29 __FUNCTION__ = "client_input" #26 0x00007f0a63f68b1e in io_loop_call_io (io=0x16411f0) at ioloop.c:441 ioloop = 0x1619730 t_id = 2 __FUNCTION__ = "io_loop_call_io" #27 0x00007f0a63f69b3f in io_loop_handler_run_internal (ioloop=<optimized out>) at ioloop-epoll.c:220 ctx = 0x161a3d0 events = 0x0 event = 0x161b240 list = 0x161be30 io = <optimized out> tv = {tv_sec = 1799, tv_usec = 999421} events_count = <optimized out> msecs = <optimized out> ret = 1 i = <optimized out> call = <optimized out> __FUNCTION__ = "io_loop_handler_run_internal" #28 0x00007f0a63f68ba9 in io_loop_handler_run (ioloop=0x1619730) at ioloop.c:488 No locals. #29 0x00007f0a63f68c28 in io_loop_run (ioloop=0x1619730) at ioloop.c:465 __FUNCTION__ = "io_loop_run" #30 0x00007f0a63f15d13 in master_service_run (service=0x16195c0, callback=<optimized out>) at master-service.c:566 No locals. #31 0x000000000040af58 in main (argc=1, argv=0x1619390) at main.c:400 set_roots = {0x4278a0, 0x0} login_set = {auth_socket_path = 0x1611058 "", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback = 0x41fb50 <login_client_connected>, failure_callback = 0x41f860 <login_client_failed>, request_auth_token = 1} service_flags = <optimized out> storage_service_flags = <optimized out> username = <optimized out> c = <optimized out>
On 12.5.2014, at 12.28, Matthias Rieber <ml-dovecot@zu-con.org> wrote:
On Sun, 11 May 2014, Timo Sirainen wrote:
http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz.sig
fts and normal search in virtual folders still seems to be broken:
http://hg.dovecot.org/dovecot-2.2/rev/e99cd21e1f92 hopefully fixes this.
Hi,
On Thu, 15 May 2014, Timo Sirainen wrote:
On 12.5.2014, at 12.28, Matthias Rieber <ml-dovecot@zu-con.org> wrote:
On Sun, 11 May 2014, Timo Sirainen wrote:
http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz.sig
fts and normal search in virtual folders still seems to be broken:
http://hg.dovecot.org/dovecot-2.2/rev/e99cd21e1f92 hopefully fixes this.
Looks good. No crashes after several searches. Thanks.
Matthias
Zitat von Timo Sirainen <tss@iki.fi>:
http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz http://dovecot.org/releases/2.2/dovecot-2.2.13.tar.gz.sig
A few minor changes since v2.2.13.rc1, mainly making the Pigeonhole
tests pass.
- Fixed a DoS attack against imap/pop3-login processes. If SSL/TLS handshake was started but wasn't finished, the login process attempted to eventually forcibly disconnect the client, but failed to do it correctly. This could have left the connections hanging arond for a long time. (Affected Dovecot v1.1+)
- mdbox: Added mdbox_purge_preserve_alt setting to keep the file within alt storage during purge. (Should become enforced in v2.3.0?)
- fts: Added support for parsing attachments via Apache Tika. Enable with: plugin { fts_tika = http://tikahost:9998/tika/ }
- virtual plugin: Delay opening backend mailboxes until it's necessary. This requires mailbox_list_index=yes to work. (Currently IMAP IDLE command still causes all backend mailboxes to be opened.)
- mail_never_cache_fields=* means now to disable all caching. This may be a useful optimization as doveadm/dsync parameter for some admin tasks which shouldn't really update the cache file.
- IMAP: Return SPECIAL-USE flags always for LSUB command.
- pop3 server was still crashing in v2.2.12 with some settings
- maildir: Various fixes and improvements to handling compressed mails, especially when they have broken/missing S=sizes in filenames.
- fts-lucene, fts-solr: Fixed crash on search when the index contained duplicate entries.
- Many fixes and performance improvements to dsync and replication
- director was somewhat broken when there were exactly two directors in the ring. It caused errors about "weak users" getting stuck.
- mail_attachment_dir: Attachments with the last base64-encoded line longer than the rest wasn't handled correctly.
- IMAP: SEARCH/SORT PARTIAL was handled completely wrong in v2.2.11+
- acl: Global ACL file handling was broken when multiple entries matched the mailbox name. (Only the first entry was used.)
ubuntu ppa build for 12.04, 12.10, 13.10, 14.04 are available here:
https://launchpad.net/~bigmichi1/+archive/dovecot
I think the new settings */mdbox_purge_preserve_alt /*setting
should be enforced by default in 2.3.0+/.
/ Regards
Javier/
//
/
- mdbox: Added mdbox_purge_preserve_alt setting to keep the file within alt storage during purge. (Should become enforced in v2.3.0?)
-- Apoyo a la Docencia e Investigación Servicio de Informática y Comunicaciones
Gestión de Incidencias: https://sicremedy.us.es/arsys
participants (8)
-
Brad Smith
-
Javier Miguel Rodríguez
-
LEVAI Daniel
-
Matthias Rieber
-
Michael Cramer
-
Nikolaos Milas
-
Renaud Allard
-
Timo Sirainen