Skip to content

release-2.2.25 with libsodium #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 450 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
450 commits
Select commit Hold shift + click to select a range
eabf965
lib-dcrypt: Fixed check program dependencies
sirainen May 31, 2016
936f81c
doveadm: Do not use INT64 with mail cmds yet
cmouse Jun 1, 2016
dc43757
lib: Fixed max_buffer_size handling in istream-chain
sirainen May 31, 2016
9e7b4d6
fs-metawrap: Fixed buffer size while reading metadata header.
sirainen May 31, 2016
3dafbab
lib: Fix to previous istream-chain max_buffer_size handling
sirainen Jun 1, 2016
5b6559c
lib: istream's max_buffer_size=0 means 0, not unlimited.
sirainen May 4, 2016
a69f793
lib-mail: istream-qp-decoder: For efficiency, avoid copying data betw…
stephanbosch May 14, 2016
5f4111f
lib-fs: Added fs_write_stream_abort_async()
sirainen Jun 1, 2016
d010574
lib-fs: Clarified fs_write_stream_abort() API and dropped its _async().
sirainen Jun 1, 2016
90ec94c
lib-fs: Added more asserts
sirainen Jun 1, 2016
f412ee7
fs-metawrap: Removed unnecessary code.
sirainen Jun 1, 2016
1d29d49
lib-fs: Improved unit tests.
sirainen Jun 1, 2016
3ffc655
fs-metawrap: Removed unnecessary code.
sirainen Jun 1, 2016
6bd205f
lib-compression: istream.max_buffer_size == 0 isn't unlimited.
sirainen Jun 1, 2016
51dcb33
lib: istream-chain didn't update its max_buffer_size
sirainen Jun 1, 2016
41a18c1
lib: i_stream_get_max_buffer_size() checks also parents' max sizes
sirainen Jun 1, 2016
f67f6de
global: Use i_stream_get_max_buffer_size() wherever possible
sirainen Jun 1, 2016
72f0027
dict: Fixed crash when reaching max (5) pending commands.
sirainen Jun 1, 2016
8b895d0
dict: Pipelined iteration replies may have been hanging.
sirainen Jun 1, 2016
c7021f4
lib-fts: Move stopwords to subdirectory.
thuovila May 30, 2016
77c9af3
lib-fts: Add stopword files for more languages.
thuovila May 30, 2016
f6e1440
lib-fts: Improved stopword file reading.
thuovila Jun 1, 2016
b89dd50
auth: Add PBKDF2 password scheme
cmouse Apr 27, 2016
71e8344
lib: Add PKCS#5 pbkdf1 and 2
cmouse Apr 20, 2016
a5658a1
lib-dict-extra: Avoid out of scope data stack usage.
thuovila Apr 29, 2016
0fbf2c9
doveadm-server: Handle istream send error.
cmouse Apr 26, 2016
5c33861
.gitignore: Added *~
sirainen Apr 30, 2016
273ed7a
lib-http: server: Fixed assert failure occurring when closing the con…
stephanbosch Apr 30, 2016
2812b0e
doveadm: error to print formatted without format
mrannanj Apr 20, 2016
7ec76ff
doveadm fetch: Added body.<section> and binary.<section> fields
sirainen May 3, 2016
334702e
doveadm fetch: Fixed logging errors for istream failures
sirainen May 3, 2016
48713ea
lib-imap-storage: Allow HEADER.FIELDS(..) without space before '('
sirainen May 3, 2016
3def3a7
doveadm fetch: Translate commas to spaces in body|binary.<section> with
sirainen May 3, 2016
804a551
dsync: Fixed potential crash
sirainen May 11, 2016
b1254df
Added LIBDOVECOT_SQL_INCLUDE to dovecot-config and dovecot.m4.
stephanbosch May 10, 2016
44069b0
global: Use [io]_stream_get_error() insted of %m
sirainen May 16, 2016
9aaf79f
lmtp: Fixed error logging when writing to temp file
sirainen May 16, 2016
3a349ae
lib: ostream-escaped: Fixed setting offset
sirainen May 18, 2016
7283d40
lib-imap-storage: Minor error logging cleanup/fix.
sirainen May 18, 2016
169c886
lib-imap-storage: Don't sort uninitialized array on invalid header list.
sirainen May 18, 2016
789f321
auth: Support %variable expansion for LDAP field names.
sirainen May 23, 2016
406b8be
dict-sql: Improve error message for invalid value fields.
sirainen Jun 2, 2016
5c44d09
master: Give a nicer error if unix/fifo_listener path is empty.
sirainen Jun 1, 2016
8e07283
virtual: Moved virtual_mailbox_vfuncs to lib-storage.
sirainen May 30, 2016
fd3cdfd
lib-storage: add no_fts in struct mail_search_arg
May 18, 2016
47cbd0f
lib-index: Minor code cleanup - use better variable names
sirainen Jun 3, 2016
f2c6d9c
lib-index: Fixed changing extension record sizes.
sirainen Jun 3, 2016
e669666
lib-index: Allow growing ext record_size after mail_index_update_ext()
sirainen Jun 3, 2016
ec2ee6f
maildir: Avoid extra memory usage on duplicate uidlist entries
sirainen Jun 3, 2016
e2ec3d6
maildir: Detect duplicate keywords in dovecot-keywords file
sirainen Jun 3, 2016
4313f95
lib-storage: Detect duplicate mailbox GUIDs in guid-cache.
sirainen Jun 3, 2016
8faaab5
lib-index: Fixed fsck handling extension with invalid header size
sirainen Jun 3, 2016
8c8d706
lib-index: Added header-size asserts
sirainen Jun 3, 2016
a62105e
lib-index: Fixed extension resizing
sirainen Jun 3, 2016
dab6a44
lib-index: Fix duplicate fields in mail_cache_register_fields()
sirainen Jun 3, 2016
3a398ec
lazy-expunge: Fixed crash on error handling
sirainen Jun 4, 2016
9f8c464
lib-dcrypt: Fixed function return type.
sirainen Jun 5, 2016
25349a4
director: Fixed ignoring an obsolete up/down change while host is des…
sirainen Jun 5, 2016
9cc085f
auth: Fixed error handling in passdb/userdb dict config parsing
sirainen Jun 5, 2016
6c65c2f
mdbox: Fix want_altpath flags/boolean mixup
sirainen Jun 5, 2016
c1e4cd3
mbox: Fixed expunging first mail with CRLF linefeeds.
sirainen Jun 5, 2016
3991807
lib-storage: Search args equalness checks didn't compare keywords cor…
sirainen Jun 5, 2016
e6447ac
mailbox-alias plugin: Fixed error handling
sirainen Jun 5, 2016
8035f93
fts-lucene: Fixed error handling when checking if settings had changed.
sirainen Jun 5, 2016
ddc96f7
lib-storage: Fixed error handling in list=children checking
sirainen Jun 5, 2016
df0fe39
lib-dcrypt: Fixed error handling in dcrypt_key_id_public()
sirainen Jun 5, 2016
3920a5f
director: Fixed error handling when directors support incompatible tags
sirainen Jun 5, 2016
ff9e37d
lib-mail: Added comment about invalid timezones in message_date_parse()
sirainen Jun 5, 2016
be08677
lib-index: Extension record size resizing was still broken.
sirainen Jun 5, 2016
507292b
dict: Fixed hang when pipelining multiple commands.
sirainen Jun 5, 2016
3eb7503
fs-randomfail: Support failures after asynchronous commands have alre…
sirainen Jun 5, 2016
6ab59f3
quota: Skip reading mail sizes when quota backend doesn't need it.
sirainen May 2, 2016
4441f95
quota: Differentiate between forced and non-forced quota recalc
sirainen May 2, 2016
318974e
mbox: Code cleanup - use bool instead of int for tracking locked-status
sirainen Jun 5, 2016
4a5eb0c
lib-lda: Don't assert-crash if home directory isn't set.
sirainen Jun 7, 2016
9a7dc91
lib-dcrypt: Fixed library dependencies
sirainen Jun 7, 2016
8fdb634
doveadm-server: Disable idle timeout for now
cmouse Jun 7, 2016
5aa6645
cassandra: Try fallback_consistency also for write timeout failures.
sirainen Jun 11, 2016
62fc7d0
lib-storage: mail_set_cache_corrupted*() now sets internal error to s…
sirainen Jun 11, 2016
2a8dbe2
lib-mail: message-header-parser now keeps istream referenced.
sirainen Jun 11, 2016
90c8dbd
lib-mail: Fixed message_parser_init_from_parts() with truncated MIME …
sirainen Jun 11, 2016
1f2c248
lib-mail: Improved message-parser unit tests.
sirainen Jun 11, 2016
fb252d6
lib-dcrypt: Fix various problems
cmouse Jun 12, 2016
7789356
lib-index: mail_index_ext_resize() was broken when record_size wasn't…
sirainen Jun 12, 2016
2f83c2f
master: make setting listen empty an error
mrannanj May 19, 2016
dda8a31
dovecot-config: Add lib-dcrypt to LIBDOVECOT_INCLUDE
sirainen Jun 13, 2016
cecf8cf
ldap: Fix cyclic dependency
cmouse May 11, 2016
3f79377
lib-dcrypt: Use dcrypt_key_id_private when applicable
cmouse Jun 13, 2016
dce4c1d
Fixed linking with OSX.
sirainen Jun 7, 2016
07a0a18
lib-dcrypt: Use hex encoded public key ID in callback
cmouse Jun 13, 2016
3986d36
lib-fs: Code cleanup for fs-sis: Use struct fs.parent
sirainen Jun 13, 2016
7e55f1e
lib-fs: Added fs_switch_ioloop()
sirainen Jun 13, 2016
68df459
dict: Avoid potentially using 100% CPU
sirainen Jun 13, 2016
6aed775
dict: Increased max number of pipelined requests from 5 to 1000.
sirainen Jun 13, 2016
acf2cc6
lib-index: Fixes to handling resized records.
sirainen Jun 13, 2016
b4fe750
lib-index: Fixed test-mail-index-sync-ext
sirainen Jun 14, 2016
920a34e
dcrypt-openssl: Pass pointer safely
cmouse Jun 14, 2016
0901d3f
dcrypt: Add test for public key loading
cmouse Jun 14, 2016
a63f6d2
dcrypt: Arm deinitialization code
cmouse Jun 14, 2016
cf936f2
[LEN] to [static LEN] on some function parameters
mrannanj May 10, 2016
c365104
lib-fs: Added write_bytes to statistics
sirainen Jun 14, 2016
d737445
lib-dcrypt: Fix error_r pointer verification.
thuovila Jun 14, 2016
cf757d6
time-util: Fixed usec comparison in timeval_cmp_margin().
stephanbosch Jun 14, 2016
4889576
lib-http: client: Added more debug logging about the submission of de…
stephanbosch Jun 14, 2016
97559e0
doveadm dump: Updated obox's oid output.
sirainen Jun 19, 2016
6fd4b93
lib-dcrypt: Fixed memory leak in test-crypto unit test
sirainen Jun 19, 2016
c702025
mailbox-alias: Fixed renaming mailboxes when the plugin is loaded.
sirainen Jun 19, 2016
a12763b
lib-dcrypt: Fixed running unit tests in build directory.
sirainen Jun 19, 2016
c5bb8ef
lib-index: Don't break indexes on syscall failures during index refre…
sirainen Jun 19, 2016
81b96aa
lib-dcrypt: Use a more supported EC curve in unit test
sirainen Jun 19, 2016
7ebd546
lib: Added t_str_tabunescape()
sirainen May 6, 2016
d05c72b
lib-dict: dict-client rewrite to support async operations
sirainen Jun 1, 2016
adda15c
lib-dict: Added dict_switch_ioloop()
sirainen Jun 13, 2016
a5bf9e6
lib-dict-extra: Compiler warning fix
sirainen Jun 20, 2016
e7a0878
lib-http: response parser: Added check for the range of the response …
stephanbosch May 20, 2016
4a4f676
lib-http: Changed http_client_request_error to set request to NULL
sirainen May 18, 2016
adc4754
lib-http: client: Fixed reference counting for requests that are abor…
stephanbosch May 19, 2016
2cbef0f
lib-http: client: Fixed reference counting for requests that are abor…
stephanbosch May 22, 2016
d2b6ff0
lib-http: client: Improved request reference counting in connection c…
stephanbosch May 21, 2016
0102e44
lib-http: client: Made peer object reference-counted to prevent inval…
stephanbosch May 20, 2016
8d5c693
lib-http: client: peer: Improved debug message that shows the loss of…
stephanbosch May 21, 2016
d63cb13
lib-http: client: Removed curiously duplicated code.
stephanbosch May 19, 2016
2b7757b
lib: Implemented net_set_send_buffer_size() and net_set_recv_buffer_s…
stephanbosch May 19, 2016
fff1784
lib-http: client: Added settings to configure the connection's socket…
stephanbosch May 19, 2016
48e1753
lib-http: client: Prevent useless and unexpected request callbacks du…
stephanbosch May 22, 2016
07b6d2b
lib-http: client: Reworked connection close handling.
stephanbosch May 23, 2016
8d558a5
lib-http: client: Fixed bug in handling of lost connections while ret…
stephanbosch May 25, 2016
4c4ec17
lib-http: test-http-client: Callback is not called for explicitly abo…
stephanbosch May 23, 2016
5ad09b0
lib-http: test-http-payload: Added -D option to easily enable debug m…
stephanbosch May 22, 2016
9ae8eaf
lib-http: test-http-payload: Added cleanup code to make sure no child…
stephanbosch May 23, 2016
ddb65fb
lib-http: test-http-payload: Added tests for the use of nested ioloops.
stephanbosch May 24, 2016
534195d
lib-http: client: Created test program that triggers most possible er…
stephanbosch May 22, 2016
024ade6
lib-http: Improved error logging for net_set_*_buffer_size() failures.
sirainen May 26, 2016
91ebc77
lib-http: client: Added test for http_client_request_delay_msecs() in…
stephanbosch Jun 14, 2016
ce91fd5
lib-http: client: Allow retrying requests that failed internally.
stephanbosch Jun 17, 2016
29d5559
lib-http: client: Implemented no_auto_retry setting that disables all…
stephanbosch Jun 17, 2016
8c0379c
lib-http: client: Added tests for manual handling of connection loss …
stephanbosch Jun 17, 2016
5ecd956
lib-http: server: Added more detailed debugging about when idle timeo…
stephanbosch Jun 19, 2016
83d3696
lib-http: server: Fixed handling of idle timeout when request just st…
stephanbosch Jun 19, 2016
d8570b2
lib-http: server: Wrap request payload in a timeout input stream.
stephanbosch Jun 19, 2016
189b586
lib-http: server: Make sure provided connection FDs are non-blocking.
stephanbosch Jun 19, 2016
183ca5c
lib-http: server: Added settings to configure the connection's socket…
stephanbosch Jun 19, 2016
3da0c52
lib-http: Restructured Makefile.am to have less duplicated lines for …
stephanbosch Jun 20, 2016
f292589
lib-http: server: Created test program that tests error conditions.
stephanbosch Jun 19, 2016
8fbcc7a
lib-dcrypt: Fix to backend module loading.
sirainen Jun 20, 2016
bff052b
lib-dcrypt, lib-ssl-iostream: Share OpenSSL init/deinit code.
sirainen Jun 20, 2016
44911be
lib-dcrypt: Added library dependencies to unit tests
sirainen Jun 20, 2016
f5e6b05
lib-dcrypt: Allow specifying crypto_device (OpenSSL engine).
sirainen Jun 20, 2016
344ac89
openssl: Use our own malloc()/realloc() that will die on out-of-memory.
sirainen Jun 20, 2016
1ad12f8
Added valgrind suppression for OpenSSL <v1.0.2
sirainen Jun 20, 2016
e28debf
lib: file_create_locked() - Unexpectedly deleted temp file is error.
sirainen Jun 20, 2016
80951e8
Updated run-test-valgrind.supp
sirainen Jun 20, 2016
9a0dba9
Makefile: Added run-test-valgrind.supp to EXTRA_DIST
sirainen Jun 20, 2016
9412c48
lib-test: add test_assert_failed_strcmp to expose strings.
Jun 7, 2016
fb237dd
lib-fts: remove trailing period character from email-address
Jun 7, 2016
5406c10
lib-fts: allow hyphen character in domain part
Jun 7, 2016
1fb947e
lib-fts: add unit test to fts_tokenizer_delete_trailing_partial_char()
Jun 8, 2016
8425e55
lib-dict: Explicitly specify used dict_vfuncs methods for drivers.
sirainen Jun 21, 2016
ce3cb75
lib-storage: Add autoexpunge_max_mails configuration to autoexpunge
Jun 20, 2016
d5fbefd
fs-posix: Autodelete directories also when "prefix" parameter is used.
sirainen Jun 21, 2016
c39000f
fs-posix: Added "dirs" parameter to enable explicit directory removal.
sirainen Jun 21, 2016
07a1f7b
fs-posix: Allow ":" as well as space as parameter separator.
sirainen Jun 21, 2016
4559dcf
doc: fix wrong tense in doveadm-expunge man page
mrannanj Jun 21, 2016
525ddf5
Added welcome plugin.
sirainen Jun 20, 2016
15730f8
dbox: Optimize POP3 MAIL_FETCH_UIDL_BACKEND.
sirainen Jun 20, 2016
dc9e4ab
doveadm: Fixed --long-parameters handling
sirainen Jun 21, 2016
cb21fec
doveadm fs delete: Allow multiple paths also with -R parameter.
sirainen Jun 21, 2016
83c5005
lib-dcrypt: Assert-crash if impossible private/public keys are seen.
sirainen Jun 19, 2016
49046dc
lib-dcrypt: Assert-crash if key parameter is NULL.
sirainen Jun 19, 2016
92b22c9
lib-dcrypt: dcrypt_key_convert_private_to_public() can no longer fail.
sirainen Jun 19, 2016
0e8ca25
lib-dcrypt: dcrypt_key_type_public/private() can no longer fail.
sirainen Jun 19, 2016
c39dd40
lib-dcrypt: Don't ignore BIO errors.
sirainen Jun 19, 2016
15648d9
lib-dcrypt: Added missing error handling.
sirainen Jun 19, 2016
7caacde
lib-dcrypt: Check for all the return values in unit tests
sirainen Jun 19, 2016
e9ff071
lib-dcrypt: dcrypt_keypair_generate() no longer assumes pair_r to be …
sirainen Jun 20, 2016
cc9df11
LAYOUT=index: Avoid unnecessary work for setting \Marked flags in LIS…
sirainen Jun 21, 2016
7ffa592
lib-storage: Added a kludgy quick-"parameter" to list_index_has_chang…
sirainen Jun 21, 2016
f194f5c
LAYOUT=index: Existence or GUID lookups don't need to refresh mailboxes.
sirainen Jun 21, 2016
064fe96
welcome plugin: -Wstrict-bool warning fix
sirainen Jun 21, 2016
39b4214
fts-lucene: Fixed crash on error or auto-rebuild conditions.
sirainen Jun 21, 2016
90d2a4a
lazy_expunge: Optimize checking for last instance when moving a mail.
sirainen Jun 23, 2016
60d99d0
lib-ssl-iostream: Use ENGINE_set_default()
sirainen Jun 23, 2016
3e85269
last-login: Ignore the plugin if last_login_dict setting is empty
sirainen Jun 24, 2016
9491509
istream-decrypt: Correctly check the header length for v1
cmouse Jun 27, 2016
e0d192f
istream-decrypt: Ensure we can open short v1 files
cmouse Jun 27, 2016
e91e993
lib-dcrypt: Added sample-v1_short.asc to EXTRA_DIST
sirainen Jun 27, 2016
eddbff8
dcrypt-openssl: Various fixes
cmouse Jun 27, 2016
714e632
dcrypt: Add tests for v1 and v2 public keys and RSA
cmouse Jun 27, 2016
3412a5b
lib-dcrypt: Make static analyzer happier
sirainen Jun 27, 2016
8edd430
fts plugin: Added fts_autoindex_exclude settings.
Jun 10, 2016
5bbf561
auth-policy: Add policy implementation
cmouse Jun 3, 2016
084bdd0
auth-policy: Hook auth policy to auth code
cmouse Jun 3, 2016
80b88a6
auth: Compiler warning fixes
sirainen Jun 28, 2016
2c8e5ee
dict-ldap: Fixed linking with OSX
sirainen Jun 28, 2016
5157c3c
lazy-expunge: Fixed crash when copying from internal namespace
sirainen Jun 28, 2016
e1295b9
lib: Added assert to iostream-temp
sirainen Jun 28, 2016
be2be31
configure: Detect SSL_COMP_free_compression_methods() by linking
sirainen Jun 28, 2016
223cfcf
auth-policy: Report success earlier
cmouse Jun 29, 2016
3b28618
auth-policy: Do not allow/report when master query
cmouse Jun 29, 2016
5f8a6be
lib-index: Fixed view syncing when changes couldn't be read from tran…
sirainen Jun 29, 2016
3dba616
lib-dcrypt: correctly set version 2 on key info
mrannanj Jun 28, 2016
e041c2d
auth: Rename policy.[ch] to auth-policy.[ch]
sirainen Jun 29, 2016
8ce4a3a
auth: Avoid nonstandard #pragma once
sirainen Jun 29, 2016
3031ddf
auth: Finish policy.[ch] renaming..
sirainen Jun 29, 2016
5659f5e
auth-policy: Do not do policy checks every time
cmouse Jun 29, 2016
dbad2ad
lib-storage: Fixed MAILBOX_METADATA_FIRST_SAVE_DATE with mailbox_list…
sirainen Jun 20, 2016
2722e8d
lmtp: If user has rached lmtp_user_concurrency_limit, fail at RCPT TO…
sirainen Jun 29, 2016
f36ac99
lmtp: Increase user's concurrency limit already after RCPT TO.
sirainen Jun 29, 2016
df0e630
auth: Added ":remove" suffix for passdb/userdb extra fields to remove…
sirainen Jun 28, 2016
0f8880f
lib-fts: Added maxlen parameter to icu-normalizer.
sirainen Jun 29, 2016
7dbddb3
auth: Fixed plaintext authentication when auth policy was already pro…
sirainen Jun 29, 2016
7e75c14
auth: Added delay_until passdb extra field.
sirainen Jun 29, 2016
20a3cd1
lmtp: If anvil lookup fails, ignore lmtp_user_concurrency_limit
sirainen Jun 29, 2016
d536790
doveadm-server: Skip doveadm_print_init
cmouse Jun 4, 2016
418280f
doveadm: Implement user and auth cache flush to server
cmouse May 31, 2016
3626987
doveadm-server: Do not crash if empty data in authorization
cmouse Jun 3, 2016
0649b7a
maildir: Fixed updating filenames in existing uidlist
sirainen Jun 29, 2016
26e22ea
maildir: Code comment update
sirainen Jun 29, 2016
390d6d5
maildir: Improved "Filename keeps changing" error handling/logging
sirainen Jun 29, 2016
6b1428f
virtual: Fixed error handling when matching mailboxes by metadata.
sirainen Jun 29, 2016
127b836
lib-storage: Fixed search arg initialization tracking for INTHREAD
sirainen Jun 29, 2016
fde7b8a
master: Added support for stopping specific services.
sirainen Jun 28, 2016
976683c
master: Added service_monitor_stop_close() to stops service and close…
sirainen Jun 28, 2016
e296bf5
master: Allow stopping specific services via master socket.
sirainen Jun 26, 2016
c32f2e2
doveadm: Added "service stop" command to stop specific services.
sirainen Jun 28, 2016
923ed58
dict-sql: Treat NULL value the same as "key not found"
sirainen Jun 29, 2016
8051312
lib: iostream-temp: Fixed o_stream_send_istream() with >2GB files
sirainen Jun 29, 2016
47441da
doveadm user: Avoid potential crashes when running via doveadm-server
sirainen Jun 29, 2016
06aeecf
doveadm: Read settings with service=doveadm
sirainen Jun 29, 2016
7be1766
dsync: When full resync is wanted in a stateful sync, output empty st…
sirainen Jun 29, 2016
9892356
auth: Fixed checking if delay_until is too large
sirainen Jun 29, 2016
89ed1b1
auth: delay_until can optionally now have +<max random secs> suffix.
sirainen Jun 29, 2016
ec56d6d
lib-ssl-iostream: Disable "CRYPTO_set_mem_functions() was called too …
sirainen Jun 29, 2016
2272c47
lib-ssl-iostream: Compiler fix to previous commit
sirainen Jun 29, 2016
822ecda
dcrypt: Fix bugs in 0 and 1 byte payload files
cmouse Jun 30, 2016
9f46e5f
dcrypt: Add tests for 0 and 1 byte data
cmouse Jun 30, 2016
1be434c
dcrypt: Free keys in test-stream
cmouse Jun 30, 2016
3a1d14c
auth-request: Correctly allocate mech_password and credentials_scheme
cmouse Jun 30, 2016
4fd02ab
auth-request: Whitespace fix
cmouse Jun 30, 2016
129abc3
lmtp: Fixed pipelining of commands after RCPT TO
sirainen Jun 30, 2016
dbca72d
lmtp: Removed assert, which triggers if anvil connect fails.
sirainen Jun 30, 2016
1969dd8
Released v2.2.25.rc1.
sirainen Jun 30, 2016
3c432ac
master: Stopping didn't close dead-pipes early enough.
sirainen Jun 30, 2016
abd85e9
imap: Fixed reading LDA settings from config.
sirainen Jun 30, 2016
88a6c0d
lib-dcrypt: Compiling fix
sirainen Jun 30, 2016
975f69e
lib-http: client: Fixed potential segfault problem in http_client_con…
stephanbosch Jun 30, 2016
522bb22
configure: Check if C99 "static" keyword is supported for array sizes.
sirainen Jun 30, 2016
ad7302c
login-proxy: cork+uncork in flush callbacks
sirainen Jun 30, 2016
8d3f4a6
doveadm mailbox update: Avoid assert-crash on errors.
sirainen Jul 1, 2016
b2f9b1d
lib-storage: Autoexpunging should ignore nonexistent mailboxes.
sirainen Jul 1, 2016
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Makefile.in
*.rej
.deps
.libs
*~

/configure
/config.cache
Expand Down Expand Up @@ -54,6 +55,7 @@ doc/man/doveadm-exec.1
doc/man/doveadm-expunge.1
doc/man/doveadm-fetch.1
doc/man/doveadm-flags.1
doc/man/doveadm-fs.1
doc/man/doveadm-fts.1
doc/man/doveadm-import.1
doc/man/doveadm-instance.1
Expand Down
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ EXTRA_DIST = \
ChangeLog \
cc-wrapper.sh.in \
update-version.sh \
run-test-valgrind.supp \
$(conf_DATA)

noinst_DATA = dovecot-config
Expand Down
136 changes: 136 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,139 @@
v2.2.25 2016-06-xx Timo Sirainen <[email protected]>

* lmtp: Start tracking lmtp_user_concurrency_limit and reject already
at RCPT TO stage. This avoids MTA unnecessarily completing DATA only
to get an error.
* doveadm: Previously only mail settings were read from protocol
doveadm { .. } section. Now all settings are.

+ quota: Added quota_over_flag_lazy_check setting. It avoids checking
quota_over_flag always at startup. Instead it's checked only when
quota is being read for some other purpose.
+ auth: Added a new auth policy service:
http://wiki2.dovecot.org/Authentication/Policy
+ auth: Added PBKDF2 password scheme
+ auth: Added %{auth_user}, %{auth_username} and %{auth_domain}
+ auth: Added ":remove" suffix to extra field names to remove them.
+ auth: Added "delay_until=<timestamp>[+<max random secs>]" passdb
extra field. The auth will wait until <timestamp> and optionally some
randomness and then return success.
+ dict proxy: Added idle_msecs=<n> parameter. Support async operations.
+ Performance improvements for handling large mailboxes.
+ Added lib-dcrypt API for providing cryptographic functions.
+ Added "doveadm mailbox update" command
+ imap commands' output now includes timing spent on the "syncing"
stage if it's larger than 0.
+ cassandra: Added metrics=<path> to connect setting to output internal
statistics in JSON format every second to <path>.
+ doveadm mailbox delete: Added -e parameter to delete only empty
mailboxes. Added --unsafe option to quickly delete a mailbox,
bypassing lazy_expunge and quota plugins.
+ doveadm user & auth cache flush are now available via doveadm-server.
+ doveadm service stop <services> will stop specified services while
leaving the rest of Dovecot running.
+ quota optimization: Avoid reading mail sizes for backends which
don't need them (count, fs, dirsize)
+ Added mailbox { autoexpunge_max_mails=<n> } setting.
+ Added welcome plugin: http://wiki2.dovecot.org/Plugins/Welcome
+ fts: Added fts_autoindex_exclude setting.
- v2.2.24's MIME parser was assert-crashing on mails having truncated
MIME headers.
- auth: With multiple userdbs the final success/failure result wasn't
always correct. The last userdb's result was always used.
- doveadm backup was sometimes deleting entire mailboxes unnecessarily.
- doveadm: Command -parameters weren't being sent to doveadm-server.
- If dovecot.index read failed e.g. because mmap() reached VSZ limit,
an empty index could have been opened instead, corrupting the
mailbox state.
- imapc: Fixed EXPUNGE handling when imapc_features didn't have modseq.
- lazy-expunge: Fixed a crash when copying failed. Various other fixes.
- fts-lucene: Fixed crash on index rescan.
- auth_stats=yes produced broken output
- dict-ldap: Various fixes
- dict-sql: NULL values crashed. Now they're treated as "not found".

v2.2.24 2016-04-26 Timo Sirainen <[email protected]>

* doveconf now warns if it sees a global setting being changed when
the same setting was already set inside some filters. (A common
mistake has been adding more plugins to a global mail_plugins
setting after it was already set inside protocol { .. }, which
caused the global setting to be ignored for that protocol.)
* LMTP proxy: Increased default timeout 30s -> 125s. This makes it
less likely to reach the timeout and cause duplicate deliveries.
* LMTP and indexer now append ":suffix" to session IDs to make it
unique for the specific user's delivery. (Fixes duplicate session
ID warnings in stats process.)

+ Added dict-ldap for performing read-only LDAP dict lookups.
+ lazy-expunge: All mails can be saved to a single specified mailbox.
+ mailbox { autoexpunge } supports now wildcards in mailbox names.
+ doveadm HTTP API: Added support for proxy commands
+ imapc: Reconnect when getting disconnected in non-selected state.
+ imapc: Added imapc_features=modseq to access MODSEQs/HIGHESTMODSEQ.
This is especially useful for incremental dsync.
+ doveadm auth/user: Auth lookup performs debug logging if
-o auth_debug=yes is given to doveadm.
+ Added passdb/userdb { auth_verbose=yes|no } setting.
+ Cassandra: Added user, password, num_threads, connect_timeout and
request_timeout settings.
+ doveadm user -e <value>: Print <value> with %variables expanded.
- Huge header lines could have caused Dovecot to use too much memory
(depending on config and used IMAP commands). (Typically this would
result in only the single user's process dying with out of memory
due to reaching service { vsz_limit } - not a global DoS).
- dsync: Detect and handle invalid/stale -s state string better.
- dsync: Fixed crash caused by specific mailbox renames
- auth: Auth cache is now disabled passwd-file. It was unnecessary and
it broke %variables in extra fields.
- fts-tika: Don't crash if it returns 500 error
- dict-redis: Fixed timeout handling
- SEARCH INTHREAD was crashing
- stats: Only a single fifo_listeners was supported, making it
impossible to use both auth_stats=yes and mail stats plugin.
- SSL errors were logged in separate "Stacked error" log lines
instead of as part of the disconnection reason.
- MIME body parser didn't handle properly when a child MIME part's
--boundary had the same prefix as the parent.

v2.2.23 2016-03-30 Timo Sirainen <[email protected]>

- Various fixes to doveadm. Especially running commands via
doveadm-server was broken.
- director: Fixed user weakness getting stuck in some situations
- director: Fixed a situation where directors keep re-sending
different states to each others and never becoming synced.
- director: Fixed assert-crash related to a slow "user killed" reply
- Fixed assert-crash related to istream-concat, which could have
been triggered at least by a Sieve script.

v2.2.22 2016-03-16 Timo Sirainen <[email protected]>

+ Added doveadm HTTP API: See
http://wiki2.dovecot.org/Design/DoveadmProtocol/HTTP
+ virtual plugin: Mailbox filtering can now be done based on the
mailbox metadata. See http://wiki2.dovecot.org/Plugins/Virtual
+ stats: Added doveadm stats reset to reset global stats.
+ stats: Added authentication statistics if auth_stats=yes.
+ dsync, imapc, pop3c & pop3-migration: Many optimizations,
improvements and error handling fixes.
+ doveadm: Most commands now stop soon after SIGINT/SIGTERM.
- auth: Auth caching was done too aggressively when %variables were
used in default_fields, override_fields or LDAP pass/user_attrs.
userdb result_* were also ignored when user was found from cache.
- imap: Fixed various assert-crashes caused v2.2.20+. Some of them
caught actual hangs or otherwise unwanted behavior towards IMAP
clients.
- Expunges were forgotten in some situations, for example when
pipelining multiple IMAP MOVE commands.
- quota: Per-namespaces quota were broken for dict and count backends
in v2.2.20+
- fts-solr: Search queries were using OR instead of AND as the
separator for multi-token search queries in v2.2.20+.
- Single instance storage support wasn't really working in v2.2.16+
- dbox: POP3 message ordering wasn't working correctly.
- virtual plugin: Fixed crashes related to backend mailbox deletions.

v2.2.21 2015-12-11 Timo Sirainen <[email protected]>

- doveadm mailbox list (and some others) were broken in v2.2.20
Expand Down
5 changes: 5 additions & 0 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -63,13 +63,18 @@ IMAP extensions:
5256 - IMAP SORT and THREAD Extensions
5258 - IMAP4 - LIST Command Extensions
5267 - Contexts for IMAP4
5464 - The IMAP METADATA Extension
5465 - The IMAP NOTIFY Extension
5524 - Extended URLFETCH for Binary and Converted Parts
5530 - IMAP Response Codes
5819 - IMAP4 Extension for Returning STATUS Information in Extended LIST
5957 - Display-Based Address Sorting for the IMAP4 SORT Extension
6154 - IMAP LIST Extension for Special-Use Mailboxes
6203 - IMAP4 Extension for Fuzzy Search
6785 - Support for IMAP Events in Sieve (via Pigeonhole plugin)
6851 - Internet Message Access Protocol (IMAP) - MOVE Extension
7162 - IMAP Extensions: Quick Flag Changes Resynchronization (CONDSTORE)
and Quick Mailbox Resynchronization (QRESYNC)

Contact info
------------
Expand Down
39 changes: 33 additions & 6 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ AC_PREREQ([2.59])

# Be sure to update ABI version also if anything changes that might require
# recompiling plugins. Most importantly that means if any structs are changed.
AC_INIT([Dovecot],[2.2.devel],[[email protected]])
AC_DEFINE_UNQUOTED([DOVECOT_ABI_VERSION], "2.2.ABIv20($PACKAGE_VERSION)", [Dovecot ABI version])
AC_INIT([Dovecot],[2.2.25.rc1],[[email protected]])
AC_DEFINE_UNQUOTED([DOVECOT_ABI_VERSION], "2.2.ABIv25($PACKAGE_VERSION)", [Dovecot ABI version])

AC_CONFIG_SRCDIR([src])

Expand Down Expand Up @@ -456,7 +456,7 @@ AC_CHECK_FUNCS(fcntl flock lockf inet_aton sigaction getpagesize madvise \
getmntinfo setpriority quotactl getmntent kqueue kevent \
backtrace_symbols walkcontext dirfd clearenv \
malloc_usable_size glob fallocate posix_fadvise \
getpeereid getpeerucred inotify_init)
getpeereid getpeerucred inotify_init timegm)

AC_CHECK_TYPES([struct sockpeercred],,,[
#include <sys/types.h>
Expand Down Expand Up @@ -1007,6 +1007,24 @@ if test $i_cv_signed_time_t = yes; then
AC_DEFINE(TIME_T_SIGNED,, [Define if your time_t is signed])
fi

AC_CACHE_CHECK([if we can use C99 static in array sizes],i_cv_c99_static_arrays,[
AC_TRY_COMPILE([
void foo(int arr[static 20]);
], [
], [
i_cv_c99_static_arrays=yes
], [
i_cv_c99_static_arrays=no
])
])

if test $i_cv_c99_static_arrays = yes; then
static_value=static
else
static_value=
fi
AC_DEFINE_UNQUOTED(STATIC_ARRAY, $static_value, [C99 static array])

dnl Our implementation of AC_C_FLEXIBLE_ARRAY_MEMBER.
dnl Use it until autoconf 2.61+ becomes more widely used
AC_CACHE_CHECK([if we can use C99-like flexible array members],i_cv_c99_flex_arrays,[
Expand Down Expand Up @@ -1692,6 +1710,9 @@ if test $want_openssl != no && test $have_ssl = no; then
AC_CHECK_LIB(ssl, SSL_get_servername, [
AC_DEFINE(HAVE_SSL_GET_SERVERNAME,, [Build with TLS hostname support])
],, $SSL_LIBS)
AC_CHECK_LIB(ssl, SSL_COMP_free_compression_methods, [
AC_DEFINE(HAVE_SSL_COMP_FREE_COMPRESSION_METHODS,, [Build with SSL_COMP_free_compression_methods() support])
],, $SSL_LIBS)
fi
fi
AM_CONDITIONAL(BUILD_OPENSSL, test "$have_openssl" = "yes")
Expand Down Expand Up @@ -2044,7 +2065,7 @@ else
fi
fi
AM_CONDITIONAL(LDAP_PLUGIN, test "$have_ldap_plugin" = "yes")
AM_CONDITIONAL(HAVE_LDAP, test "$want_ldap" = "yes")
AM_CONDITIONAL(HAVE_LDAP, test "$want_ldap" != "no")
dict_drivers=

if test $want_db != no; then
Expand Down Expand Up @@ -2516,20 +2537,21 @@ dnl **
dnl ** Shared libraries usage
dnl **

LIBDOVECOT_LA_LIBS='$(top_builddir)/src/lib-dict-extra/libdict_extra.la $(top_builddir)/src/lib-master/libmaster.la $(top_builddir)/src/lib-settings/libsettings.la $(top_builddir)/src/lib-stats/libstats.la $(top_builddir)/src/lib-http/libhttp.la $(top_builddir)/src/lib-fs/libfs.la $(top_builddir)/src/lib-dict/libdict.la $(top_builddir)/src/lib-dns/libdns.la $(top_builddir)/src/lib-imap/libimap.la $(top_builddir)/src/lib-mail/libmail.la $(top_builddir)/src/lib-sasl/libsasl.la $(top_builddir)/src/lib-auth/libauth.la $(top_builddir)/src/lib-charset/libcharset.la $(top_builddir)/src/lib-ssl-iostream/libssl_iostream.la $(top_builddir)/src/lib-dcrypt/libdcrypt.la $(top_builddir)/src/lib-test/libtest.la $(top_builddir)/src/lib/liblib.la'
if test "$want_shared_libs" = "yes"; then
LIBDOVECOT_DEPS='$(top_builddir)/src/lib-dovecot/libdovecot.la'
LIBDOVECOT="$LIBDOVECOT_DEPS \$(MODULE_LIBS)"
LIBDOVECOT_STORAGE_DEPS='$(top_builddir)/src/lib-storage/libdovecot-storage.la $(top_builddir)/src/lib-imap-storage/libimap-storage.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/libdovecot-login.la'
LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/libdovecot-lda.la'
else
LIBDOVECOT_DEPS='$(top_builddir)/src/lib-master/libmaster.la $(top_builddir)/src/lib-settings/libsettings.la $(top_builddir)/src/lib-stats/libstats.la $(top_builddir)/src/lib-http/libhttp.la $(top_builddir)/src/lib-dict/libdict.la $(top_builddir)/src/lib-dns/libdns.la $(top_builddir)/src/lib-fs/libfs.la $(top_builddir)/src/lib-imap/libimap.la $(top_builddir)/src/lib-mail/libmail.la $(top_builddir)/src/lib-sasl/libsasl.la $(top_builddir)/src/lib-auth/libauth.la $(top_builddir)/src/lib-charset/libcharset.la $(top_builddir)/src/lib-ssl-iostream/libssl_iostream.la $(top_builddir)/src/lib-test/libtest.la $(top_builddir)/src/lib/liblib.la'
LIBDOVECOT_DEPS="$LIBDOVECOT_LA_LIBS"
LIBDOVECOT="$LIBDOVECOT_DEPS \$(LIBICONV) \$(MODULE_LIBS)"
LIBDOVECOT_STORAGE_DEPS='$(top_builddir)/src/lib-storage/libstorage.la'
LIBDOVECOT_LOGIN='$(top_builddir)/src/login-common/liblogin.la'
LIBDOVECOT_LDA='$(top_builddir)/src/lib-lda/liblda.la'
fi
if test $want_ldap = yes; then
if test $want_ldap != no; then
LIBDOVECOT_LDAP='$(top_builddir)/src/lib-ldap/libdovecot-ldap.la'
else
LIBDOVECOT_LDAP=''
Expand All @@ -2540,6 +2562,7 @@ LIBDOVECOT_SQL='$(top_builddir)/src/lib-sql/libsql.la'
LIBDOVECOT_COMPRESS='$(top_builddir)/src/lib-compression/libcompression.la'
LIBDOVECOT_LIBFTS='$(top_builddir)/src/lib-fts/libfts.la'
AC_SUBST(LIBDOVECOT)
AC_SUBST(LIBDOVECOT_LA_LIBS)
AC_SUBST(LIBDOVECOT_DEPS)
AC_SUBST(LIBDOVECOT_STORAGE)
AC_SUBST(LIBDOVECOT_STORAGE_DEPS)
Expand Down Expand Up @@ -2858,7 +2881,9 @@ src/lib-sql/Makefile
src/lib-auth/Makefile
src/lib-charset/Makefile
src/lib-compression/Makefile
src/lib-dcrypt/Makefile
src/lib-dict/Makefile
src/lib-dict-extra/Makefile
src/lib-dns/Makefile
src/lib-fs/Makefile
src/lib-fts/Makefile
Expand Down Expand Up @@ -2925,6 +2950,7 @@ src/plugins/Makefile
src/plugins/acl/Makefile
src/plugins/imap-acl/Makefile
src/plugins/autocreate/Makefile
src/plugins/dict-ldap/Makefile
src/plugins/expire/Makefile
src/plugins/fs-compress/Makefile
src/plugins/fts/Makefile
Expand All @@ -2949,6 +2975,7 @@ src/plugins/stats/Makefile
src/plugins/imap-stats/Makefile
src/plugins/trash/Makefile
src/plugins/virtual/Makefile
src/plugins/welcome/Makefile
src/plugins/zlib/Makefile
src/plugins/imap-zlib/Makefile
stamp.h
Expand Down
2 changes: 2 additions & 0 deletions doc/man/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ nodist_man1_MANS = \
doveadm-expunge.1 \
doveadm-fetch.1 \
doveadm-flags.1 \
doveadm-fs.1 \
doveadm-fts.1 \
doveadm-import.1 \
doveadm-instance.1 \
Expand Down Expand Up @@ -75,6 +76,7 @@ EXTRA_DIST = \
doveadm-expunge.1.in \
doveadm-fetch.1.in \
doveadm-flags.1.in \
doveadm-fs.1.in \
doveadm-fts.1.in \
doveadm-import.1.in \
doveadm-instance.1.in \
Expand Down
2 changes: 1 addition & 1 deletion doc/man/doveadm-expunge.1.in
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ commands.
.PP
In the first form,
.BR doveadm (1)
will executed the
will execute the
.B expunge
action with the environment of the logged in system user.
.PP
Expand Down
Loading