1
2013-11-25 Timo Sirainen <tss@iki.fi>
4
Added signature for changeset 2852a7c55fc7
8
Added tag 2.2.9 for changeset 2852a7c55fc7
13
[2852a7c55fc7] [2.2.9]
15
* src/plugins/mail-filter/Makefile.am:
16
Makefile: Added missing \
19
* src/plugins/mail-filter/Makefile.am:
20
Makefile: Added missing header files
23
2013-11-24 Timo Sirainen <tss@iki.fi>
25
* configure.ac, src/lib-compression/Makefile.am, src/lib-
26
compression/compression.c, src/lib-compression/istream-lzma.c, src
27
/lib-compression/istream-zlib.h, src/lib-compression/ostream-lzma.c,
28
src/lib-compression/ostream-zlib.h:
29
lib-compression: Added support for liblzma (xz) Annoyingly this is
30
mainly copy&pasted [io]stream-bzlib, but I'm not sure if it's worth
31
the effort to try to create common functions for them.
34
2013-11-24 Pascal Volk <user@localhost.localdomain.org>
36
* doc/man/doveadm-mailbox.1.in:
37
man: doveadm-mailbox.1: Added -g's description for mailbox create.
40
2013-11-24 Timo Sirainen <tss@iki.fi>
42
* src/lib-dns/dns-lookup.c, src/lib-settings/settings.c:
43
Fixed sscanf() error handling. Patch by Jann Horn.
46
2013-11-24 Pascal Volk <user@localhost.localdomain.org>
48
* doc/man/doveadm-log.1.in:
49
man: doveadm-log.1: Added description for option -s.
52
* doc/man/doveadm-import.1.in:
53
man: doveadm-import.1: Added description for option -s.
56
* doc/man/doveadm-expunge.1.in:
57
man: doveadm-expunge.1: Added option -d also to section synopsis.
60
2013-11-24 Timo Sirainen <tss@iki.fi>
62
* src/lib/data-stack.c:
63
Data stack has now an extra NULL pointer padding before its actual
64
data starts. This is just an extra safety measure against buffer
65
overflows. Patch by Jann Horn.
68
* src/auth/mech-digest-md5.c:
69
auth: Fixed (non-exploitable) buffer overflow in DIGEST-MD5 data
70
parsing. Found by Jann Horn.
73
2013-11-23 Pascal Volk <user@localhost.localdomain.org>
75
* doc/man/doveadm-move.1.in:
76
man: doveadm-move.1: Fixed syntax errors, escaped some dashes.
79
* doc/man/doveadm-index.1.in:
80
man: doveadm-index.1: Added description for options -n and -q.
83
2013-11-23 Timo Sirainen <tss@iki.fi>
85
* src/plugins/fts/fts-storage.c:
86
fts: Renamed fts_autoindex_on_save to fts_autoindex
89
* src/replication/replicator/dsync-client.c:
90
replicator: Memory leak fix for previous commit
93
* src/replication/replicator/dsync-client.c,
94
src/replication/replicator/dsync-client.h,
95
src/replication/replicator/replicator-brain.c,
96
src/replication/replicator/replicator-settings.c,
97
src/replication/replicator/replicator-settings.h:
98
replicator: Added replication_dsync_parameters setting to pass
99
"doveadm sync" parameters.
100
-f and -s parameters are added automatically when needed.
103
2013-11-23 Pascal Volk <user@localhost.localdomain.org>
105
* doc/man/doveadm-move.1.in:
106
man: doveadm-move.1: Added description for 'user source_user'.
109
2013-11-23 Timo Sirainen <tss@iki.fi>
111
* src/plugins/fts/fts-storage.c:
112
fts: Added plugin { fts_autoindex_on_save } setting. When enabled
113
and a mail is saved/copied, the indexer process is requested to
114
index the changed mailbox.
116
fts_autoindex_max_recent_msgs setting can also be used to skip
117
indexing mailboxes that have too many \Recent messages (implying
118
that the mailbox is never actually accessed). This corresponds to
119
doveadm index -n parameter.
122
2013-11-23 Pascal Volk <user@localhost.localdomain.org>
124
* doc/man/doveadm-user.1.in:
125
man: doveadm-user.1: Added description for the -u option.
128
2013-11-23 Timo Sirainen <tss@iki.fi>
130
* src/lib-dns/dns-lookup.c:
131
lib-dns: If existing dns connection dies in write(), retry connect
135
* src/lib-http/http-client-request.c:
136
lib-http: Compiler warning fix
139
* src/lib-storage/mailbox-list.c:
140
lib-storage: Non-crashing way of avoiding fs lookups for storages
144
* src/lib-http/http-client-connection.c:
145
lib-http: Fixed request hang on connect() timeout.
148
2013-11-22 Timo Sirainen <tss@iki.fi>
150
* src/lib-storage/mailbox-list.c:
151
lib-storage: Don't do filesystem permission lookups if storage has
155
* src/dns/dns-client.c:
156
dns: Don't idle-disconnect clients It's the job for the clients.
159
* src/lib-dns/dns-lookup.c:
160
lib-dns: Fixed handling write() failure to dns-lookup server
164
2013-11-22 Stephan Bosch <stephan@rename-it.nl>
166
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
167
private.h, src/lib-http/http-client-queue.c, src/lib-http/http-
168
client-request.c, src/lib-http/http-client.c, src/lib-http/http-
170
http: Implemented delayed requests scheduling. Requests can now be
171
(re)submitted with a delay. The request is not sent until the delay
172
time expires. This facilitates handling the Retry-After header in
173
responses. This can either be performed automatically if the
174
indicated delay is not too long or explicitly by the code using lib-
178
* src/lib-http/http-response-parser.c, src/lib-http/http-response.h:
179
http: Preparse Retry-After header if response status is 503 or 3xx.
182
* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h,
183
src/lib-http/http-client-request.c:
184
http-client: Improved handing of delayed request errors. Originally
185
each request would have its own zero timeout, but now only one
186
timeout is put in the host object.
189
* src/lib-http/Makefile.am, src/lib-http/http-client-host.c, src/lib-
190
http/http-client-peer.c, src/lib-http/http-client-private.h, src
191
/lib-http/http-client-queue.c, src/lib-http/http-client-request.c,
192
src/lib-http/http-client.c:
193
http-client: Changed struct http_client_host_port into a struct
194
http_client_queue object. Peer and request objects now reference the
195
queue object directly rather than the host object. This way, there
196
is no need to find the matching host:port in the host anymore. This
197
makes the queueing structure more intuitive and more efficient. This
198
is a first step towards support for connecting to HTTP services
199
through unix sockets or directing requests at specific hosts (so not
200
from the URL). This patch also fixes a potential timeout leak
201
(to_connect) in http_client_host_port (now http_client_queue) and
202
makes sure it is moved during switch_ioloop(). Finally it updates
203
the structure comment at the top of http-client.c.
206
2013-11-22 Timo Sirainen <tss@iki.fi>
208
* src/lib/iostream-rawlog-private.h, src/lib/iostream-rawlog.c:
209
iostream-rawlog: Timestamp prefix is now optional.
212
* configure.ac, src/plugins/Makefile.am, src/plugins/mail-
213
filter/Makefile.am, src/plugins/mail-filter/istream-ext-filter.c,
214
src/plugins/mail-filter/istream-ext-filter.h, src/plugins/mail-
215
filter/mail-filter-plugin.c, src/plugins/mail-filter/mail-filter-
216
plugin.h, src/plugins/mail-filter/ostream-ext-filter.c, src/plugins
217
/mail-filter/ostream-ext-filter.h:
218
Added mail-filter plugin.
221
* src/plugins/acl/doveadm-acl.c:
222
doveadm acl debug: Improved output
225
* src/lib/ostream-private.h, src/lib/ostream.c:
226
ostream: Don't mark the stream closed too early after all. Use
227
another flag instead to avoid losing the last data written to the
228
stream before closing.
231
2013-11-21 Timo Sirainen <tss@iki.fi>
233
* src/lib-storage/mailbox-list.c:
234
lib-storage: Improved EACCES error messages for some stat() calls
237
2013-11-20 Timo Sirainen <tss@iki.fi>
239
* src/doveadm/doveadm-fs.c:
240
doveadm: Added "fs metadata" command
243
* src/doveadm/dsync/dsync-mailbox-import.c:
244
dsync: Fix to 128bit GUID syncing
247
* src/doveadm/dsync/dsync-brain-mailbox.c:
248
dsync: have_only_guid128 was never actually being set.
251
* src/lib-storage/index/index-mail-headers.c:
252
lib-storage: mail_get_headers*() returned only the first header from
256
* src/lib-storage/index/index-mail-headers.c:
257
lib-storage: mail_get_*header*() still didn't handle cached values
258
correctly. If header ends with ":", the ":" shouldn't be returned as
262
* src/lib-storage/index/index-mail-headers.c:
263
lib-storage: mail_get_*header*() were unnecessarily looking up the
267
* src/lib-storage/index/index-mail-headers.c:
268
lib-storage: mail_get_*header*() didn't remove leading whitespace
269
for headers from cache. But it was removed when the headers were
270
found by parsing the full header.
273
2013-11-19 Timo Sirainen <tss@iki.fi>
276
Added signature for changeset 095a777edc26
280
Added tag 2.2.8 for changeset 095a777edc26
283
* NEWS, configure.ac:
285
[095a777edc26] [2.2.8]
287
* src/auth/auth-request-handler.c:
288
auth: Fixed potential crash.
292
lmtp: Make sure output is flushed before disconnection.
295
* src/lib-storage/list/mailbox-list-index-backend.c:
296
lib-storage: Error handling fix for layout=index when mailbox
300
2013-11-18 Timo Sirainen <tss@iki.fi>
302
* src/doveadm/doveadm-auth.c:
303
doveadm user: Fixed now printing with a non-default formatter
306
* src/doveadm/doveadm-auth.c:
307
doveadm user: Fixed printing multiple users
310
* src/doveadm/doveadm-auth.c, src/doveadm/doveadm-settings.c,
311
src/doveadm/doveadm-settings.h:
312
doveadm auth/user: Fixes to auth_socket_path handling. doveadm user
313
(without -u parameter) was ignoring "-a" parameter entirely. Others
314
weren't using auth_socket_path setting.
317
* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
319
lib-storage: Added mail_storage_service_set_auth_conn()
322
* src/doveadm/doveadm-auth.c:
323
doveadm user: Fixed looking up multiple users when they had
327
2013-11-17 Pascal Volk <user@localhost.localdomain.org>
329
* .hgignore, doc/man/Makefile.am, doc/man/doveadm-batch.1.in,
330
doc/man/doveadm.1.in:
331
man: Added doveadm-batch.1.
334
2013-11-17 Timo Sirainen <tss@iki.fi>
336
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
337
ibc-stream.c, src/doveadm/dsync/dsync-mailbox-import.c,
338
src/doveadm/dsync/dsync-mailbox-import.h, src/doveadm/dsync/dsync-
339
mailbox.h, src/lib-storage/mail-storage-private.h, src/lib-storage
340
/mail-storage.c, src/lib-storage/mail-storage.h:
341
dsync: Support syncing storages with 128bit GUIDs <-> string GUIDs.
344
* src/lib-storage/index/index-mail.c:
345
lib-storage: Fixed memory leak in mail_add_temp_wanted_fields()
348
* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
349
storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
350
mail.h, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
351
storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
352
storage.c, src/lib-storage/index/imapc/imapc-storage.h, src/lib-
353
storage/index/imapc/imapc-sync.c:
354
imapc: Merge identical FETCH commands together (only updating UID
358
* src/doveadm/dsync/dsync-mailbox-export.c:
359
dsync: Tell search that we want to fetch mail streams so prefetching
363
* src/doveadm/dsync/dsync-mailbox-export.c:
364
dsync: Set wanted_fields/headers for the whole search request when
368
* src/lib-imap-client/imapc-client-private.h, src/lib-imap-client
369
/imapc-client.c, src/lib-storage/index/imapc/imapc-sync.c:
370
imapc: Avoid sending unnecessary IDLEs that are immediately aborted.
373
* src/lib-imap-client/imapc-connection.c:
374
lib-imap-client: Don't reset timeout while waiting for IDLE DONE
378
* src/lib-imap-client/imapc-connection.c:
379
lib-imap-client: Make sure command timeout is used also for IDLE
383
* src/lib/ioloop.c, src/lib/ioloop.h:
384
Added io_loop_add/remove_switch_callback() to call a callback when
388
* src/lib-imap-client/imapc-connection.c:
389
lib-imap-client: Don't send NOOP if we're still waiting for a
393
* src/lib-imap-client/imapc-connection.c:
394
lib-imap-client: Make sure command timeout is always set.
397
* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
398
storage/index/imapc/imapc-mail.c:
399
imapc: Fixes to imapc_feature fetch-headers
402
2013-11-16 Timo Sirainen <tss@iki.fi>
404
* src/lib-index/mail-cache-transaction.c:
405
lib-index: Recent change broke cache transactions for more than 1
409
* src/doveadm/client-connection.c, src/lib-dict/dict-memcached-
410
ascii.c, src/lib-dict/dict-memcached.c, src/lib-dict/dict-redis.c,
411
src/lib-http/http-client-request.c, src/lib-http/http-client.c, src
412
/lib-imap-client/imapc-client.c, src/lib-sql/driver-pgsql.c, src
413
/lib-storage/index/pop3c/pop3c-client.c, src/lib/ioloop.c:
414
Use io_loop_set_current() instead of directly setting it.
417
* src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync/dsync-mail.h,
418
src/doveadm/dsync/dsync-mailbox-export.c:
419
dsync: Give hints to lib-storage about what fields we're going to
423
* src/lib-storage/index/imapc/imapc-mail-fetch.c:
424
imapc: When sending FETCH, always request also missing
425
wanted_fields. This avoids sending multiple FETCH commands when
426
prefetch hadn't already fetched everything.
429
* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
430
storage/index/imapc/imapc-mail.c:
431
imapc: Avoid FETCH INTERNALDATE for getting save_date when we
432
already know received_date.
435
* src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
436
storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
438
imapc: Don't send FETCHes for data that is already in cache.
441
* src/lib-storage/index/imapc/imapc-mail-fetch.c:
442
imapc: Crashfix for previous change
445
* TODO, src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
446
storage/index/imapc/imapc-mail.c, src/lib-storage/index/imapc/imapc-
447
mail.h, src/lib-storage/index/imapc/imapc-settings.c, src/lib-
448
storage/index/imapc/imapc-settings.h:
449
imapc: Added imapc_feature fetch-header. It uses FETCH
450
BODY.PEEK[HEADER.FIELDS (...)] whenever possible instead of fetching
454
* src/lib-storage/mail-storage.h:
455
lib-storage: API comment update
458
* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
460
lib-index: Support a small in-memory cache even with INDEX=MEMORY
463
* src/lib-index/mail-cache-transaction.c:
464
lib-index: mail_cache_lookup*() can now finds also the latest
465
mail_cache_add()ed data.
468
* src/auth/passdb-passwd-file.c:
469
auth: Don't crash if passwd-file is used for authentication but it
473
2013-11-16 Pascal Volk <user@localhost.localdomain.org>
475
* doc/man/Makefile.am, doc/man/doveadm-copy.1, doc/man/doveadm-
476
move.1.in, doc/man/doveadm.1.in:
477
man: Added description for command `doveadm copy`.
480
2013-11-08 Timo Sirainen <tss@iki.fi>
482
* src/lib-storage/index/index-attachment.c:
483
mail_attachment_*: Fixed "stream doesn't support seeking backwards"
484
panic Caused by recent changes.
487
* src/lib-fs/istream-fs-file.c:
488
lib-fs: Don't crash if istream-fs-file is closed without never being
492
* src/lib-storage/index/dbox-multi/mdbox-deleted-storage.c:
493
mdbox_deleted: Index was synced with wrong flags.
496
* src/lib-storage/index/index-attachment.c:
497
lib-storage: Give name to attachments-connector istream.
500
* src/plugins/zlib/zlib-plugin.c:
501
zlib: Give a name to zlib istreams
504
* src/doveadm/doveadm-mail-mailbox.c:
505
doveadm mailbox create: Added back -s parameter that was recently
506
accidentally removed.
509
2013-11-06 Timo Sirainen <tss@iki.fi>
511
* src/lib-storage/index/dbox-common/dbox-attachment.c, src/lib-
512
storage/index/dbox-common/dbox-attachment.h, src/lib-storage/index
513
/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-single/sdbox-
514
copy.c, src/lib-storage/index/dbox-single/sdbox-file.c, src/lib-
515
storage/index/dbox-single/sdbox-sync.c, src/lib-storage/index/index-
516
attachment.c, src/lib-storage/index/index-attachment.h:
517
lib-storage: Moved more of dbox attachments code to generic code.
520
* src/lib-storage/index/dbox-common/dbox-attachment.c:
521
dbox: Use lib-fs API also for reading the attachments.
524
* src/lib-storage/Makefile.am, src/lib-storage/index/dbox-common/dbox-
525
storage.c, src/lib-storage/mailbox-list-private.h, src/lib-storage
527
lib-storage: Added mailbox_list_init_fs() to easily initialize fs.
528
Use it for dbox's attachment_fs.
531
* src/lib-fs/Makefile.am, src/lib-fs/istream-fs-file.c, src/lib-fs
533
lib-fs: Added istream-fs-file to lazily read from fs_file.
536
* src/lib/istream-private.h, src/lib/istream.c:
537
istream: Added i_stream_init_parent() to lazily initialize the
541
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
542
request.c, src/lib-http/test-http-client.c:
543
lib-http: Use [io]_stream_get_error() instead of just errno strings.
546
* src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync/dsync-
548
dsync: Use i_stream_get_error() instead of just errno in stream
552
* src/replication/replicator/replicator.c:
553
replicator: Database should be exported (not imported!) every 15
557
* src/lib-storage/index/dbox-multi/mdbox-storage.c:
558
mdbox: Fixed race condition when mailbox GUID was looked up before
559
mailbox create was finished.
562
* src/lib-imap-storage/imap-msgpart.c:
563
lib-imap-storage: Fixed leaking istream on error conditions. Caught
567
* src/imap/cmd-append.c:
568
imap: Fixed potential crash if client disconnected during APPEND.
571
2013-11-05 Timo Sirainen <tss@iki.fi>
573
* src/lib-mail/message-parser.c:
574
lib-mail: Fixed infinite loop in message-parser if message ends with
575
--boundary+CR Thanks to Tomasz Potega for finding this.
578
* src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/mailbox-
579
list.c, src/lib-storage/mailbox-list.h:
580
lib-storage: Added FULLDIRNAME=name to mail_location. The difference
581
to DIRNAME is that the name is used also for index and control
585
2013-11-04 Timo Sirainen <tss@iki.fi>
587
* src/ssl-params/ssl-params.c:
588
ssl-params: Compiler warning fix when building without OpenSSL
591
2013-11-03 Timo Sirainen <tss@iki.fi>
594
ostream: Mark stream closed before handling its callback to avoid
595
infinite loops. The callback could call
596
o_stream_copy_error_from_parent(), which in turn would try to close
597
the same ostream again.
601
Added signature for changeset b5b118701aa8
605
Added tag 2.2.7 for changeset b5b118701aa8
608
* NEWS, configure.ac:
610
[b5b118701aa8] [2.2.7]
612
* src/lib-http/test-http-response-parser.c:
613
Make static analyzer happier
616
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
617
Make static analyzer happier.
620
* src/auth/auth-worker-client.c:
621
auth-worker: Potential crashfix at deinit
624
* src/auth/auth-master-connection.c:
625
auth: Crashfix to "doveadm auth cache flush" when auth cache was
629
* src/auth/auth-request-handler.c:
630
auth: Potential crashfix
633
* src/lib-master/master-service.c, src/lib/lib.c, src/lib/lib.h:
634
Call lib_atexit() callbacks before destroying the lib-master ioloop.
637
* src/lib-imap/imap-arg.c:
638
lib-imap: imap_arg_get_atom() should also treat NIL as valid atom.
641
2013-11-02 Timo Sirainen <tss@iki.fi>
643
* src/lib-storage/mail-search-parser-imap.c:
644
lib-storage: Fixed parsing NILs in search parameters.
647
* src/lib-imap/imap-arg.c, src/lib-imap/imap-parser.c:
648
lib-imap: Fixed NIL astring to not lose its case-sensitivity.
651
* src/lib-imap/imap-quote.c:
652
lib-imap: When writing "NIL" as astring, write it always as a
656
* src/imap/cmd-getmetadata.c:
657
imap: Fixed GETMETADATA NIL to treat it as "NIL"
660
* src/lib-imap/imap-arg.c, src/lib-imap/imap-arg.h:
661
lib-imap: NIL as astring is the same as "NIL" This is a bit klugdy
662
but works as long as all callers use imap_arg_get_astring() instead
663
of trying to handle it themselves.
666
* src/imap/Makefile.am, src/imap/cmd-getmetadata.c, src/imap/cmd-
667
setmetadata.c, src/imap/imap-client.c, src/imap/imap-client.h,
668
src/imap/imap-commands.c, src/imap/imap-commands.h, src/imap/imap-
669
metadata.c, src/imap/imap-metadata.h, src/imap/imap-settings.c,
670
src/imap/imap-settings.h:
671
imap: Added initial support for METADATA extension. For now this is
672
enabled only when imap_metadata=yes setting is used. The setting
673
will go away once the feature is complete. Also mail_attribute_dict
677
- Metadata doesn't work for public namespaces. There should probably
678
be a mail_attribute_public_dict setting for that.
679
- There isn't any kind of quota or other limits
680
- After ENABLE METADATA start sending untagged METADATA entries to
682
- /shared/admin should probably return postmaster_address URL
683
- Check if we handle ACLs correctly
684
- RFC says that it SHOULD be possible to set METADATA entries to
685
\NoSelect mailboxes. We probably will never allow this though.
688
* src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h:
689
lib-imap: Added IMAP_PARSE_FLAG_STOP_AT_LIST for stopping after '('
692
* src/lib-imap/imap-parser.c:
693
lib-imap: IMAP protocol parser was parsing NIL case-sensitively.
694
Luckily no commands currently actually use NILs.
697
* src/ssl-params/ssl-params-openssl.c:
698
ssl-params: Don't fail completely if 512 bit DH parameters
702
* doc/example-config/conf.d/10-ssl.conf, src/login-common/ssl-proxy-
703
openssl.c, src/ssl-params/ssl-params-openssl.c, src/ssl-params/ssl-
704
params-settings.c, src/ssl-params/ssl-params-settings.h, src/ssl-
705
params/ssl-params.c, src/ssl-params/ssl-params.h:
706
ssl-params: Added ssl_dh_parameters_length & removed
707
ssl_parameters_regenerate setting. ssl_parameters_regenerate was
708
based on some text from GNUTLS documentation a long time ago, but
709
there's really not much point in doing it.
711
Ideally we should also support "openssl dhparam" input files, but
712
for now there's the ssl_dh_parameters_length setting that can be
713
used to specify the wanted DH parameters length. If the current ssl-
714
parameters.dat has a different length, it's regenerated.
716
We should probably at some point support also built-in DH parameters
717
which are returned while the ssl-params runs.
720
* src/ssl-params/ssl-params.c:
721
ssl-params: Fixed closing listener fds for regeneration process.
724
* src/doveadm/dsync/dsync-transaction-log-scan.c:
725
dsync: Don't track too new changes from transaction log. This
726
mattered only during race conditions while there were changes being
727
done to the mailbox during syncing.
730
* src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth
731
/auth-request.h, src/lib-master/master-login-auth.c:
732
auth: Added %{session_pid} variable for userdb lookups in login
733
requests. session_pid is now always sent to auth process. A new
734
request_auth_token parameter was added to specify if auth_token
735
should be returned or not.
738
* src/lib-storage/index/maildir/maildir-sync.c:
739
maildir: If filename begins with ':', rename it immediately instead
743
* src/lib-storage/index/mbox/mbox-sync.c:
744
mbox: Added assert to try to catch corruption.
747
* src/auth/passdb-shadow.c:
748
auth: passdb shadow supports now lookup_credentials() API
751
* src/auth/auth-master-connection.c:
752
auth: Return a reason string if PASS lookup fails because passdbs
756
* src/auth/passdb-passwd.c:
757
auth: passdb passwd supports now lookup_credentials() API It's not
758
very useful, but at least it allows the lookup itself to succeed.
761
* src/lib-storage/index/dbox-multi/mdbox-map.c:
762
mdbox: When mail's refcount is too high, don't prevent shrinking the
766
* src/doveadm/doveadm-mail-import.c:
767
doveadm import: Fixed translating different source and dest
768
hierarchy separators in mailbox names.
771
2013-11-01 Timo Sirainen <tss@iki.fi>
773
* src/lib-storage/mail-storage-hooks.c:
774
lib-storage: If hook is forced, don't bother checking if it's in
778
* src/lib-storage/mail-storage-hooks.c:
779
lib-storage: Hooks weren't called exactly in the order they were
780
intended. The comparison didn't skip the paths, so the "lib" prefix
781
skipping didn't work.
784
2013-10-30 Timo Sirainen <tss@iki.fi>
786
* src/lib/module-dir.c:
787
module-dir: Allow plugins to have deinit() function without init()
791
2013-10-29 Timo Sirainen <tss@iki.fi>
793
* src/lib-http/test-http-server.c:
794
Compiling fix for old GCC
797
* src/lib-storage/mail-storage.c:
798
lib-storage: Allow storage name to contain '_'
802
configure: Added mdbox_deleted storage.
805
* src/lib-storage/index/dbox-multi/Makefile.am, src/lib-storage/index
806
/dbox-multi/mdbox-deleted-storage.c, src/lib-storage/index/dbox-
807
multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-map.h, src
808
/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
809
/dbox-multi/mdbox-storage.h:
810
mdbox: Added "mdbox_deleted" storage, which can be used to access
811
messages with refcount=0 For example: doveadm import
812
mdbox_deleted:~/mdbox "" mailbox inbox subject oops
815
* src/lib-index/mail-index-alloc-cache.c:
816
lib-index: Don't mix index struct caching for in-memory vs. disk
820
* src/lib-storage/index/mbox/mbox-sync-rewrite.c:
821
mbox: Added extra assert
824
* src/lib-storage/index/imapc/imapc-storage.c:
825
imapc: Added a Courier-workaround for not returning UIDNEXT on
829
* src/plugins/virtual/virtual-config.c:
830
virtual: If virtual mailbox has no config file, assume it's just
831
nonexistent. Most importantly if the virtual namespace root doesn't
832
have the config, it should fail with MAIL_ERROR_NOTFOUND rather than
833
MAIL_ERROR_NOTPOSSIBLE.
836
* src/lib-http/http-url.c, src/lib-http/http-url.h:
837
lib-http: Added http_url_escape_path()
840
2013-10-28 Timo Sirainen <tss@iki.fi>
842
* src/doveadm/client-connection.c:
843
doveadm-server: Minor error message improvement.
846
* src/doveadm/client-connection.c:
847
doveadm-server: ioloop change caused assert-crashes if outgoing data
848
was buffered at the end.
851
2013-10-26 Timo Sirainen <tss@iki.fi>
853
* src/auth/checkpassword-reply.c, src/auth/db-checkpassword.c:
854
auth: Refuse to run checkpassword script insecurely by default
857
* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
858
/fts-backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c,
859
src/plugins/fts-solr/fts-solr-plugin.h, src/plugins/fts-solr/solr-
861
fts-solr: Fixed support for multiple Solr hosts when same process
862
handles multiple users. E.g. indexer-worker was always using only
863
the first user's Solr host.
866
* src/lib-http/http-client-host.c:
867
lib-http: Recent DNS change caused lib-http to access uninitialized
871
* src/doveadm/dsync/doveadm-dsync.c:
872
dsync: Fixed crashes at deinit when -r rawlog parameter was used.
875
* src/auth/auth-request.c:
876
auth: Fixed crash with auth_verbose_passwords!=no and non-plaintext
880
* src/auth/auth-request.c:
881
auth: Fixed assert-crash with auth_verbose_passwords!=no and 32bit
882
systems. t_strndup() assert-crashed with size=UINT_MAX parameter.
885
2013-10-24 Timo Sirainen <tss@iki.fi>
887
* src/login-common/client-common-auth.c:
888
*-login: Send the auth reply back corked.
891
* src/login-common/client-common-auth.c, src/login-common/login-
893
login proxy: Use corking when writing data.
896
* src/auth/auth-cache.c, src/auth/auth-request.c, src/auth/auth-
897
request.h, src/auth/passdb-cache.c:
898
auth: Cache master user logins also.
901
* src/doveadm/doveadm-mail-mailbox.c:
902
doveadm mailbox create: Added -g <guid> parameter to create mailbox
906
2013-10-23 Timo Sirainen <tss@iki.fi>
908
* src/doveadm/doveadm-mail-copymove.c:
909
doveadm copy: Don't require the extra mailbox+extra parameter checks
910
as expunge/move requires. Perhaps they wouldn't be necessary even
914
* src/doveadm/doveadm-mail-expunge.c:
915
doveadm expunge: Improved the error hint message about using
916
something else besides MAILBOX.
919
* src/lib-master/master-service.c:
920
lib-master: Fix to previous commit. It broke doveadm-server's "does
921
client need authentication?" check.
924
* src/stats/mail-session.c:
925
stats: Hide warnings about old autocreated sessions having gotten
929
* src/lib-master/master-service.c:
930
lib-master: If service_count=1, close the listener before starting
931
to handle the connection. This way if the connection handling takes
932
a long time and the service doesn't notice that master dies, it can
933
keep running without keeping the listener fds open and preventing a
937
* src/plugins/replication/replication-plugin.c:
938
replication plugin: Hide write(fifo) EPIPE errors, which just mean a
942
* src/lib-dict/dict-redis.c:
943
dict-redis: Don't crash if we get disconnected during an open
947
* src/lib-dict/dict-redis.c:
948
dict-redis: Don't crash when receiving invalid input instead of
952
* src/doveadm/doveadm-mail-server.c:
953
doveadm-server: Fixed hangs caused by previous commit
956
* src/lib/ioloop-private.h, src/lib/ioloop.c:
957
io_loop_run() now assert-crashes if it's attempted to be used
958
recursively for the same ioloop.
961
* src/doveadm/client-connection.c, src/doveadm/doveadm-mail-server.c:
962
doveadm-server: Don't call io_loop_run() recursively for the same
963
ioloop. This breaks things more or less badly, especially ioloop-
964
kqueue really didn't like it.
967
* src/lib-auth/auth-master.c:
968
lib-auth: auth_master_cache_flush() always waited for timeout before
972
* src/auth/auth-master-connection.c:
973
auth: Don't crash with "doveadm auth cache flush" when cache is
977
* src/lib/ioloop-kqueue.c:
978
ioloop-kqueue: Added extra assert.
981
2013-10-22 Timo Sirainen <tss@iki.fi>
983
* src/lib-dns/dns-lookup.c:
984
lib-dns: Fixed busy looping when dns-client disconnected.
987
* src/lib-fs/fs-api.h:
988
lib-fs: Added dns_client to fs_settings.
991
* src/lib-http/http-client-host.c, src/lib-http/http-client.c, src
992
/lib-http/http-client.h:
993
lib-http: Support DNS lookups via the new dns-client API.
996
* src/lib-dns/dns-lookup.c, src/lib-dns/dns-lookup.h:
997
lib-dns: Added alternative API for doing longer connections to dns-
1001
2013-10-21 Timo Sirainen <tss@iki.fi>
1003
* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
1004
/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-mailbox-tree.h,
1005
src/doveadm/dsync/test-dsync-mailbox-tree-sync.c:
1006
doveadm backup: If -D parameter is given, log the reason why mailbox
1010
* src/imap/cmd-copy.c:
1011
imap: COPY allows transaction commit now to fail with "some messages
1015
2013-10-16 Timo Sirainen <tss@iki.fi>
1017
* src/lib-imap-storage/imap-msgpart.c:
1018
imap: Don't assert-crash on FETCH BODY[MIME] (return BAD instead)
1021
2013-10-12 Stephan Bosch <stephan@rename-it.nl>
1023
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
1024
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
1025
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
1026
client.c, src/lib-http/http-client.h:
1027
lib-http: http-client: Added support for tunneling SSL conntections
1031
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
1032
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
1033
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
1034
client.h, src/lib-http/http-response-parser.c, src/lib-http/http-
1035
response-parser.h, src/lib-http/http-response.h:
1036
lib-http: Added support for creating CONNECT tunnels through HTTP.
1039
* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h,
1040
src/lib-http/http-client-request.c, src/lib-http/http-client.c, src
1041
/lib-http/http-client.h:
1042
lib-http: http-client: Implemented proxy support.
1045
* src/lib-http/http-url.c, src/lib-http/http-url.h:
1046
lib-http: Implemented functions for cloning and copying HTTP URLs
1047
and for constructing partial URLs.
1050
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
1051
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
1053
lib-http: http-client: Added request error code for broken payload
1054
input stream. This error is triggered when reading from the provided
1055
payload input stream fails while sending the request. Previously
1056
this would yield the same error code as for a failure to write to
1057
the connection output.
1060
* src/lib-http/http-client-connection.c, src/lib-http/http-client.c,
1061
src/lib-http/http-client.h:
1062
lib-http: Added support for disabling automatic redirects.
1065
* src/lib-http/http-client-request.c:
1066
lib-http: http-client: Made requests release payload input stream as
1067
early as possible. This prevents deadlock conditions when used for
1071
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
1072
private.h, src/lib-http/http-client-request.c:
1073
lib-http: http-client: When client request is retried based on a
1074
response received from server, return full response to caller if
1075
retry is not possible. Before, it would construct a dummy-response
1076
that basically retains only the status and reason elements. This is
1077
currently only relevant for the way a 417 Expectation Failed
1078
response from the server is handled.
1081
* src/lib-http/http-response.c, src/lib-http/http-response.h:
1082
lib-http: http-client: Made dummy response for returning internal
1083
errors more complete by filling in the version number and a proper
1087
* src/lib-http/test-http-request-parser.c:
1088
lib-http: Added more tests for the http_request_parser.
1091
2013-10-11 Timo Sirainen <tss@iki.fi>
1093
* src/lib-dns/dns-lookup.c:
1094
lib-dns: Close dns-client fd before calling callback. Just in case
1095
the callback is slow and keeps the fd unnecessarily long open.
1098
* src/lib-lda/lmtp-client.c:
1099
lib-lda: lmtp_client_connect_tcp() shouldn't immediately call
1100
callbacks if dns lookup fails.
1103
* src/imap/cmd-append.c:
1104
imap: Improved "EOF while appending" disconnect log message.
1107
* src/lib/ostream.c:
1108
liblib: If parent ostream closes itself on error, close our ostream
1109
as well. This avoids a situation where ostream is basically unusable
1110
with last_failed_errno set, but it's not marked as closed. The
1111
current code often checks ostream->closed but doesn't check
1112
last_failed_errno. ostream-file also autocloses the stream, but
1113
filter ostreams without this patch don't autoclose, so this caused
1114
problems with e.g. IMAP COMPRESSION extension where the zlib-ostream
1115
didn't get marked as closed, although the problem was only logging
1116
"BUG: Unknown internal error" instead of "Disconnected" as the
1117
client's disconnect reason.
1120
* src/lib-storage/list/mailbox-list-index-backend.c, src/lib-
1121
storage/list/mailbox-list-index-sync.c, src/lib-storage/list
1122
/mailbox-list-index.h:
1123
LAYOUT=index: Fixed race condition during mailbox creation.
1126
* src/lib-storage/index/index-search.c, src/lib-storage/mail-search.c:
1127
lib-storage: If search finds a match to a cached header, don't open
1131
* src/lib-storage/index/index-search.c:
1132
lib-storage: Header+body searches might not have searched the body
1133
in some cases. Only the header was requested for the search stream,
1134
which with imapc and pop3c could have caused the body not to be in
1135
the stream, although it usually was because of the "fetch body"
1139
2013-10-10 Timo Sirainen <tss@iki.fi>
1141
* src/master/service-process.c:
1142
master: host.domain lookups weren't cached, they were done at the
1143
worst possible time. This fixes "net_connect_unix(imap) failed:
1144
Resource temporarily unavailable" and various other issues where
1145
processes weren't being created fast enough if the host.domain
1146
lookup was slow (e.g. done via external DNS).
1149
2013-10-08 Timo Sirainen <tss@iki.fi>
1151
* doc/example-config/conf.d/10-logging.conf, src/auth/auth-request.c,
1152
src/auth/auth-settings.c:
1153
auth: Added ability to truncate values logged by
1154
auth_verbose_passwords.
1157
* src/lib-http/http-client-private.h, src/lib-http/http-client-
1158
request.c, src/lib-http/http-client.c, src/lib-http/http-client.h:
1159
lib-http: Added setting for User-Agent header.
1162
2013-10-06 Timo Sirainen <tss@iki.fi>
1164
* src/lib-http/Makefile.am:
1165
lib-http: Fixed linking with some compilers Inline functions in
1166
http-header.h still required linking http-header.lo with e.g. Sun
1170
2013-10-05 Timo Sirainen <tss@iki.fi>
1172
* src/lib-fs/fs-api.c, src/lib-fs/fs-api.h:
1173
lib-fs: Added FS_OPEN_FLAG_ASYNC_NOQUEUE
1176
2013-10-03 Timo Sirainen <tss@iki.fi>
1178
* src/doveadm/dsync/doveadm-dsync.c:
1179
dsync: Added missing alarm(0) This didn't really cause any problems
1180
normally since the process was usually just about to die anyway.
1183
* src/lib/failures.c, src/master/master-settings.c, src/master
1185
If DEBUG_OUTOFMEM environment is set, abort() on "out of memory"
1189
* src/doveadm/dsync/dsync-mailbox-import.c:
1190
dsync: Removed periodic commits while importing. The problem is that
1191
the current algorithm doesn't handle it correctly. If there already
1192
are some mails that exist locally, or remote has duplicate mails,
1193
the messages may not be saved in the UID order, and if there's a
1194
commit between such wrong ordering, the UIDs get renumbered.
1197
2013-10-02 Timo Sirainen <tss@iki.fi>
1199
* src/lib-storage/list/mailbox-list-index.c:
1200
mailbox_list_index: Fixed assert-crash sometimes when deleting a
1204
2013-09-30 Timo Sirainen <tss@iki.fi>
1206
* src/doveadm/doveadm-fs.c:
1207
doveadm fs delete: Added -R parameter for recursive deletion.
1210
* src/lib-storage/mail-storage.c:
1211
lib-storage: Fail with an error instead of crash with namespace
1215
2013-09-26 Timo Sirainen <tss@iki.fi>
1217
* src/lib/ioloop-epoll.c:
1218
Panic if io_remove() fails with EBADF. It's a bug that shouldn't
1219
really be ignored. Panicing will give a debuggable core dump.
1222
* src/lib-http/http-header-parser.c:
1223
lib-http: 32bit system fix.
1226
2013-09-25 Timo Sirainen <tss@iki.fi>
1229
Added signature for changeset 1de9a494cb25
1233
Added tag 2.2.6 for changeset 1de9a494cb25
1236
* NEWS, TODO, configure.ac:
1238
[1de9a494cb25] [2.2.6]
1240
2013-09-23 Timo Sirainen <tss@iki.fi>
1242
* src/imap-login/imap-login-settings.c, src/lib-master/service-
1243
settings.h, src/master/master-settings.c, src/master/service-
1244
listen.c, src/master/service-listen.h, src/master/service-process.c,
1245
src/master/service.h, src/pop3-login/pop3-login-settings.c:
1246
master: Added reuse_port setting to inet_listeners, which enables
1247
SO_REUSEPORT if available. After forking a new service process, a
1248
new listener socket is created for each such inet_listener. Linux
1249
v3.9+ added SO_REUSEPORT feature, which should distribute clients
1250
more uniformly to the processes. I'm not sure if this makes any
1253
At least in Linux v3.9 there was still a bug that if the number of
1254
listening processes changed, some TCP handshakes might not finish. I
1255
don't see if this has already been fixed, so this is probably safe
1256
to use only for services whose process count doesn't change (e.g.
1257
process_min_avail is set high enough).
1260
* src/lib/net.c, src/lib/net.h:
1261
lib: Added net_listen_full() with a flag to set SO_REUSEPORT on the
1262
socket if available.
1265
2013-09-22 Timo Sirainen <tss@iki.fi>
1267
* src/lib-storage/index/imapc/imapc-list.c:
1268
imapc: Don't crash if imapc_password is missing.
1271
* src/lib-storage/index/maildir/maildir-storage.c:
1272
maildir: Autocreate missing cur/ new/ tmp/ directories only with
1273
Maildir++ and imapdir. \Noselect mailboxes aren't possible with
1274
those layouts, but with other layouts they are and they shouldn't
1275
get automatically created just by selecting them.
1279
i_getpw*(): Added OpenBSD workaround.
1282
* src/lib-mail/istream-attachment-connector.c:
1283
istream-attachment-connector: Add base64 parameters to stream name
1287
* src/lib/istream-sized.c:
1288
istream-sized: Fail read() also when the stream is larger than it
1292
* src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/mail-
1294
mbox: Fixed assert-crash due to wrong transaction_count handling.
1295
This happened only when messages had been expunged by another
1296
session just before saving a new message.
1299
* src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-
1301
lib-fs: Improved fs_write_*() error messages.
1304
* src/lib-storage/index/index-attachment.c:
1305
lib-storage: Improve error message logging when attachment writing
1309
* src/lib/iostream-private.h, src/lib/iostream.c, src/lib/istream.c,
1310
src/lib/istream.h, src/lib/ostream.c, src/lib/ostream.h:
1311
lib: Added [io]_stream_create_error_str()
1314
* src/lib/ostream.c:
1315
ostream-errno: last_failed_errno wasn't set, causing problems with
1319
* src/lib-mail/istream-attachment-extractor.c, src/lib-mail/istream-
1320
attachment-extractor.h, src/lib-mail/test-istream-attachment.c, src
1321
/lib-storage/index/index-attachment.c:
1322
Fixes and improvements to istream-attachment-extractor error
1323
handling. If an attachment saving failed, the mail was still saved
1324
to disk, just without the attachments.
1327
* src/plugins/acl/acl-mailbox-list.c:
1328
acl: Hide non-listable mailboxes from a shared subscriptions file.
1331
* doc/example-config/conf.d/10-logging.conf:
1332
example-config: Fixed login_log_format comment.
1335
* src/auth/auth-request.c:
1336
auth: If auth_verbose_passwords is set, log the password also for
1340
* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/db-
1341
passwd-file.c, src/auth/passdb-bsdauth.c, src/auth/passdb-cache.c,
1342
src/auth/passdb-dict.c, src/auth/passdb-ldap.c, src/auth/passdb-
1343
pam.c, src/auth/passdb-passwd.c, src/auth/passdb-shadow.c, src/auth
1344
/passdb-sql.c, src/auth/userdb-dict.c, src/auth/userdb-ldap.c,
1345
src/auth/userdb-nss.c, src/auth/userdb-passwd.c, src/auth/userdb-
1346
sql.c, src/auth/userdb-vpopmail.c:
1347
auth: Use a common auth_request_log_unknown_user() for logging
1348
"unknown user" entries.
1352
net_listen_unix(): If path is too long, return EOVERFLOW instead of
1357
If EOVERFLOW errno isn't defined by system, fallback to ERANGE
1358
instead of EINVAL. ERANGE is used by other functions as well, such
1362
* doc/example-config/conf.d/10-ssl.conf, src/lib-master/master-
1363
service-ssl-settings.c, src/lib-master/master-service-ssl-
1364
settings.h, src/lib-master/master-service-ssl.c, src/lib-ssl-
1365
iostream/iostream-openssl-context.c, src/lib-ssl-iostream/iostream-
1366
openssl.c, src/lib-ssl-iostream/iostream-ssl.h, src/login-common
1367
/ssl-proxy-openssl.c:
1368
Added ssl_prefer_server_ciphers setting.
1371
* src/lib-storage/index/mbox/Makefile.am, src/lib-storage/index/mbox
1372
/mbox-storage.c, src/lib-storage/index/mbox/mbox-storage.h, src/lib-
1373
storage/index/mbox/mbox-sync-list-index.c, src/lib-
1374
storage/index/mbox/mbox-sync-private.h:
1375
mbox: Fixed mailbox_list_index=yes to work with non-Dovecot mbox
1379
* src/auth/auth-request-handler.c, src/login-common/client-common.c,
1380
src/login-common/client-common.h, src/login-common/sasl-server.c:
1381
*-login: Added %{orig_user}, %{orig_username} and %{orig_domain}
1382
variables. The original username is what the client sent to server
1383
before any translations.
1386
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
1387
private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
1388
brain.h, src/doveadm/dsync/dsync-ibc-stream.c:
1389
dsync: Added -P parameter to do a purge for the remote storage after
1393
2013-09-21 Timo Sirainen <tss@iki.fi>
1395
* src/lib-storage/mailbox-list.c:
1396
lib-storage: Fixed listescape when escape_char was the same as
1397
namespace separator.
1400
* src/imap/cmd-select.c, src/imap/imap-commands-util.c, src/imap/imap-
1402
imap: Send * OK [CLOSED] always before tagged SELECT reply.
1405
* src/lib-storage/mail-storage-service.c:
1406
lib-storage: Don't create a settings cache for initial global
1407
settings read. This fixes at least doveadm -A so that it doesn't
1408
connect to config process for each user.
1411
* src/auth/auth-master-connection.c, src/auth/auth-worker-client.c:
1412
auth: Fixed user iteration hang due to earlier stream corking
1413
changes. Also fixed process title updating for auth-worker process
1417
* src/lib-auth/auth-master.c:
1418
lib-auth: Fixed infinite looping if user listing failed because auth
1419
process disconnected.
1422
* src/lib-auth/auth-master.c:
1423
lib-auth: Recent cleanup commit was actually cleaning up too much.
1426
* src/doveadm/dsync/dsync-brain-mailbox.c:
1427
doveadm sync: When -1 parameter is used, ignore missing mailboxes in
1428
source. Previously the syncs finished with "Mailbox changes caused a
1429
desync." and exit code 2. This was especially common when the
1430
destination server had new autocreated mailboxes and user logged in
1431
after the first dsync.
1434
* src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c, src/doveadm/dsync
1435
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-mailbox-import.c:
1436
dsync: Added more consistency when debug logging about changes
1440
* src/doveadm/dsync/dsync-mailbox-import.c:
1441
dsync: Added some more debug logging.
1444
* src/lib-storage/index/imapc/imapc-list.c, src/lib-storage/mail-
1445
user.c, src/lib-storage/mail-user.h:
1446
imapc: Don't log unnecessary errors at deinit about aborted hiearchy
1447
separator lookup. The lookup is done asynchronously at startup. It
1448
doesn't matter if we never get around to finishing it.
1451
2013-09-20 Timo Sirainen <tss@iki.fi>
1453
* src/director/director-connection.c:
1454
director: Detect lost director restarts and reset last_sync_seq.
1457
* src/director/director-connection.c:
1458
director: Make sure director restart notifications go to everyone in
1462
* src/director/director-connection.c:
1463
director: Directors weren't always marked as restarted when they
1467
* src/director/director-connection.c:
1468
director: Fix & improvement to debug logging.
1471
* src/director/director-connection.c:
1472
director: Added more debug logging.
1475
* src/director/login-connection.c:
1476
director: Don't assert-crash if PASS lookup fails.
1479
* src/doveadm/dsync/doveadm-dsync.c:
1480
dsync: Don't log "Mailbox changes caused a desync" warning when
1481
running via doveadm-server.
1484
* src/ssl-params/ssl-params.c:
1485
ssl-params: Long-running ssl-params process shouldn't cause Dovecot
1489
* src/lib-ssl-iostream/iostream-openssl-context.c:
1490
lib-ssl-iostream: Give better error message if CA settings are
1494
* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
1495
storage/index/dbox-multi/mdbox-storage.h, src/lib-storage/index
1496
/dbox-multi/mdbox-sync.c, src/lib-storage/index/dbox-single/sdbox-
1497
storage.c, src/lib-storage/index/dbox-single/sdbox-storage.h, src
1498
/lib-storage/index/dbox-single/sdbox-sync.c:
1499
dbox: Fixed "UIDVALIDITY=0" error race condition. If session 1 had
1500
mkdir()ed but not yet created the initial index, while session 2
1501
attempted to open the mailbox, it would create an empty index and
1505
* src/master/main.c:
1506
master: Make sure new processes aren't created after stop signal is
1510
* src/lib-storage/index/mbox/mbox-mail.c:
1511
mbox: Handle correctly if MAIL_FETCH_HEADER_MD5 lookup fails because
1512
mail is already expunged.
1515
* src/lib-auth/auth-master.c:
1516
lib-auth: Don't leave stale pointers to stack lying around in
1520
* src/lib/ioloop-kqueue.c:
1521
ioloop-kqueue: Added assert
1524
* src/imap/cmd-append.c, src/imap/cmd-urlfetch.c, src/imap/imap-fetch-
1526
imap: If FETCH fails, log the stream's error string instead of
1530
* src/lib/istream-chain.c, src/lib/istream-concat.c, src/lib/istream-
1532
istream-chain/concat/seekable: When child stream fails, copy its
1536
* src/lib/istream-file.c:
1537
istream-file: Assert-crash if read() fails with EBADF. Something's
1538
already wrong at that point and it may not be safe to continue. Also
1539
crashing makes it easier to debug such situation.
1542
* src/lib-compression/istream-bzlib.c, src/lib-compression/istream-
1543
zlib.c, src/lib-fs/istream-metawrap.c, src/lib-mail/istream-dot.c,
1544
src/lib-mail/istream-qp-decoder.c, src/lib-ssl-iostream/iostream-
1545
openssl.c, src/lib-ssl-iostream/iostream-openssl.h, src/lib-ssl-
1546
iostream/istream-openssl.c, src/lib-ssl-iostream/ostream-openssl.c,
1547
src/lib-storage/index/istream-mail.c, src/lib-storage/index/mbox
1548
/istream-raw-mbox.c, src/lib/istream-base64-decoder.c, src/lib
1549
/istream-concat.c, src/lib/istream-file.c, src/lib/istream-hash.c,
1550
src/lib/istream-jsonstr.c, src/lib/istream-mmap.c, src/lib/istream-
1551
sized.c, src/lib/ostream-file.c:
1552
iostreams: Set stream error string when it provides extra
1556
* src/lib/iostream-private.h, src/lib/iostream.c, src/lib/istream.c,
1557
src/lib/istream.h, src/lib/ostream.c, src/lib/ostream.h:
1558
iostream: Added ability to set/get error strings for streams.
1561
2013-09-19 Timo Sirainen <tss@iki.fi>
1563
* src/doveadm/doveadm-auth.c:
1564
doveadm: Added "auth lookup" command to do a passdb lookup.
1567
* src/auth/passdb.c:
1568
auth: Fixed non-auth passdb lookup when password had ".<encoding>"
1572
* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
1573
client.h, src/lib-storage/index/imapc/imapc-list.c, src/lib-
1574
storage/index/imapc/imapc-storage.c:
1575
imapc: Abort pending commands before any deinitialization to avoid
1579
2013-09-18 Stephan Bosch <stephan@rename-it.nl>
1581
* src/lib-http/Makefile.am, src/lib-http/test-http-request-parser.c:
1582
lib-http: Created tests for http_request_parser.
1585
* src/lib/uri-util.c:
1586
uri-util: Improved authority 'host' parse error.
1589
* src/lib-http/http-url.c:
1590
lib-http: http-url: Fixed return of proper error message in case of
1591
a failure to parse request target Host header. Assigned the error to
1592
the parser object rather than returning it directly.
1595
* src/lib-http/http-request-parser.c:
1596
lib-http: Fixed handling of limits=NULL parameter for
1597
http_request_parser_init. Got messed up in patch queue.
1600
2013-09-18 Timo Sirainen <tss@iki.fi>
1602
* src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c:
1603
dsync: Don't attempt to access mailbox contents with -g "" or -m ""
1607
2013-09-17 Timo Sirainen <tss@iki.fi>
1609
* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
1611
lib-storage: Added a separate prefix for server metadata that aren't
1615
* src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c, src/doveadm/dsync
1616
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-private.h,
1617
src/doveadm/dsync/dsync-mailbox-import.c:
1618
dsync: Improved debug/error logging for changes during sync.
1621
2013-09-17 Stephan Bosch <stephan@rename-it.nl>
1623
* src/lib-http/http-url.c, src/lib-http/http-url.h, src/lib-http/test-
1625
lib-http: Added (non-default) support for parsing user:pasword from
1629
* src/lib-imap/imap-url.c, src/lib-imap/test-imap-url.c:
1630
lib-imap: imap-url: Forgot to check for the presence of ':' in
1631
userinfo, which is not allowed.
1634
2013-09-16 Timo Sirainen <tss@iki.fi>
1636
* src/imap/imap-fetch-body.c:
1637
imap: Fixed/improved error logging for FETCH
1640
2013-09-17 Stephan Bosch <stephan@rename-it.nl>
1642
* src/lib-http/http-client-private.h, src/lib-http/http-client-
1644
lib-http: http-client: Allow overriding all implicitly generated
1645
special headers. Which are: Connection, Content-Length, Date,
1646
Expect, Host, and Transfer-Encoding.
1649
2013-09-16 Timo Sirainen <tss@iki.fi>
1651
* src/lib/uri-util.c:
1652
Fixed uri_parse_slashslash_authority() to skip over "//".
1655
2013-09-16 Stephan Bosch <stephan@rename-it.nl>
1657
* src/lib-http/http-client-connection.c:
1658
lib-http: http-client: Fixed segfault caused by earlier improvement
1659
of connection output locking. Segfault was triggered when an aborted
1660
request received a response.
1663
2013-09-15 Stephan Bosch <stephan@rename-it.nl>
1665
* src/lib-http/http-client-request.c:
1666
lib-http: http-client: Implemented explicit HTTP/1.0 support.
1669
* src/lib-http/http-message-parser.c:
1670
lib-http: Added support for handling HTTP/1.0 messages explicitly.
1671
This means that default connection persistence semantics are
1672
inverted for HTTP/1.0 and keep-alive Connection option is
1676
* src/lib-http/http-request-parser.c, src/lib-http/http-request-
1677
parser.h, src/lib-http/http-request.h:
1678
lib-http: Added support for parsing Expect: header (currently only
1679
accepts `100-continue').
1682
* src/lib-http/http-request-parser.c, src/lib-http/http-request-
1684
lib-http: http-request-parser: Added function to test whether
1685
payload from previous request is still being parsed. This is needed
1686
in the server implementation to check whether a request is
1690
* src/lib-http/http-request-parser.c, src/lib-http/http-request-
1691
parser.h, src/lib-http/http-request.h, src/lib-http/test-http-
1693
lib-http: Implemented limits on request method and target length.
1696
* src/lib-http/http-message-parser.c, src/lib-http/http-message-
1697
parser.h, src/lib-http/http-request-parser.c, src/lib-http/http-
1698
response-parser.c, src/lib-http/http-transfer-chunked.c, src/lib-
1699
http/http-transfer.h, src/lib-http/test-http-transfer.c:
1700
lib-http: Added support for enforcing a payload limit for incoming
1704
* src/lib-http/http-message-parser.c, src/lib-http/http-message-
1705
parser.h, src/lib-http/http-request-parser.c, src/lib-http/http-
1706
request-parser.h, src/lib-http/http-response-parser.c, src/lib-http
1707
/test-http-server.c:
1708
lib-http: Adjusted message and request parsers to return an error
1712
* src/lib-http/http-request-parser.c, src/lib-http/http-request.h, src
1713
/lib-http/test-http-server.c:
1714
lib-http: Adjusted request parser to pre-parse the request target
1715
and host header into a proper target url.
1718
* src/lib-http/http-request.h, src/lib-http/http-url.c, src/lib-http
1720
lib-http: Added support for parsing request target URLs.
1723
* src/lib-http/http-request-parser.c, src/lib-http/http-response-
1725
lib-http: Improved display of invalid characters in parse error
1729
* src/lib-http/http-client-connection.c, src/lib-http/http-client.c,
1730
src/lib-http/http-client.h, src/lib-http/http-header-parser.c, src
1731
/lib-http/http-header-parser.h, src/lib-http/http-header.h, src/lib-
1732
http/http-message-parser.c, src/lib-http/http-message-parser.h, src
1733
/lib-http/http-request-parser.c, src/lib-http/http-request-parser.h,
1734
src/lib-http/http-response-parser.c, src/lib-http/http-response-
1735
parser.h, src/lib-http/http-transfer-chunked.c, src/lib-http/test-
1736
http-header-parser.c, src/lib-http/test-http-response-parser.c, src
1737
/lib-http/test-http-server.c:
1738
lib-http: Implemented limits on overall HTTP header size, size of
1739
individual header fields and the number of fields in the header.
1742
* src/lib-http/Makefile.am, src/lib-http/http-client-request.c, src
1743
/lib-http/http-header.c, src/lib-http/http-header.h, src/lib-http
1744
/http-message-parser.c, src/lib-http/http-message-parser.h, src/lib-
1745
http/http-request-parser.c, src/lib-http/http-request-parser.h, src
1746
/lib-http/http-request.c, src/lib-http/http-request.h, src/lib-http
1747
/http-response-parser.c, src/lib-http/http-response.c, src/lib-http
1749
lib-http: Unified http-request.h and http-response.h headers.
1750
Renamed struct http_response_header to struct http_header_field,
1751
encapsulated the array in struct http_header and put it all in http-
1752
header.h/c Added inline utility functions for header querying and
1753
getting response/request payload size.
1756
* src/lib-http/http-message-parser.c, src/lib-http/http-message-
1757
parser.h, src/lib-http/http-request-parser.c, src/lib-http/http-
1758
request-parser.h, src/lib-http/http-response-parser.c, src/lib-http
1759
/http-response.h, src/lib-http/http-transfer.h:
1760
lib-http: Improved message header and body parsing for better RFC
1761
compliance. Added pre-parsed transfer-encoding and connection header
1762
content (array) to parsed message struct. Fixed message body
1763
handling for when both transfer-encoding and content-length headers
1764
are missing. Now duplicates of unique important message headers
1768
* src/lib-http/http-parser.c, src/lib-http/http-parser.h:
1769
lib-http: Added support for parsing HTTP word syntax, which includes
1773
* src/lib-http/http-message-parser.c, src/lib-http/http-message-
1774
parser.h, src/lib-http/http-request-parser.c, src/lib-http/http-
1775
request-parser.h, src/lib-http/http-response-parser.c, src/lib-http
1776
/test-http-server.c:
1777
lib-http: Adjusted message parser to accept pool from caller.
1780
* src/lib-http/http-client-connection.c, src/lib-http/http-request-
1781
parser.c, src/lib-http/http-request-parser.h, src/lib-http/http-
1782
response-parser.c, src/lib-http/http-response-parser.h, src/lib-http
1783
/test-http-response-parser.c, src/lib-http/test-http-server.c:
1784
lib-http: Adjusted response and request parsers to accept a
1785
request/response object to fill with data, rather than have it
1789
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
1790
private.h, src/lib-http/http-client-request.c:
1791
lib-http: Added support for asynchronous payload for requests. This
1792
means that the payload stream passed to the request can be a non-
1793
blocking socket stream from some other connection (e.g. proxy client
1797
* src/lib-http/http-url.c, src/lib-imap/imap-url.c, src/lib/uri-
1798
util.c, src/lib/uri-util.h:
1799
uri-util: Added support for parsing bare authority URI component
1803
* src/lib-http/http-client-private.h, src/lib-http/http-client-
1804
request.c, src/lib-http/http-client.h:
1805
lib-http: http-client: Requests now automatically generate a Date
1806
header. The used date value is normally the submission time of the
1807
request, but it can be set explicitly.
1810
* src/lib-http/http-client-host.c, src/lib-http/http-client-peer.c,
1811
src/lib-http/http-client-private.h:
1812
lib-http: Fixed client connection and peer log labels to show proper
1813
IPv6 peers. The labels did not put IPv6 addresses in square
1817
* src/lib-http/http-client-private.h:
1818
lib-http: Removed useless prev,next fields from struct
1819
http_client_request.
1822
* src/lib-http/http-request-parser.c:
1823
lib-http: Fixed handling of non-standard CRLF at end of request.
1826
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
1827
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
1828
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
1829
client.c, src/lib-http/http-client.h:
1830
lib-http: http-client: Fixed request scheduling and connection
1834
* src/lib-http/http-client-request.c:
1835
lib-http: http-client: Fixed leak of ostream when request was
1836
resubmitted upon 417 response regarding 100-continue. This would
1837
only occur when the server refuses Expect: 100-continue with a 417
1838
response. The payload_output stream would be overwritten without
1842
* src/lib-http/http-client-connection.c:
1843
lib-http: http-client: Connection was using wrong request index in
1844
request_wait_list to continue sending outgoing payload.
1847
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
1849
lib-http: http-client: Fixed pipelining when payload synchronizatio
1850
(100-continue) is used. Forgot to lock the connection output, which
1851
meant that new requests would enqueued for the connection while
1852
waiting for 100 Continue. This would cause an assert failure.
1855
2013-09-14 Timo Sirainen <tss@iki.fi>
1857
* src/lib/connection.h:
1861
* src/lib-fs/fs-api.c:
1862
lib-fs: If backend doesn't implement exists(), emulate it with
1866
2013-09-12 Timo Sirainen <tss@iki.fi>
1868
* src/doveadm/doveadm-mail-server.c:
1869
doveadm: Don't refer to old doveadm_proxy_port setting name in error
1873
* src/lib/istream-hash.c:
1874
istream-hash: Data was hashed multiple times in some situations
1877
* src/lib/istream.c:
1878
istream: Improved "stream not seekable" panic message.
1881
* src/lib/istream-hash.c:
1882
istream-hash: Allow seeking, but only after reading the hash.
1885
* src/auth/auth-settings.c:
1886
auth: auth-client socket should be owned by $default_internal_user
1887
It's mostly the same as auth-login, which is also owned by it.
1890
2013-09-10 Timo Sirainen <tss@iki.fi>
1892
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
1894
lib-fs: Added support for asynchronous fs iteration.
1897
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
1899
lib-fs: Added support for giving a hash of the written data to be
1900
verified by storage.
1903
2013-09-09 Timo Sirainen <tss@iki.fi>
1905
* src/lib/Makefile.am, src/lib/istream-hash.c, src/lib/istream-hash.h:
1906
liblib: Added istream-hash, similar to ostream-hash.
1909
* src/lib/ostream-hash.h:
1913
2013-09-08 Timo Sirainen <tss@iki.fi>
1915
* src/lib/hmac-cram-md5.c, src/lib/hmac.c, src/lib/hmac.h:
1916
hmac: Fixed crashes on CPUs that don't allow unaligned memory
1920
2013-09-06 Timo Sirainen <tss@iki.fi>
1922
* src/auth/auth-request.c:
1923
auth: Removed unnecessary NULL check.
1926
* src/lib-storage/index/imapc/imapc-mailbox.c:
1927
imapc: Don't crash if server sends EXISTS while mailbox isn't
1931
* src/plugins/fts-lucene/lucene-wrapper.cc:
1932
fts-lucene: Fixed crash in doveadm dumping lucene index.
1935
* src/lib-imap-client/imapc-connection.c:
1936
Avoid doing side effects in assert.
1939
* src/lib-index/mail-index-view-sync.c:
1940
lib-index: Minor fix to regenerating missing transaction log parts.
1943
2013-09-05 Timo Sirainen <tss@iki.fi>
1945
* src/lib-lda/mail-deliver.c:
1946
lib-lda: Fixed passing through error message when mailbox couldn't
1950
2013-09-04 Timo Sirainen <tss@iki.fi>
1952
* src/lib-storage/mailbox-uidvalidity.c:
1953
And removed accidentally committed nbsp.
1956
* src/doveadm/doveadm-dump-log.c, src/doveadm/doveadm-dump-
1957
mailboxlog.c, src/doveadm/doveadm-dump-thread.c, src/lib-master
1958
/master-service-settings.c, src/lib-storage/index/mbox/mbox-lock.c,
1959
src/lib-storage/mailbox-uidvalidity.c, src/lib/unix-socket-create.c,
1960
src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/fts-squat
1961
/squat-trie.c, src/plugins/zlib/zlib-plugin.c, src/ssl-params/ssl-
1963
Fixed file descriptor leaks in rather unimportant places. Found by
1967
* src/lib-index/mail-index-sync-update.c, src/lib-index/mail-
1968
transaction-log-file.c:
1969
lib-index: Fixed modseq updates when modseq was over 32bits long
1973
i_close_fd() didn't handle errors correctly with gcc.
1976
* src/doveadm/doveadm-master.c, src/master/main.c:
1977
Fixed off-by-one buffer overflows (practically non-exploitable).
1978
Found by Coverity scan.
1981
2013-09-02 Timo Sirainen <tss@iki.fi>
1983
* src/master/service-monitor.c:
1984
master: Fix to previous pre-forking change.
1987
* src/master/service-monitor.c, src/master/service-process.c,
1988
src/master/service.h:
1989
master: Pre-fork processes only while master doesn't have more
1990
important things to do.
1993
* src/lib-master/master-auth.c, src/lib-master/master-login.c:
1994
lib-master: If net_connect_unix() fails with EAGAIN, point to a wiki
1998
2013-08-29 Timo Sirainen <tss@iki.fi>
2000
* src/lib-ssl-iostream/istream-openssl.c:
2001
lib-ssl-iostream: Don't assert-crash if stream buffer gets full.
2004
* src/lib-storage/mailbox-uidvalidity.c:
2005
lib-storage: Auto-create dovecot-uidvalidity's missing parent
2009
* src/log/log-error-buffer.c:
2010
Fixed compiling with old gcc.
2013
2013-08-27 Timo Sirainen <tss@iki.fi>
2015
* src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
2016
storage/index/dbox-common/dbox-file.h:
2017
dbox: When fixing a broken file, try harder to find only valid
2018
message/metadata positions. The previous method sometime broke with
2019
compressed mail content, because the magic blocks were so short.
2022
2013-08-21 Timo Sirainen <tss@iki.fi>
2024
* src/director/director-connection.c, src/director/director-host.c,
2025
src/director/director-host.h:
2026
director: Reset last-seen-sync-sequence after remote director
2030
* src/lib-storage/index/index-sync.c:
2031
lib-storage: When doing a fast sync, refresh index to see if it had
2032
any changes. I'm pretty sure this used to be done earlier, but
2033
probably some optimizations dropped it at some point.
2036
* src/imap/cmd-append.c:
2037
imap: Fixed potential assert crash in APPEND.
2040
2013-08-17 Pascal Volk <user@localhost.localdomain.org>
2042
* doc/man/doveadm-pw.1.in:
2043
man: doveadm-pw.1: Option -p can also be used with -t.
2046
2013-08-15 Timo Sirainen <tss@iki.fi>
2048
* src/director/director-connection.c:
2049
director: Previous change caused legitimate SYNC resends to be
2053
2013-08-13 Timo Sirainen <tss@iki.fi>
2055
* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
2056
lmtp: Make it clear that the lda_settings is unexpanded in struct
2060
* src/auth/auth-request.c, src/auth/auth-request.h:
2061
Minor change to prevent invalid code changes.
2064
* src/lib-lda/lda-settings.c:
2065
lib-lda: Default postmaster_address wasn't being set. This broke
2066
after it was set to allow %variables.
2069
* src/lib-lda/lda-settings.c:
2070
lib-lda: Don't alow %variables for hostname setting after all. I was
2071
thinking maybe %d could be used there, but with LMTP the hostname is
2072
used already in the greeting message before any RCPT TO is even
2076
2013-08-12 Timo Sirainen <tss@iki.fi>
2078
* src/auth/auth-request.c, src/auth/auth-request.h:
2079
auth: Added %{domain_first} and %{domain_last} variables. They are
2080
both equal to %d normally, but differ when there are multiple '@'
2081
characters in the domain.
2084
* src/lib-index/mail-index-strmap.c, src/lib-index/mail-index-
2085
strmap.h, src/lib-storage/index/index-thread.c:
2086
lib-storage: If dovecot.index.thread corruption is noticed, delete
2090
* src/lib-lda/lda-settings.c:
2091
lib-lda: submission_host, sendmail_path and hostname settings can
2092
now contain %variables
2095
* src/lib-lda/smtp-client.c:
2096
lib-lda: sendmail_path setting can contain parameters now.
2099
2013-08-11 Timo Sirainen <tss@iki.fi>
2101
* src/lib-storage/index/index-thread.c:
2102
lib-storage: Improved error message in threading code's lost
2106
2013-08-10 Timo Sirainen <tss@iki.fi>
2108
* src/lib-http/http-client-request.c:
2109
lib-http: Removed more code duplication
2112
* src/lib-http/http-client-request.c:
2113
lib-http: Removed duplicated code
2116
2013-08-08 Timo Sirainen <tss@iki.fi>
2118
* src/lmtp/commands.c:
2119
lmtp: Don't write extra ([]) to Received: line for mails via UNIX
2123
2013-08-07 Timo Sirainen <tss@iki.fi>
2125
* src/imap/cmd-append.c:
2126
imap: Fixed memory leak on APPEND error conditions.
2129
* src/doveadm/dsync/dsync-ibc-stream.c:
2130
dsync: We didn't send the new protocol version in handshake. This
2131
caused problems when syncing mailbox formats that didn't support
2135
* src/doveadm/dsync/dsync-mailbox-import.c:
2136
dsync: Avoid assert-crash after an error.
2139
* src/lib-ssl-iostream/iostream-openssl-context.c, src/login-common
2140
/ssl-proxy-openssl.c:
2141
ssl: Fixed compiling with older OpenSSL libraries.
2144
* src/director/director-connection.c, src/lib-ssl-iostream/iostream-
2145
openssl-context.c, src/login-common/ssl-proxy-openssl.c:
2146
Compiler warning fixes.
2149
* src/plugins/quota/quota-dict.c, src/plugins/quota/quota-fs.c,
2150
src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-
2151
private.h, src/plugins/quota/quota.c:
2152
quota: Improved init() failure error logging.
2155
2013-08-06 Pascal Volk <user@localhost.localdomain.org>
2157
* src/master/main.c:
2158
master: Added --hostdomain to the help message.
2161
* doc/man/dovecot.1.in:
2162
man: dovecot.1: Added description of option --hostdomain.
2165
2013-08-06 Timo Sirainen <tss@iki.fi>
2167
* src/doveadm/server-connection.c:
2168
doveadm: If server connection gets disconnected, log the reason.
2171
* src/doveadm/dsync/dsync-ibc-stream.c:
2172
dsync: Stream disconnection error message improvement
2175
* src/doveadm/client-connection.c, src/doveadm/doveadm-mail-server.c:
2176
doveadm-server: Error message logging improvements.
2179
* src/doveadm/client-connection.c, src/doveadm/doveadm-mail.c,
2180
src/doveadm/doveadm-mail.h:
2181
doveadm-server: Include client's IP address in logs.
2184
* src/doveadm/dsync/doveadm-dsync.c:
2185
dsync: Don't leak iostreams when running via doveadm-server
2188
* src/doveadm/dsync/dsync-ibc-stream.c:
2189
dsync: Memory leak fix at deinit.
2192
* src/lib-ssl-iostream/iostream-openssl-context.c, src/lib-ssl-
2193
iostream/iostream-openssl.c, src/lib-ssl-iostream/iostream-
2194
openssl.h, src/lib-ssl-iostream/iostream-ssl-private.h, src/lib-ssl-
2195
iostream/iostream-ssl.c:
2196
lib-ssl-iostream: Deinitialization fixes.
2199
* src/doveadm/doveadm-mail-server.c, src/doveadm/dsync/doveadm-
2200
dsync.c, src/doveadm/server-connection.c, src/doveadm/server-
2202
doveadm: If we get disconnected from server, log the reason.
2205
* src/auth/auth-request.c, src/auth/passdb-pam.c, src/auth/passdb-
2206
vpopmail.c, src/lib/net.c, src/lib/net.h, src/lib/uri-util.c,
2207
src/lmtp/client.c, src/login-common/main.c:
2208
net_ip2addr() changed to return "" instead of NULL on failure.
2209
Pretty much everything in the code assumed that it would never fail,
2210
which it normally doesn't except if the ip_addr was created for UNIX
2214
* src/doveadm/dsync/dsync-ibc-stream.c:
2215
dsync: After reading remote hostname, use it for the log messages
2219
* src/master/main.c:
2220
master: Added --hostdomain setting to show the current hostdomain.
2223
* src/doveadm/client-connection.c, src/doveadm/dsync/doveadm-dsync.c:
2224
dsync: Name remote connections better.
2227
* src/replication/replicator/dsync-client.c:
2228
replicator: Fixed assert-crash if dsync server disconnected.
2231
2013-08-05 Timo Sirainen <tss@iki.fi>
2234
Added signature for changeset 71f0696749ab
2238
Added tag 2.2.5 for changeset 71f0696749ab
2241
* NEWS, configure.ac:
2243
[71f0696749ab] [2.2.5]
2245
* src/director/user-directory.c, src/lib-http/test-http-response-
2247
Make static analyzer happier.
2250
* src/lib-storage/mail-storage-service.c:
2251
lib-storage: Use a separate auth-userdb connection for iterating
2252
through users. This is required because the auth-userdb connection
2253
is also wanted in the middle of the iteration to do USER lookups.
2256
* src/lib-auth/auth-master.c:
2257
lib-auth: Previous changes didn't set the current ioloop correctly,
2261
* src/doveadm/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-
2263
doveadm: Minor memory leak fixes at deinit.
2266
* src/lib-auth/auth-master.c:
2267
lib-auth: auth_master_user_list_*() shouldn't create ioloop if it
2271
* src/lib-storage/index/maildir/maildir-storage.c:
2272
maildir: mailbox_create() was returning 1 instead of 0 on success.
2273
This broke acl plugin's check to copy the ACLs to the newly created
2277
* src/dns/dns-client.c, src/lib/net.h:
2278
dns: Use EAI_NONAME, not EAI_ADDRFAMILY to indicate "no addresses".
2281
* src/lib-storage/index/mbox/mbox-sync.c:
2282
mbox: Don't use file_set_size() to grow mbox file size.
2283
posix_fallocate() apparently grows file size in 4kB blocks in GFS2
2284
causing extra NULs to be written. The mbox file rarely needs to grow
2285
so much that there's any point in using any optimizations for it.
2287
Besides, this was the last place where file_set_size() was used. If
2288
no further use can be found for it, it could be removed entirely.
2291
* src/lib-auth/auth-master.c:
2292
lib-auth: Another crashfix to auth_master_user_list_*()
2295
2013-08-05 Pascal Volk <user@localhost.localdomain.org>
2297
* .hgignore, doc/man/Makefile.am, doc/man/doveadm-exec.1.in,
2298
doc/man/doveadm.1.in, doc/man/sed.sh:
2299
man: Added doveadm-exec.1.
2302
2013-08-05 Timo Sirainen <tss@iki.fi>
2304
* src/lib-storage/list/mailbox-list-fs-iter.c:
2305
lib-storage: Fixed listing INBOX's children with LAYOUT=fs and non-
2310
net_gethosterror(): Never return NULL.
2313
* src/dns/dns-client.c, src/lib-dns/dns-lookup.c, src/lib/net.h:
2314
lib-dns, dns: Don't use IPv4-only error codes
2317
* src/lib-index/mail-index-sync-update.c:
2318
lib-index: Replaced assert-crash with "index corrupted" error.
2321
* src/lib-index/mail-index-sync-update.c:
2322
lib-index: Silently ignore next_uid shrinking without treating them
2326
2013-08-04 Timo Sirainen <tss@iki.fi>
2328
* src/lib-http/http-client-request.c, src/lib-http/http-url.c, src
2329
/lib-http/http-url.h:
2330
lib-http: Fixed redirect request target encoding and NULL target.
2331
Patch by Stephan Bosch.
2334
* src/imap/cmd-append.c:
2335
imap: Various APPEND/CATENATE error handling bugfixes. Found using
2336
Apple's catenate.pl test script.
2339
* src/lib-http/http-header-parser.c, src/lib-http/test-http-header-
2341
lib-http: Ignore trailing whitespace in headers. Patch by Stephan
2345
* src/lib-http/http-client-connection.c:
2346
lib-http: Don't crash when receiving 304 or a redirect without
2347
Location: header. Patch by Stephan Bosch
2350
2013-08-03 Timo Sirainen <tss@iki.fi>
2352
* doc/man/doveadm-deduplicate.1.in:
2353
man: Fixed doveadm-deduplicate.1 Patch by Pascal Volk
2356
* doc/man/Makefile.am:
2357
Makefile: Fixed previous commit.
2360
2013-08-02 Pascal Volk <user@localhost.localdomain.org>
2362
* .hgignore, doc/man/Makefile.am, doc/man/doveadm-deduplicate.1.in,
2363
doc/man/doveadm-flags.1.in, doc/man/doveadm.1.in:
2364
man: Added doveadm-deduplicate.1 and doveadm-flags.1.
2367
2013-08-02 Timo Sirainen <tss@iki.fi>
2369
* src/doveadm/doveadm-mail-flags.c:
2370
doveadm flags: Fixed help text for subcommands.
2373
* src/plugins/quota/quota-status.c:
2374
quota-status: Added quota_status_toolarge message for mails larger
2375
than user's quota limit. Based on patch by Ulrich Zehl
2378
* src/plugins/quota/quota-status.c:
2379
quota-status: Removed extra newlines from default
2380
quota_status_overquota message. Patch by Ulrich Zehl
2383
2013-08-01 Timo Sirainen <tss@iki.fi>
2385
* src/lib-ssl-iostream/iostream-openssl.c, src/login-common/ssl-proxy-
2387
ssl: Log SSL "close notify" alerts as debug messages, not warnings.
2388
They are clean shutdown messages after all.
2391
* src/plugins/quota/quota-storage.c:
2392
quota: Don't log errors about missing namespaces for autocreated
2396
* src/lib-storage/mail-storage-service.c:
2397
lib-storage: Improved seteuid() error messages a bit.
2400
* src/lib-storage/mail-storage-service.c:
2401
lib-storage: If settings can't be read because of permission denied,
2405
* src/lib-master/master-service-settings.c, src/lib-master/master-
2407
lib-master: Added master_service_settings_output.permission_denied
2411
* src/lib-master/master-service-settings.c:
2412
lib-master: If config socket closes, retry connecting to it
2416
* src/lib-master/master-service-settings.c, src/lib-master/master-
2417
service-settings.h, src/lib-master/master-service.c, src/lib-master
2419
lib-master: If MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN is set, open the
2420
config socket before dropping privileges.
2423
* src/lib-storage/mail-storage-service.c:
2424
lib-storage: Ignore MAIL_STORAGE_SERVICE_FLAG_TEMP_PRIV_DROP if
2425
service user isn't root.
2428
2013-07-30 Timo Sirainen <tss@iki.fi>
2430
* src/plugins/quota/quota-status.c:
2431
quota-status: Keep the config connection open.
2434
* src/lib-storage/mail-storage-service.c:
2435
lib-storage: With temporary privilege dropping, switch to root
2436
before doing config lookup. This fixes the problem of not having
2437
enough permissions to connect to the config socket.
2440
* src/lib-auth/auth-master.c:
2441
lib-auth: Don't crash in auth_master_user_list_*() if socket can't
2445
2013-07-29 Timo Sirainen <tss@iki.fi>
2447
* src/director/director-connection.c, src/director/director-host.h,
2448
src/director/director.c, src/director/director.h:
2449
director: Avoid infinite SYNC loops if the originating director goes
2450
away for a long time.
2453
* src/director/director-connection.c, src/director/user-directory.c,
2454
src/director/user-directory.h:
2455
director: Update existing users' timestamps during handshake.
2458
* src/director/director-test.c, src/director/director-test.sh:
2459
director: Fixes to director-test.
2462
* src/director/director-connection.c:
2463
director: Fixes to handling users near expiration.
2466
* src/director/director-connection.c:
2467
director: Log director disconnection errno correctly.
2470
* src/director/user-directory.c:
2471
director: Expire users a bit more correctly. Also make sure that the
2472
"user near expiring" interval is at least 3 seconds in case
2473
director_user_expire is very low.
2476
* src/director/director-settings.c:
2477
director: Don't allow director_user_expire to be less than 10
2481
2013-07-17 Timo Sirainen <tss@iki.fi>
2483
* src/lib/connection.c:
2484
liblib: connection_disconnect() didn't close fd_out if it was
2485
different from fd_in.
2488
2013-07-12 Timo Sirainen <tss@iki.fi>
2490
* src/director/login-connection.c:
2491
director: Don't log an error if login connection gets closed with
2495
* src/auth/auth-request.c, src/auth/auth-request.h:
2496
auth: With multiple passdbs the previous passdb's userdb_* fields
2500
* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
2502
auth: If blocking passdb returned only NULLs for userdb_ fields, use
2503
userdb prefetch anyway.
2506
* src/auth/auth-master-connection.c, src/auth/auth-worker-client.c:
2507
auth: Use fewer syscalls for sending user list.
2510
* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h:
2511
lib-auth: auth_master_user_list_*() no longer reads the entire user
2515
* src/doveadm/doveadm-mail.c, src/lib-storage/mail-storage-service.c,
2516
src/lib-storage/mail-storage-service.h:
2517
lib-storage: mail_storage_service_all_init() no longer returns total
2518
number of users. In preperation for removing the count
2519
functionality, since it requires reading all the users into memory
2522
This also required removing the /total from verbosity counter with
2526
* src/auth/auth-worker-client.c:
2527
auth: Avoid wasting data stack when iterating users.
2530
* doc/man/doveadm-director.1.in:
2531
man: Updated doveadm-director man page.
2534
* src/lib-ssl-iostream/iostream-openssl-context.c:
2535
lib-ssl-iostream: Crashfix for recent change.
2538
2013-07-11 Timo Sirainen <tss@iki.fi>
2540
* src/lib-http/Makefile.am, src/lib-http/test-http-server.c:
2541
lib-http: Added a very dummy test-http-server
2544
* src/lib-http/Makefile.am, src/lib-http/http-message-parser.c, src
2545
/lib-http/http-message-parser.h, src/lib-http/http-request-parser.c,
2546
src/lib-http/http-request-parser.h, src/lib-http/http-response-
2548
lib-http: Implemented http-request-parser for HTTP servers. Moved
2549
code common with it and http-response-parser to http-message-parser.
2552
* src/lib-http/Makefile.am, src/lib-http/http-client.h, src/lib-http
2553
/http-response-parser.h, src/lib-http/http-response.h:
2554
lib-http: Moved struct http_response* to http-response.h Also http-
2555
client.h now #includes only http-response.h
2558
* src/lib-http/http-response-parser.c:
2559
lib-http: Minor change to make sure http_response_header.size is
2560
always correct. The current http-header-parser already guaranteed
2561
that it is, but this change just adds extra guarantees that it won't
2562
break in future. Besides, this change improves the performance
2563
slightly by avoiding strlen().
2566
* src/lib-http/http-response-parser.c:
2567
lib-http: Minor fix/cleanup to detecting stream errors when skipping
2571
* src/lib-http/test-http-response-parser.c:
2572
lib-http: Updated test-http-response-parser
2575
* src/lib-http/test-http-header-parser.c:
2576
lib-http: test-http-header-parser makes sure the parser works one
2580
* src/lib-http/test-http-response-parser.c:
2581
lib-http: Fixed previous test-http-response-parser change.
2584
* src/lib-http/http-response-parser.c, src/lib-http/test-http-
2586
lib-http: Fixed handling responses whose header arrives in smaller
2590
* src/lib-http/http-response-parser.c:
2591
lib-http: Simplify http response status-line parsing code. Also by
2592
not using a temporary string buffer the istream can at least in
2593
theory limit the maximum status-line length (=max memory usage).
2596
* src/lib-http/http-client-connection.c:
2597
lib-http: Http requests weren't freed when connection was aborted.
2598
Patch by Stephan Bosch.
2601
* src/lib-ssl-iostream/iostream-openssl-context.c:
2602
lib-ssl-iostream: Compiler warning fix
2605
2013-07-10 Timo Sirainen <tss@iki.fi>
2607
* src/lib-ssl-iostream/iostream-openssl-common.c:
2608
lib-ssl-iostreams: ssl_protocols setting supports now TLSv1.1 and
2613
auth: Fixed crash for some lookups that didn't specify service name.
2616
* src/plugins/quota/quota-maildir.c:
2617
Maildir++ quota: When recreating, don't use maildirsize.lock file.
2618
The point was never to even try to lock it, it just used to be an
2619
easier API to create the file. Nowadays safe_mkstemp_hostpid_group()
2620
works just as easily. This normally doesn't matter, but apparently
2621
Exim+CPanel leaves maildirsize.lock files lying around, causing
2622
Dovecot to not update maildirsize.
2625
* src/lib-ssl-iostream/iostream-openssl-context.c:
2626
lib-ssl-iostream: Added support for ECDH/ECDHE cipher suites Based
2627
on the login-common patch by David Hicks.
2630
* src/login-common/ssl-proxy-openssl.c:
2631
login-common: Compiler warning fix with OpenSSL v1.0.2+
2634
* src/lib-http/http-client-private.h:
2635
lib-http: Minor comment update.
2638
2013-07-06 David Hicks <david@hicks.id.au>
2640
* src/login-common/ssl-proxy-openssl.c:
2641
login-common: Add support for ECDH/ECDHE cipher suites
2643
ECDH temporary key parameter selection must be performed during
2644
OpenSSL context initialisation before ECDH and ECDHE cipher suites
2647
OpenSSL >= 1.0.2 automatically handles ECDH temporary key parameter
2648
selection. For OpenSSL < 1.0.2 we must manually specify a named
2649
elliptic curve that Dovecot will use to generate an ephemeral key
2650
pair. By default we try to use the same named curve as that used in
2651
the server's private EC key file. If this attempt fails, a fall back
2652
curve of NIST P-384 (secp384r1) is used instead.
2654
RFC 6460 states that NIST P-384 MUST be used for cipher suites that
2655
include AES-256. For cipher suites that include AES-128, RFC 6460
2656
states that NIST P-256 MUST be used. No matter which curve is used
2657
as a fall back option, Dovecot will be non-compliant. The reason for
2658
selecting NIST P-384 as a fall back curve is to ensure that the non-
2659
compliance is in the form of providing too great a level of security
2660
for AES-128 cipher suites rather than too little security for
2661
AES-256 cipher suites.
2664
2013-07-10 Timo Sirainen <tss@iki.fi>
2666
* src/lib-storage/index/imapc/imapc-list.c, src/lib-
2667
storage/index/imapc/imapc-list.h, src/lib-storage/index/imapc/imapc-
2668
mail-fetch.c, src/lib-storage/index/imapc/imapc-save.c, src/lib-
2669
storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
2670
/imapc-storage.h, src/lib-storage/index/imapc/imapc-sync.c:
2671
imapc: Reorganize code so that imapc_list works without
2672
imapc_storage. Most importantly fixes crashes when imapc_list is
2673
trying to lookup hierarchy separator before storage is created.
2676
* src/lib-storage/index/imapc/imapc-list.c, src/lib-
2677
storage/index/imapc/imapc-list.h:
2678
imapc: Code cleanup: Don't access imapc settings via storage.
2681
* src/lib-storage/index/imapc/imapc-storage.c:
2682
imapc: Minor code cleanup.
2685
* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
2686
src/auth/userdb-ldap.c:
2687
auth: If passdb ldap returned no values for userdb_ fields, use
2688
userdb prefetch anyway.
2691
* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/passdb-
2693
auth: If passdb sql returned only NULLs for userdb_ fields, use
2694
userdb prefetch anyway.
2697
* src/pop3/pop3-commands.c:
2698
pop3: Avoid assert-crash if client disconnects during LIST.
2701
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
2702
peer.c, src/lib-http/http-client-private.h:
2703
lib-http: Fix/cleanup to handling connect failures. There was some
2704
kind of double-error handling which messed up things.
2707
* src/lib-http/http-client-host.c, src/lib-http/http-client-peer.c,
2708
src/lib-http/http-client-private.h:
2709
lib-http: Fixed tracking number of pending connections to host-port.
2712
* src/lib-http/http-client-host.c:
2713
lib-http: Don't assert-crash in case of somewhat unexpected failing
2717
* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h:
2718
lib-http: Always try to connect to host's all IPs when connections
2719
fail. Previously this was done only when the new connections started
2723
2013-06-28 Timo Sirainen <tss@iki.fi>
2725
* src/dns/dns-client.c, src/lib-dns/dns-lookup.c, src/lib-dns/dns-
2727
dns, lib-dns: Added support for async DNS PTR lookups.
2730
* src/lib/net.c, src/lib/net.h:
2731
Added net_gethostbyaddr() for DNS PTR lookups. This code assumes we
2732
have IPv6 capability. Perhaps we should just require it everywhere
2736
2013-06-27 Timo Sirainen <tss@iki.fi>
2738
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
2740
lib-http: Added more debug messages.
2743
* src/lib-http/http-client-host.c:
2744
lib-http: When successfully connected to a peer, don't drop the
2745
peer's pending connections. They could have been intentionally
2746
created for other urgent requests.
2749
* src/lib-http/http-client-connection.c:
2750
lib-http: Don't crash if payload stream is referenced by caller
2751
after its connection is freed.
2754
* src/lib-http/http-client-connection.c:
2755
lib-http: Remove request timeout from being used during payload
2756
read. The reading is done by the lib-http caller, which should have
2760
* src/lib-http/http-client-request.c:
2761
lib-http: Call request's destroy callback always, not just on
2765
* src/lib-http/http-client-connection.c:
2766
lib-http: If connection times out, set the stream's errno to
2767
ETIMEDOUT in case it's used.
2770
* src/lib-http/http-client-connection.c:
2771
lib-http: When connection is freed, abort also the pending request.
2774
* src/lib-http/http-client-connection.c:
2775
lib-http: Timeouts were being handled wrong/leaked by ioloop
2779
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
2780
peer.c, src/lib-http/http-client-private.h:
2781
lib-http: Minor code cleanup.
2784
* src/lib-http/http-client-peer.c:
2785
lib-http: Fixed hang when many connections were being created and
2789
* src/lib-http/http-client.c, src/lib-http/http-client.h:
2790
lib-http: Added http_client_get_pending_request_count()
2793
2013-06-26 Timo Sirainen <tss@iki.fi>
2795
* src/doveadm/dsync/dsync-ibc-stream.c:
2796
dsync: Recent changes broke remote dsync
2799
* src/config/old-set-parser.c:
2800
config: Give a somewhat better warning for when using
2801
protocols=imaps or pop3s.
2804
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
2805
mailbox-tree-sync.c, src/doveadm/dsync/dsync-brain-mailbox-tree.c,
2806
src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
2807
brain-private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync
2808
/dsync-brain.h, src/doveadm/dsync/dsync-ibc-stream.c:
2809
dsync: Added -1 parameter to do a "one way sync" without reverting
2810
changes. This can be useful during migration when you don't want to
2811
delete any mails, but you also don't want to send changes to the old
2815
* src/doveadm/dsync/dsync-ibc-stream.c:
2816
dsync: Send DSYNC_BRAIN_FLAG_NO_MAIL_SYNC via ibc-stream to slave
2820
* src/lib-storage/index/pop3c/pop3c-storage.c:
2821
pop3c: Fixed mail saving to fail nicely, not assert-crash.
2824
* src/doveadm/dsync/dsync-mailbox-import.c:
2825
dsync: Fixed syncing when one of the backends supported GUIDs.
2828
* src/lib-storage/index/pop3c/pop3c-storage.c:
2829
pop3c: Return error instead of crashing when trying to save a mail.
2832
* src/doveadm/dsync/dsync-mailbox-import.c:
2833
dsync: Fixed handling expunges when GUIDs aren't supported by the
2837
* src/imap-login/imap-proxy.c, src/lib-sasl/Makefile.am, src/lib-sasl
2838
/dsasl-client-private.h, src/lib-sasl/dsasl-client.c, src/lib-sasl
2839
/dsasl-client.h, src/lib-sasl/mech-login.c, src/lib-sasl/mech-
2840
plain.c, src/lib-sasl/sasl-client-private.h, src/lib-sasl/sasl-
2841
client.c, src/lib-sasl/sasl-client.h, src/login-common/client-
2842
common-auth.c, src/login-common/client-common.c, src/login-common
2843
/client-common.h, src/login-common/main.c,
2844
src/pop3-login/pop3-proxy.c:
2845
lib-sasl: Use dsasl_ prefix so we don't conflict with Cyrus SASL
2849
2013-06-25 Timo Sirainen <tss@iki.fi>
2851
* src/doveadm/dsync/dsync-transaction-log-scan.c:
2852
dsync: Don't log index errors if modseq points beyond the current
2856
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
2857
mdbox: Resize mdbox index header if necessary also when rebuilding
2861
* src/lib-index/mail-index-transaction-export.c:
2862
lib-index: Assert-crash instead of writing a broken transaction with
2863
too large ext header update.
2866
* src/lib-index/mail-index-transaction-export.c:
2867
lib-index: Don't write a broken transaction if extension resize is
2872
Added signature for changeset 4b3c9c3e4fb8
2876
Added tag 2.2.4 for changeset 4b3c9c3e4fb8
2879
* NEWS, configure.ac:
2881
[4b3c9c3e4fb8] [2.2.4]
2883
* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
2884
Make static analyzer happier.
2887
* src/doveadm/doveadm-mail-deduplicate.c:
2888
doveadm deduplicate: Fixed error handling.
2891
* src/plugins/quota/quota.c:
2892
quota: Fixed quota_rule with non-uppercase INBOX.
2895
2013-06-24 Timo Sirainen <tss@iki.fi>
2897
* src/imap-login/imap-proxy.c:
2898
imap-login: If CAPABILITY is already in server banner, don't ask for
2902
* src/doveadm/dsync/dsync-mailbox-export.c:
2903
dsync: Fixed "export:/count" value in verbose_proctitle=yes
2906
* src/lib-storage/index/mbox/mbox-lock.c:
2907
mbox: Avoid assert-crashing by too optimistically upgrading a lock
2911
* src/doveadm/dsync/dsync-brain.c:
2912
dsync: Don't crash at deinit when dsync fails early.
2915
* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
2916
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain.c,
2917
src/doveadm/dsync/dsync-brain.h:
2918
dsync: Don't try to find mailboxes from unwanted namespaces.
2921
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
2922
private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
2923
brain.h, src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync
2924
/dsync-mailbox-export.h, src/doveadm/dsync/dsync-mailbox-import.c,
2925
src/doveadm/dsync/dsync-mailbox-import.h:
2926
dsync: If verbose_proctitle=yes, show the current state in it.
2929
* src/doveadm/dsync/dsync-brain.c:
2930
dsync: State names were wrong in debug/error messages.
2933
2013-06-18 Timo Sirainen <tss@iki.fi>
2935
* src/lib-storage/mailbox-list.c:
2936
lib-storage: Fixed crash with some autocreated (e.g. shared)
2940
* src/lib-storage/index/dbox-single/sdbox-storage.c:
2941
sdbox: If sdbox header is corrupted, resize it to make sure its size
2945
* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-deduplicate.c,
2946
src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
2947
doveadm: Added deduplicate command. By default it deduplicates only
2948
by GUIDs. With -m parameter it deduplicates by Message-Id: header.
2951
* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-flags.c,
2952
src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
2953
doveadm: Added "flags" command to modify messages' flags.
2956
* src/lib-storage/index/dbox-multi/mdbox-storage.c:
2957
mdbox: If mdbox header is corrupted, resize it to make sure its size
2961
* src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-map.c, src
2962
/lib-index/mail-index-modseq.c, src/lib-index/mail-index-private.h,
2963
src/lib-index/mail-index-sync-ext.c, src/lib-index/mail-index-sync-
2964
keywords.c, src/lib-index/mail-index-sync-update.c, src/lib-index
2965
/mail-index-write.c:
2966
lib-index: Don't bother tracking if header/records were changed.
2967
They aren't really needed. When mail_index_write() is called, we
2968
already know we want to update the index.
2971
* src/lib-index/mail-index-sync.c:
2972
lib-index: If error is found from transaction log, update
2973
dovecot.index so it won't be read again.
2976
* src/lib-sasl/sasl-client.h:
2977
lib-sasl: API usage comment update
2980
* src/imap-login/imap-proxy.c, src/pop3-login/pop3-proxy.c:
2981
imap/pop3 proxy: Master user logins were broken by lib-sasl change.
2984
2013-06-17 Timo Sirainen <tss@iki.fi>
2986
* src/pop3/pop3-client.c:
2987
pop3: Fixed crash at deinit
2990
* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
2991
dsync: Minor fixes to checking if namespace is wanted to be synced.
2994
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/test-dsync-
2995
mailbox-tree-sync.c, src/imap-login/imap-proxy.c,
2996
src/pop3-login/pop3-proxy.c:
2997
Make static analyzer happier.
3001
Added signature for changeset 5d9f52c9a287
3005
Added tag 2.2.3 for changeset 5d9f52c9a287
3008
* NEWS, TODO, configure.ac:
3010
[5d9f52c9a287] [2.2.3]
3012
2013-06-16 Timo Sirainen <tss@iki.fi>
3014
* src/lib-storage/index/dbox-multi/mdbox-storage.c:
3015
mdbox: Minor fix to handling corrupted mdbox header.
3018
* src/plugins/fts-lucene/lucene-wrapper.cc:
3019
fts-lucene: Fixed building without libstemmer
3022
* src/lib-imap/imap-parser.c:
3023
lib-imap: Fixed parsing literal8 in some situations.
3026
* src/lib-mail/istream-attachment-extractor.c:
3027
istream-attachment-extractor: Fixed handling attachment as the
3028
message body without MIME. Don't crash at the end after parsing the
3032
* src/lib-storage/mail-storage-service.c:
3033
lib-storage: mail_storage_service_lookup() ignored input->service.
3036
2013-06-14 Timo Sirainen <tss@iki.fi>
3038
* src/doveadm/dsync/test-dsync-mailbox-tree-sync.c:
3039
Compiler warning fix.
3042
* src/doveadm/dsync/dsync-mailbox-tree-sync.c, src/doveadm/dsync/test-
3043
dsync-mailbox-tree-sync.c:
3044
dsync: Fixed syncing renaming mailboxes with children. So that the
3045
childrens' rename timestamps are at least as high as their parents'.
3048
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
3049
dsync: Don't try to delete nonexistent mailbox directories.
3052
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
3053
dsync: Avoid wasting data stack on larger renames.
3056
2013-06-13 Timo Sirainen <tss@iki.fi>
3058
* src/plugins/quota/quota-status.c:
3059
quota-status: Fixed log prefix.
3062
* src/lib-storage/index/shared/shared-list.c:
3063
lib-storage: Fixed crash with listing shared mailboxes.
3066
* src/plugins/fts-solr/fts-backend-solr.c:
3067
fts-solr: Do only soft commits. Use a cronjob to do hard commits.
3070
* doc/solr-schema.xml:
3071
solr-schema.xml: More updates for Solr v4.x and hopefully with
3075
* doc/solr-schema.xml:
3076
solr-schema.xml: Replaced EnglishPorterFilterFactory with
3077
SnowballPorterFilterFactory
3080
* src/anvil/main.c, src/auth/main.c, src/dict/main.c, src/director
3081
/director-test.c, src/director/main.c, src/doveadm/main.c, src/imap-
3082
urlauth/imap-urlauth-worker.c, src/imap/main.c, src/indexer/indexer-
3083
worker.c, src/indexer/indexer.c, src/ipc/main.c, src/lib-master
3084
/master-service.c, src/lib-master/master-service.h, src/lmtp/main.c,
3085
src/log/main.c, src/plugins/quota/quota-status.c, src/pop3/main.c,
3086
src/replication/replicator/replicator.c, src/ssl-params/main.c,
3087
src/stats/main.c, src/util/script.c:
3088
Call master_service_init_finish() only after all of the
3089
initialization is done. This way if the init crashes, the master
3090
process will throttle a buggy service.
3093
* src/lib-storage/index/imapc/imapc-list.c:
3094
imapc: Fixed list iteration when namespace and backend separators
3098
* src/lib-storage/list/mailbox-list-index-iter.c, src/lib-storage/list
3099
/mailbox-list-index.h:
3100
mailbox_list_index=yes: Fixed list iteration when namespace and
3101
backend separators differed.
3104
* src/doveadm/client-connection.c, src/doveadm/doveadm-mail-server.c,
3105
src/doveadm/dsync/doveadm-dsync.c, src/doveadm/server-connection.c,
3106
src/doveadm/server-connection.h:
3107
doveadm: Pass through the exit code from doveadm-server to client.
3110
* src/doveadm/dsync/dsync-brain-mailbox.c:
3111
dsync: Don't try to access mailboxes with no_mail_sync flag enabled.
3114
* src/doveadm/client-connection.c, src/doveadm/dsync/dsync-brain-
3115
mailbox.c, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
3116
ibc-pipe.c, src/doveadm/dsync/dsync-mailbox-export.c,
3117
src/doveadm/main.c, src/lib-fs/fs-api.c:
3121
2013-06-12 Timo Sirainen <tss@iki.fi>
3123
* src/plugins/zlib/zlib-plugin.c:
3124
zlib: Enable only for storages that support
3125
MAIL_STORAGE_CLASS_FLAG_BINARY_DATA
3128
* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
3129
/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
3130
/sdbox-storage.c, src/lib-storage/index/maildir/maildir-storage.c,
3131
src/lib-storage/index/raw/raw-storage.c, src/lib-storage/mail-
3133
lib-storage: Added MAIL_STORAGE_CLASS_FLAG_BINARY_DATA flag for
3137
* src/plugins/pop3-migration/pop3-migration-plugin.c:
3138
pop3-migration: struct mailbox must be freed before mail_storage is
3139
destroyed. Fixes a memory leak where the user wasn't destroyed at
3140
all because the mailbox still caused the user to be referenced.
3143
* src/lib-dict/dict-client.c:
3144
lib-dict: Error handling fixes to asynchronous transactions.
3147
* src/imap/cmd-delete.c, src/lib-storage/mail-storage.c, src/lib-
3148
storage/mail-storage.h:
3149
Moved "INBOX can't be deleted" check from lib-storage to IMAP-
3150
specific code. Especially "doveadm backup" should be able to delete
3151
the INBOX if needed.
3154
* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
3155
/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-index-
3156
backend.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
3157
storage/list/mailbox-list-subscriptions.c:
3158
lib-storage: Don't crash if backend doesn't have subscriptions file.
3161
* src/lib-storage/index/pop3c/pop3c-client.c:
3162
pop3c: Don't assert-crash if we can't do DNS lookup.
3165
* src/lib-storage/index/pop3c/pop3c-mail.c:
3166
pop3c: Return Date: header's date also as received and saved date.
3167
Mainly to get dsync to not fail.
3170
* src/lib-storage/index/pop3c/pop3c-storage.c:
3171
pop3c: Allow mailbox_update() for Dovecot's internal fields.
3174
* src/lib-storage/list/mailbox-list-subscriptions.c:
3175
pop3c: Don't assert-crash when trying to list subscriptions.
3178
* src/lib-storage/index/pop3c/pop3c-storage.c:
3179
pop3c: Give GUID to the INBOX to avoid crashes with dsync.
3182
* src/plugins/zlib/zlib-plugin.c:
3183
zlib plugin: Removed explicit checks for maildir/sdbox/mdbox.
3186
2013-06-09 Timo Sirainen <tss@iki.fi>
3188
* doc/man/dovecot.1.in:
3189
man: Recent change accidentally changed LGPLv2.1 -> LGPLv2.2,
3193
* src/plugins/acl/acl-backend-vfile.c:
3197
* src/lib-storage/index/shared/shared-storage.c, src/lib-storage/mail-
3199
lib-storage: Fixed crashes caused by recent "multiple storages per
3203
* src/imap-login/Makefile.am, src/imap-login/client.h, src/imap-login
3204
/imap-proxy.c, src/login-common/Makefile.am, src/login-common
3205
/client-common-auth.c, src/login-common/client-common.c, src/login-
3206
common/client-common.h, src/login-common/main.c,
3207
src/pop3-login/Makefile.am, src/pop3-login/pop3-proxy.c:
3208
imap/pop3-login: Use libsasl for authenticating to remote IMAP/POP3
3209
server. Also passdb lookup can return "proxy_mech" extra field to
3210
specify which SASL mechanism to use.
3213
* configure.ac, src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib-
3214
sasl/Makefile.am, src/lib-sasl/mech-login.c, src/lib-sasl/mech-
3215
plain.c, src/lib-sasl/sasl-client-private.h, src/lib-sasl/sasl-
3216
client.c, src/lib-sasl/sasl-client.h:
3217
Added initial libsasl for implementing client side SASL library.
3218
Initially supports PLAIN and LOGIN mechanisms.
3221
* src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
3222
/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-wrapper.cc:
3223
fts-lucene: Support normalize setting also without snowball. Added
3224
no_snowball setting. Snowball seems to be converting / breaking
3225
words down rather annoyingly.
3228
* doc/man/doveadm-altmove.1.in, doc/man/doveadm-auth.1.in, doc/man
3229
/doveadm-director.1.in, doc/man/doveadm-dump.1.in, doc/man/doveadm-
3230
expunge.1.in, doc/man/doveadm-fetch.1.in, doc/man/doveadm-force-
3231
resync.1.in, doc/man/doveadm-help.1.in, doc/man/doveadm-import.1.in,
3232
doc/man/doveadm-index.1.in, doc/man/doveadm-instance.1.in, doc/man
3233
/doveadm-kick.1.in, doc/man/doveadm-log.1.in, doc/man/doveadm-
3234
mailbox.1.in, doc/man/doveadm-mount.1.in, doc/man/doveadm-move.1.in,
3235
doc/man/doveadm-penalty.1.in, doc/man/doveadm-purge.1.in, doc/man
3236
/doveadm-pw.1.in, doc/man/doveadm-quota.1.in, doc/man/doveadm-
3237
search-query.7, doc/man/doveadm-search.1.in, doc/man/doveadm-
3238
user.1.in, doc/man/doveadm-who.1.in, doc/man/doveadm.1.in,
3239
doc/man/doveconf.1.in, doc/man/dovecot-lda.1.in,
3240
doc/man/dovecot.1.in, doc/man/dsync.1.in:
3241
man pages: Updated v2.1 -> v2.2
3244
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
3245
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
3246
private.h, src/lib-http/http-client.c, src/lib-http/http-client.h:
3247
lib-http: Added soft_connect_timeout_msecs setting to connect to
3248
multiple IPs in parallel. Based on patch by Stephan Bosch.
3251
* src/lib-http/http-client-peer.c:
3252
lib-http: If connect to peer failed, don't recreate a new connection
3253
to handle pending requests. The new connection would very likely
3254
fail as well. Another peer for the host should pick up the requests.
3257
* src/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
3258
storage-settings.h, src/lib-storage/mailbox-list.c:
3259
lib-storage: Added mailbox { driver } setting to specify which
3263
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
3264
storage/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-
3265
storage/mail-storage.c, src/lib-storage/mail-storage.h:
3266
lib-storage: Added support for multiple storages per namespace.
3269
* src/lib-storage/index/imapc/imapc-storage.c:
3270
imapc: imapc_storage no longer requires imapc_mailbox_list.
3273
* src/auth/auth-worker-server.c:
3274
auth: If worker request has been queued for 60 secs, abort it.
3277
2013-06-07 Timo Sirainen <tss@iki.fi>
3279
* src/auth/auth-request.c:
3280
auth: Don't crash in non-plaintext auth if master user login is
3281
tried without master passdbs.
3284
* src/imap-login/client.c:
3285
imap-login: If PLAIN mechanism is disabled, advertise LOGINDISABLED
3289
2013-06-06 Timo Sirainen <tss@iki.fi>
3291
* src/lib/var-expand.c:
3292
var_expand(): Fixed initializing variable to %N
3295
* src/lib/test-var-expand.c:
3296
var_expand*(): Added small unit tests for %H and %N
3299
* src/lib/var-expand.c:
3300
var_expand*(): Fixed %N to work the same with little and big endian
3301
CPUs. Also use 64bit integer to do the MOD from, which should give
3302
somewhat better value distribution than with 32bit.
3305
* src/lib-imap-client/imapc-connection.c:
3306
lib-imap-client: When switching ioloops, do it also for the DNS
3310
* src/lib-imap-client/imapc-connection.c:
3311
lib-imap-client: Make sure DNS lookups get aborted at disconnect.
3314
* src/lib-imap-client/imapc-connection.c:
3315
lib-imap-client: Don't start another DNS lookup if there's already
3319
* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail.c, src
3320
/lib-storage/index/shared/shared-list.c, src/lib-
3321
storage/index/shared/shared-storage.c, src/lib-storage/mail-
3322
storage.c, src/lib-storage/mailbox-list.c, src/plugins/acl/acl-
3323
backend-vfile.c, src/plugins/acl/acl-shared-storage.c:
3324
Avoid using mail_namespace.storage directly.
3327
* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
3328
lib-storage: Renamed mailbox_list_get_closest_storage() to
3329
..._get_default_storage() This function wasn't previously used by
3333
* src/lib-storage/index/imapc/imapc-list.c:
3334
imapc: Minor code cleanup
3337
* src/lib-storage/index/imapc/imapc-list.c, src/lib-
3338
storage/index/imapc/imapc-list.h, src/lib-storage/index/imapc/imapc-
3339
storage.c, src/lib-storage/index/imapc/imapc-storage.h:
3340
imapc: If imapc isn't the inbox=yes namespace, do the login and
3341
initial LIST in background.
3344
* src/lib-imap-client/imapc-connection.c:
3345
lib-imap-client: When server sends BYE before disconnection, log it
3349
* src/lib-storage/index/imapc/imapc-list.c:
3350
imapc: When deleting a mailbox, unselect the current one just in
3351
case they're the same.
3354
* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
3356
lib-imap-client: Added support for UNSELECT capability.
3359
* src/lib-imap-client/imapc-connection.c:
3360
lib-imap-client: If SELECT/EXAMINE fails, set the connection as not
3364
* src/lib-storage/index/imapc/imapc-list.c:
3365
imapc: Index dirs were being wrongly deleted when imapc_list_prefix
3369
* src/lib-http/http-client-connection.c:
3370
lib-http: Treat connect() timeouts as retryable errors.
3373
* src/lib-http/http-client-connection.c:
3374
lib-http: Fixed previous patch setting connection connected only
3375
after SSL handshake. This just caused crashes. The main point was
3376
anyway to include the SSL handshake as part of the
3377
connect_timeout_msecs. Apparently the easiest way is to set it
3378
immediately connected and delay removing the timeout.
3381
2013-06-05 Timo Sirainen <tss@iki.fi>
3383
* src/doveadm/dsync/doveadm-dsync.c:
3384
dsync: Set broken_char to a control char, so invalid mailbox names
3385
are handled properly. The dsync will now fail if there are invalid
3386
mailbox names (e.g. valid UTF8 when they should have been mUTF7),
3387
instead of simply printing "mailbox doesn't exist" error and exiting
3391
* src/lib-storage/mailbox-list.c:
3392
lib-storage: mailbox_list_settings.broken_char wasn't escaping 8bit
3396
* src/lib-imap/imap-utf7.c:
3397
lib-imap: Make sure imap_utf7_to_utf8() doesn't access invalid input
3398
string out of bounds.
3401
* src/lib-imap/imap-utf7.c, src/lib-imap/imap-utf7.h, src/lib-imap
3403
lib-imap: Added imap_utf7_is_valid()
3406
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
3407
src/doveadm/dsync/dsync-brain.h:
3408
dsync: If unexpected changes happened during sync, log a warning and
3409
exit with code 2. This was done by v2.1 dsync, but the code got
3410
temporarily lost in v2.2.
3413
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
3415
lib-http: After peer has received 100 response, don't add ambiguity
3416
timeout anymore. The server should be sending the 100 responses
3417
then, and long delays shouldn't be confused with them being missing.
3420
* src/lib-http/http-client-connection.c:
3421
lib-http: When receiving 1xx response while waiting for 100, don't
3422
restart timeout. The 100 response is missing only from HTTP/1.0
3423
requests, which also didn't allow any 1xx responses. So if a 1xx
3424
response is returned, a 100 response is definitely also coming.
3427
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
3428
private.h, src/lib-http/http-client.c, src/lib-http/http-client.h:
3429
lib-http: Added connect and request timeout settings.
3432
* src/lib-http/http-client-connection.c:
3433
lib-http: Mark the HTTP connection connected only after SSL
3434
handshake is finished.
3437
* src/lib-http/http-client-peer.c:
3438
lib-http: Don't create a new HTTP connection when there is already
3442
2013-06-01 Timo Sirainen <tss@iki.fi>
3444
* src/lda/main.c, src/lib-lda/mail-deliver.c, src/lib-lda/mail-
3445
deliver.h, src/lmtp/commands.c:
3446
lda/lmtp: If mail delivery fails with tempfail, don't fallback to
3450
* src/lib-index/mail-index-transaction-finish.c:
3451
lib-index: Avoid memcpy()ing data over itself.
3454
* src/lib-fs/fs-api.c:
3455
lib-fs: If fs_default_copy() fails, close the copy stream
3456
immediately. The stream's origin may already be freed by the time
3457
the fs_file_close() is trying to close the stream.
3460
* src/lmtp/commands.c:
3461
lmtp: Give the DATA input stream a name, so the raw mailbox gets a
3462
name and doesn't fail.
3465
* src/lib-storage/index/imapc/imapc-list.c:
3466
imapc: If imapc_list_prefix is set, don't skip it in filesystem
3467
paths. Most importantly this fixes the index path when accessing the
3468
imapc_list_prefix mailbox itself (so the indexes won't be in the
3469
mail root dir, where they don't get deleted when mailbox is
3473
* src/lib-storage/mail-storage.c:
3474
lib-storage: If mailbox autocreate fails with "already exists",
3475
ignore the error. This check was supposed to have been already
3476
there, but it was checking for the wrong error.
3479
* src/lib-storage/index/imapc/imapc-list.c:
3480
imapc: Return correct mailbox list flags for the imapc prefix
3484
* src/lib-storage/index/imapc/imapc-list.c:
3485
imapc: Allow accessing the imapc_list_prefix itself.
3488
* src/lib-storage/index/imapc/imapc-storage.c, src/lib-storage/index
3489
/index-storage.c, src/lib-storage/mail-storage-private.h:
3490
imapc: Fixed mailbox deletion.
3493
* src/lib-storage/index/imapc/imapc-list.c:
3494
imapc: Don't assert-crash when trying to access imapc_list_prefix
3498
* src/lib-imap-client/imapc-connection.c:
3499
lib-imap-client: Ask CAPABILITY again after STARTTLS
3502
* src/lib-storage/mailbox-list.c:
3503
lib-storage: Empty mailbox name isn't valid.
3506
* src/lib/lib-signals.c:
3507
Make sure errno is preserved in non-delayed signal handlers. The
3508
current code didn't have any signal handlers that modified errno, so
3509
this doesn't fix any bugs.
3512
2013-05-31 Timo Sirainen <tss@iki.fi>
3514
* src/lib-storage/index/imapc/imapc-settings.c:
3515
imapc: Changed imapc_user setting's default to empty.
3518
* src/lib-storage/index/imapc/imapc-storage.c:
3519
imapc: Empty imapc_user expands to namespace's owner, or with public
3520
namespaces to user itself. The main idea is that with shared
3521
namespaces it now expands to the shared username, allowing shared
3522
mailbox access via imapc.
3525
* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
3526
client.h, src/lib-imap-client/imapc-connection.c:
3527
lib-imap-client: Connect and command timeouts are now configurable.
3528
Also use the same connect timeout for the DNS lookup's timeout.
3531
2013-05-31 Stephan Bosch <stephan@rename-it.nl>
3533
* src/imap/cmd-urlfetch.c:
3534
imap: URLFETCH's URL callback would prematurely uncork the output
3535
stream when called for a local URL.
3538
2013-05-30 Timo Sirainen <tss@iki.fi>
3540
* src/imap/cmd-urlfetch.c:
3541
imap: URLFETCH's tagged reply wasn't sent while TCP corked.
3544
* src/auth/auth-request.c:
3545
auth: Fixed error handling for proxy host dns_lookup()
3548
* src/auth/auth-worker-server.c:
3549
Reverted previous wrong commit.
3552
* src/auth/auth-worker-server.c:
3553
auth: Fixed error handling for proxy host dns_lookup()
3556
* src/lib-storage/list/mailbox-list-index-iter.c, src/lib-storage/list
3557
/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h:
3558
layout=index: Allow mailbox create/delete/rename during mailbox list
3562
* src/lib-index/mail-index-transaction-export.c:
3563
lib-index: Fixed a broken assert.
3566
2013-05-30 Stephan Bosch <stephan@rename-it.nl>
3568
* src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-imap-urlauth
3569
/imap-urlauth-fetch.h:
3570
lib-imap-urlauth: Added API for using the fetch interface with an
3571
already parsed IMAP URL object.
3574
* src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
3575
src/lib-imap-urlauth/imap-urlauth-fetch.h:
3576
imap: Fixed segfault in URLFETCH command. Command would be cleaned
3577
up while requests were still pending, causing a segfault once a
3578
request finished. Added API determining whether the URLAUTH fetch
3579
interface still has pending requests.
3582
* src/lib-imap-urlauth/imap-urlauth-fetch.c:
3583
lib-imap-urlauth: Fixed handling of URLAUTH service connection
3584
resume after pending local request. This was erroneously removed in
3588
* src/lib-imap-urlauth/imap-urlauth-fetch.c:
3589
lib-imap-urlauth: Fixed pending_request counter difference between
3590
locally and remotely fetched URLAUTHs.
3593
* src/lib-imap-urlauth/imap-urlauth-fetch.c:
3594
lib-imap-urlauth: Fixed URLAUTH fetch reference counting for when
3595
requests are aborted at deinit.
3598
* src/lib-imap-urlauth/imap-urlauth-connection.c:
3599
lib-imap-urlauth: Fixed URLAUTH connection resume after error.
3602
* src/lib-imap-urlauth/imap-urlauth-connection.c:
3603
lib-imap-urlauth: Made sure callbacks from URLAUTH service
3604
connection are executed only once.
3607
2013-05-30 Timo Sirainen <tss@iki.fi>
3609
* src/lib/var-expand.c:
3610
var_expand(): Added %N, which is the same as %H except based on MD5.
3611
This gives a better distribution of values than %H.
3614
2013-05-29 Timo Sirainen <tss@iki.fi>
3616
* src/lib-imap/Makefile.am, src/lib-imap/imap-quote.c, src/lib-imap
3618
lib-imap: imap_append_string_for_humans() returned broken output for
3619
whitespace-only input. This returned broken IMAP ENVELOPEs,
3620
especially for subjects that contained only whitespace. Since the
3621
broken output returned a huge literal, it basically caused the IMAP
3625
* src/lib-settings/settings-parser.c:
3626
lib-settings: Support also "seconds" and "minutes" (instead of just
3630
* src/doveadm/dsync/dsync-ibc-stream.c:
3631
dsync: Fixed dsync handshaking since recent change.
3634
* src/lib-index/mail-cache-lookup.c:
3635
lib-index: Fixed mail_cache_lookup_headers() when fields were still
3639
* src/lib-storage/mailbox-list.c:
3640
lib-storage: If INDEX=MEMORY, return index root dir as nonexistent
3644
* src/lib-storage/mailbox-list.c:
3645
lib-storage: Reverted previous change after all.
3648
* src/lib-storage/mailbox-list.c:
3649
lib-storage: Don't try to mkdir() empty directory with INDEX=MEMORY
3653
Fixed compiling with gcc v3.3 and older. Perhaps the check needs to
3654
be also for somewhat newer versions?..
3657
2013-05-28 Timo Sirainen <tss@iki.fi>
3659
* src/auth/db-ldap.c:
3660
auth ldap: If ldap debug_level>0, log how long initialization took.
3663
* src/auth/auth-request.c:
3664
auth: Keep auth_request referenced during DNS lookup. If the
3665
underlying auth connection gets closed, there's nothing else
3666
referencing the auth_request.
3669
* src/doveadm/client-connection.c, src/doveadm/client-connection.h,
3670
src/doveadm/doveadm-mail-server.c:
3671
doveadm-server: Pass local/remote_ip/port to passdb lookups so
3675
* src/auth/auth-request.c:
3676
auth: Fixed caching empty userdb result.
3679
* src/auth/userdb-blocking.c:
3680
auth: If blocking userdb returns no fields, don't crash when trying
3681
to cache the result.
3684
* src/lib-fs/fs-api.c, src/lib-fs/fs-api.h:
3685
lib-fs: Added fs_get_root_driver()
3688
2013-05-27 Timo Sirainen <tss@iki.fi>
3690
* src/doveadm/doveadm-dump-index.c, src/lib-storage/index/dbox-common
3691
/dbox-save.c, src/lib-storage/index/dbox-common/dbox-save.h, src
3692
/lib-storage/index/dbox-common/dbox-storage.c, src/lib-storage/index
3693
/dbox-common/dbox-storage.h, src/lib-storage/index/dbox-multi/mdbox-
3694
mail.c, src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-
3695
storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
3696
storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
3697
/dbox-multi/mdbox-storage.h, src/lib-storage/index/dbox-single
3698
/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-save.c, src
3699
/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
3700
storage/index/dbox-single/sdbox-storage.h, src/lib-storage/index
3701
/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
3703
dbox: Don't cache pop3.uidl|order unless index header indicates
3704
there are those. They exist only when doing a migration, so it's
3705
pretty wasteful storing "doesn't exist" for all other installations.
3708
* src/lib-index/mail-index-transaction-update.c, src/lib-index/mail-
3710
lib-index: Added mail_index_ext_resize_hdr()
3713
* src/lib-index/mail-index-sync-ext.c:
3714
lib-index: Fixed resizing header when old&new sizes were the same
3718
* src/lib-index/mail-index-transaction-export.c:
3719
lib-index: Create ext-intro records using the latest sizes, not
3723
* src/lib-storage/index/dbox-common/dbox-mail.c:
3724
dbox: Return cached pop3.order=0 as empty string instead to fix
3728
2013-05-26 Timo Sirainen <tss@iki.fi>
3730
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
3731
mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
3732
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
3733
src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-ibc-
3734
stream.c, src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-
3735
mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.h:
3736
dsync: Added -x parameter to exclude mailboxes from sync. Multiple
3737
-x parameters can be added. Giving \flag as parameter means that the
3738
mailbox with the given SPECIAL-USE \flag is skipped. For example:
3740
doveadm sync -x '\All' -x '\Flagged' -x '\Important' mdbox:~/mdbox
3743
* src/lib-storage/index/imapc/imapc-save.c:
3744
imapc: Fixed assert-crash when copying messages.
3747
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
3748
src/doveadm/dsync/dsync-brain.h:
3749
dsync: Small code cleanup.
3752
* src/lib-storage/index/imapc/imapc-list.c, src/lib-storage/mailbox-
3754
imapc: Pass through SPECIAL-USE LIST flags if imapc is in INBOX
3758
* src/doveadm/doveadm-dump-dbox.c, src/lib-storage/index/dbox-common
3759
/dbox-file.h, src/lib-storage/index/dbox-common/dbox-mail.c, src
3760
/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index
3761
/index-mail.c, src/lib-storage/index/index-mail.h:
3762
dbox: Added support for POP3 message order.
3765
* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
3766
private.h, src/lib-index/mail-cache-transaction.c:
3767
lib-index: mail_cache_lookup*() can now return fields recently added
3768
with mail_cache_add() Previously it was returning them if they had
3769
already been written to dovecot.index.cache, but not if they were
3770
still in the in-memory buffer. This avoids caching/parsing the same
3771
field multiple times when messages aren't accessed in ascending
3772
order (e.g. when sorting messages).
3775
2013-05-23 Timo Sirainen <tss@iki.fi>
3777
* src/lib-http/http-client.c, src/lib-http/http-client.h:
3778
lib-http: Added ssl_cert|key|key_password settings to be passed to
3779
ssl-iostream. These are used for sending client's SSL certificate.
3782
2013-05-22 Timo Sirainen <tss@iki.fi>
3784
* src/login-common/sasl-server.c:
3785
*-login: If ssl=required, don't list any SASL mechanisms before
3789
* src/imap-login/client.c, src/login-common/client-common-auth.c:
3790
*-login: ssl=required should imply disable_plaintext_auth=yes
3793
* src/lib-storage/index/index-search.c:
3794
lib-storage: Optimize SEARCH_MODSEQ query if it's higher than
3798
* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
3799
dsync: Fixed unsubscribing from mailbox within same session as the
3803
* src/doveadm/dsync/doveadm-dsync.c:
3804
dsync: Don't notify replicator process about successful dsync if the
3808
2013-05-21 Timo Sirainen <tss@iki.fi>
3810
* src/login-common/client-common-auth.c:
3811
*-login: If auth failed with a specified reason, the reason wasn't
3812
actually shown to client.
3815
2013-05-21 Stephan Bosch <stephan@rename-it.nl>
3817
* src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
3818
src/lib-imap-urlauth/imap-urlauth-fetch.h:
3819
lib-imap-urlauth: Fixed deinitialization of the URLAUTH fetch
3820
handler. Added reference counting to make sure callbacks will not
3821
deinitialize the handler prematurely.
3824
* src/lib-imap-urlauth/imap-urlauth-fetch.c:
3825
lib-imap-urlauth: Fixed resuming in URLAUTH fetch handler. Fixed
3826
URLAUTH fetch handler to properly resume the URLAUTH connection,
3827
even when it is deinitialized.
3830
* src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-imap-urlauth
3831
/imap-urlauth-fetch.h:
3832
lib-imap-urlauth: Fixed local URLAUTH fetches that didn't
3833
immediately finish handling content. Local requests are now also
3837
2013-05-21 Timo Sirainen <tss@iki.fi>
3839
* src/auth/db-ldap.c:
3840
auth: Fixed crash if LDAP query returned multiple results.
3843
2013-05-20 Timo Sirainen <tss@iki.fi>
3845
* src/doveadm/dsync/dsync-ibc-stream.c:
3846
dsync: Previous have_save_guids change somewhat broke compatibility
3847
with earlier dsync versions.
3850
* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
3851
/dsync-ibc-stream.c, src/doveadm/dsync/dsync-mailbox-tree-fill.c,
3852
src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
3854
dsync: Fixed unsubscribing from an already deleted mailbox.
3858
Added signature for changeset 7aa929edd551
3862
Added tag 2.2.2 for changeset 7aa929edd551
3865
* NEWS, configure.ac:
3867
[7aa929edd551] [2.2.2]
3869
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
3870
ibc-stream.c, src/doveadm/dsync/dsync-mailbox.h:
3871
dsync: Don't try to sync with GUIDs if we can't set them on the
3872
needed side. With two-way syncing both sides need to have writable
3873
GUIDs. With one-way syncing only the writing side needs to have
3877
* src/lib-storage/index/maildir/maildir-sync-index.c, src/lib-
3878
storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
3880
maildir: If we notice an unexpectedly inserted file, retry the sync
3881
to fix it. Without this doveadm force-resync would just ignore the
3885
* src/lib-storage/index/maildir/maildir-uidlist.c:
3886
maildir: Reverted most of changeset c92ebbedc6f9. If dovecot-uidlist
3887
file is recreated, it gets a new inode number, and we should
3888
recognize by that alone that it has changed. More importantly this
3889
forced re-reading of dovecot-uidlist clears out the RACING flag,
3890
making it impossible to handle reappearing maildir files.
3893
2013-05-19 Timo Sirainen <tss@iki.fi>
3895
* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
3896
storage/index/dbox-single/sdbox-storage.c, src/lib-
3897
storage/index/maildir/maildir-storage.c, src/lib-storage/mail-
3898
storage-private.h, src/lib-storage/mail-storage.c, src/lib-storage
3899
/mail-storage.h, src/plugins/virtual/virtual-storage.c,
3900
src/plugins/virtual/virtual-storage.h:
3901
lib-storage: Added mailbox_status.have_save_guids.
3904
* src/lib-storage/index/mbox/mbox-save.c:
3905
mbox: Previous change broke index updates to successful saves.
3908
2013-05-19 Christian Wiese <christian.wiese@securepoint.de>
3910
* doc/example-config/conf.d/Makefile.am:
3911
example-config: Added missing auth-dict.conf.ext to distribution
3914
2013-05-19 Timo Sirainen <tss@iki.fi>
3916
* src/lib-http/http-url.c:
3917
http_url_escape_param(): Added more characters to be escaped. Most
3918
importantly '+', which encodes a space normally. The others may not
3919
be strictly necessary, but safer to escape them just in case.
3922
* src/lib-http/http-client-host.c:
3923
lib-http: Fixed assert-crash when host had multiple IPs and first
3927
* src/imap/cmd-urlfetch.c:
3928
imap-urlfetch: Don't leak memory on error. Use TCP corking when
3932
2013-05-15 Timo Sirainen <tss@iki.fi>
3934
* src/lib-storage/index/mbox/mbox-save.c:
3935
mbox: Fixed committing transaction after a previous save had failed.
3938
* src/lib-storage/index/mbox/mbox-save.c:
3939
mbox: If save's input stream fails, fail saving instead of ignoring
3943
* src/lib-storage/list/mailbox-list-fs-iter.c:
3944
layout=fs: Always return INBOX uppercased when listing mailboxes.
3947
* src/lib-storage/list/mailbox-list-iter.c:
3948
lib-storage: Don't lose INBOX's \Subscribed flag when returning it
3952
* src/imap/cmd-select.c:
3953
imap: Return how long SELECT or EXAMINE command took to answer.
3954
Could be useful to know sometimes if there's a large maildir where a
3955
lot files need to be rename()d.
3958
* src/lib-storage/index/maildir/maildir-sync-index.c:
3959
maildir: Fixed handling over 26 keywords in a mailbox.
3962
* src/lib-index/mail-index-map.c, src/lib-index/mail-index-
3963
transaction-update.c, src/lib-storage/index/index-sort-string.c,
3964
src/lib/bsearch-insert-pos.c, src/lib/bsearch-insert-pos.h, src/lib
3966
Added asserts to binary searches to make sure we don't go to
3967
infinite loop. Using idx=left+(right-left)/2 would have worked also
3968
to allow 4GB sizes, but since none of the places in the code are
3969
likely to reach 2GB we might as well just add an assert. (Also if
3970
they do reach 2GB, it could be possible that they could reach also
3971
above 4GB and cause problems. Better to see an early error.)
3974
* src/plugins/quota/quota-status.c:
3975
quota-status: If quota_status_* settings are set, don't free them
3979
* src/lib-storage/index/index-storage.c:
3980
lib-storage: Allow mail_*cache_fields settings to specify any hdr.*
3981
fields. Also the fields were previously set only once globally, so
3982
if the process served multiple users, it wouldn't have been possible
3983
to use per-user values for these fields.
3986
* src/lib-index/mail-cache-fields.c:
3987
lib-index: Don't mark field decisions dirty when registering initial
3991
* src/lib-index/mail-cache-fields.c:
3992
lib-index: Fixed mail_cache_register_fields() decision updates.
3993
Normally this shouldn't matter, except when mail_*cache_fields
3994
settings have been used.
3997
* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
3998
settings.c, src/lib-storage/mail-storage-settings.h:
3999
lib-storage: Added mail_always_cache_fields setting.
4002
2013-05-11 Florian Zeitz <florob@babelmonkeys.de>
4004
* src/lib/test-unichar.c, src/lib/unichar.c, src/lib/unicodemap.pl:
4005
liblib: Fix Unicode decomposition
4008
2013-05-15 Timo Sirainen <tss@iki.fi>
4010
* doc/example-config/dovecot-dict-auth.conf.ext, doc/example-config
4011
/dovecot-dict-sql.conf.ext, doc/example-config/dovecot-
4012
ldap.conf.ext, doc/example-config/dovecot-sql.conf.ext:
4013
example-config: Added comment how all *.conf.ext files are accessed
4017
* doc/example-config/Makefile.am:
4018
Makefile: Removed dovecot-db.conf.ext
4021
* doc/example-config/dovecot-db.conf.ext:
4022
example-config: Removed dovecot-db.conf.ext since Berkeley DB
4023
support is never built in.
4026
* doc/example-config/conf.d/auth-checkpassword.conf.ext, doc/example-
4027
config/conf.d/auth-deny.conf.ext, doc/example-config/conf.d/auth-
4028
dict.conf.ext, doc/example-config/conf.d/auth-ldap.conf.ext, doc
4029
/example-config/conf.d/auth-master.conf.ext, doc/example-
4030
config/conf.d/auth-passwdfile.conf.ext, doc/example-config/conf.d
4031
/auth-sql.conf.ext, doc/example-config/conf.d/auth-static.conf.ext,
4032
doc/example-config/conf.d/auth-system.conf.ext, doc/example-
4033
config/conf.d/auth-vpopmail.conf.ext:
4034
example-config: auth-*.conf.ext should say they're included by
4038
2013-05-14 Timo Sirainen <tss@iki.fi>
4040
* src/auth/db-passwd-file.c:
4041
auth passwd-file: If we fail to open passwd-file, log a request
4042
error directly. Instead of one error message and another info
4046
* src/lib/hash.h, src/plugins/fts-lucene/lucene-wrapper.cc:
4047
Avoid strict aliasing warnings.
4050
* doc/example-config/conf.d/20-imap.conf, doc/example-
4051
config/conf.d/20-pop3.conf:
4052
example-config: Moved imap_* and pop3_* settings outside protocol
4053
section. There's no need to keep them inside protocol {}, and in
4054
case of pop3_uidl_format=%m setting it's actually harmful.
4057
* doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c,
4058
src/pop3/pop3-client.h, src/pop3/pop3-commands.c,
4059
src/pop3/pop3-settings.c, src/pop3/pop3-settings.h:
4060
pop3: Added pop3_deleted_flag setting.
4064
configure: Fixed checking for struct sockpeercred with OpenBSD <5.3
4067
* src/login-common/login-proxy.c:
4068
login-proxy: If login fails with timeout, log what the proxying
4072
* src/login-common/login-proxy-state.h, src/login-common/login-
4074
login-proxy: Don't crash if connect() succeeds but login fails with
4078
2013-05-13 Dennis Schridde <devurandom@gmx.net>
4080
* doc/man/Makefile.am:
4081
Fix out of source build of manpages
4084
2013-05-06 Timo Sirainen <tss@iki.fi>
4086
* src/lib-index/mail-transaction-log-view.c:
4087
lib-index: Previous commit sometimes broke scanning transaction log
4088
view. If min_file_seq+offset pointed to the end of the previous file
4089
that no longer existed, we didn't just skip over it.
4092
* src/imap/cmd-urlfetch.c:
4093
imap: URLFETCH sometimes failed thinking it didn't receive all of
4097
* src/imap/cmd-urlfetch.c:
4098
imap: URLFETCH leaked istream on failures.
4101
* src/imap/cmd-urlfetch.c:
4102
imap: Fixed URLFETCH assert-crashes due to output_cmd_lock not being
4106
* src/imap/cmd-append.c:
4107
imap: Don't eat away the next command if CATENATE fails.
4110
* src/imap/cmd-append.c:
4111
imap: Fixed assert-crash on invalid APPEND parameters.
4114
* src/imap/cmd-append.c:
4115
imap: Don't hang in APPEND when giving it invalid parameters.
4118
* src/lib-imap/imap-parser.c:
4119
lib-imap: imap_parser_read_args() shouldn't append multiple EOLs
4120
when calling multiple times.
4123
* src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-imap-urlauth
4125
lib-imap-urlauth: Don't try to access garbage memory on error
4129
* src/doveadm/doveadm-mail-iter.c:
4130
doveadm: If search query attempts to access nonexistent mailbox,
4131
just ignore it. Most importantly running a query for multiple users
4132
wouldn't be an error if the mailbox existed only for some users.
4133
It's probably cleaner to then always just ignore the nonexistent
4137
* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
4138
copymove.c, src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-
4139
mail-fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm
4140
/doveadm-mail-iter.c, src/doveadm/doveadm-mail-iter.h, src/doveadm
4141
/doveadm-mail-search.c:
4142
doveadm_mail_iter_init(): Removed unnecessarily returning
4143
transaction. If it's needed in future just add a new
4144
doveadm_mail_iter_get_transaction().
4147
* src/lib-index/mail-transaction-log-view.c:
4148
lib-index: The previous assert-crashfix didn't actually fix the
4152
* src/lib-storage/list/mailbox-list-maildir-iter.c:
4153
maildir++: Fixed mail_shared_explicit_inbox=no
4156
* src/lib-storage/list/mailbox-list-iter.c:
4157
namespace { prefix="" list=no } should never be listed.
4160
* src/plugins/acl/acl-api-private.h, src/plugins/acl/acl-backend-
4161
vfile.c, src/plugins/acl/acl-backend.c:
4162
acl: Optionally get default ACL's for private/shared namespaces from
4163
user's INBOX. This probably should be the default always, but better
4164
not break anyone's existing setup until v2.3.0. So for now there's a
4165
setting for this: plugin { acl_defaults_from_inbox = yes }
4168
* src/plugins/acl/acl-mailbox.c:
4169
acl: Mailbox creation ignored ACLs (due to API changes in v2.2). The
4170
created mailbox couldn't have been accessed however.
4173
2013-05-03 Timo Sirainen <tss@iki.fi>
4175
* src/plugins/quota/quota-status.c:
4176
quota-status: Return 554 instead of 552 on quota failures. This is
4177
because RFC 5321/2821 recommends that 552 is treated the same as
4181
2013-05-02 Timo Sirainen <tss@iki.fi>
4183
* src/lib-imap-urlauth/imap-urlauth.c:
4184
lib-imap-urlauth: Don't try to access garbage memory on error
4188
* src/imap-urlauth/imap-urlauth-worker.c:
4189
imap-urlauth-worker: Fixed a crash (by removing unnecessary code)
4192
* src/imap/cmd-append.c:
4193
imap: Don't allow empty CATENATE () list.
4196
* src/imap/cmd-append.c:
4197
imap: Fixed using literals for URLs in CATENATE.
4200
* doc/example-config/dovecot.conf:
4201
example-config: Typofix
4204
2013-04-23 Timo Sirainen <tss@iki.fi>
4206
* src/plugins/stats/Makefile.am, src/plugins/stats/stats-connection.c:
4207
stats plugin: Don't try to send notifications to already dead stats
4211
* src/lib-master/master-service.c, src/lib-master/master-service.h:
4212
lib-master: Added master_service_is_master_stopped()
4216
hash_table_clear(): Added a comment about API usage.
4219
* src/lib-storage/index/maildir/maildir-keywords.c:
4220
maildir: Crashfix after dovecot-keywords file was re-read.
4223
* src/lib-storage/list/mailbox-list-index.c:
4224
lib-storage: Fixed crash with mailbox_list_index=yes after re-
4228
* src/lib-compression/istream-bzlib.c, src/lib-compression/istream-
4230
istream-[b]zlib: Don't break if parent stream gets seeked in the
4234
* src/lib-storage/index/dbox-common/dbox-file.c:
4235
dbox: Close file's fd only after its istream is destroyed. For
4236
example zlib plugin keeps the stream open as a cache even after the
4237
dbox_file has been destroyed.
4240
* src/lib/istream-seekable.c:
4241
istream-seekable: Don't crash when seeking forwards past the data we
4245
* src/lib-http/Makefile.am:
4246
lib-http: Makefile fix
4249
* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
4250
/fts-backend-solr.c:
4251
fts-solr: Don't crash if fts_solr setting is invalid.
4254
* src/master/master-settings.c:
4255
master: Fixed warning log message.
4259
OpenBSD compile fix: include sys/socket.h when checking for struct
4263
2013-04-22 Timo Sirainen <tss@iki.fi>
4265
* src/plugins/stats/stats-connection.c:
4266
stats plugin: Use nonblocking open() for stats fifo. This fixes
4267
hangs in it. Alternative would be to use alarm().
4270
* src/plugins/zlib/zlib-plugin.c:
4271
zlib: Keep the last read mail cached uncompressed in a temp file.
4272
This fixes performance problems with partial IMAP FETCH commands.
4275
2013-04-20 Timo Sirainen <tss@iki.fi>
4277
* src/lib-storage/index/index-search.c:
4278
lib-storage: Avoid wasting data stack during searches.
4281
* src/lib-mail/istream-attachment-connector.c:
4282
Fixed a memory leak.
4285
* src/plugins/stats/stats-plugin.c:
4286
stats plugin: Fixed memory leak.
4289
2013-04-19 Timo Sirainen <tss@iki.fi>
4291
* src/imap-urlauth/imap-urlauth-worker.c, src/lib/ioloop.c:
4292
Compiling fix for Sun compilers. I wish gcc/clang warned about these
4293
as well, as sometimes they indicate bugs.
4297
Added signature for changeset 6fcf060b50f1
4301
Added tag 2.2.1 for changeset 6fcf060b50f1
4304
* NEWS, TODO, configure.ac:
4306
[6fcf060b50f1] [2.2.1]
4308
2013-04-18 Timo Sirainen <tss@iki.fi>
4310
* src/lib-storage/list/mailbox-list-index-backend.c:
4311
layout=index: Fixed listing subscriptions.
4314
* src/lib-storage/index/index-storage.c:
4315
lib-storage: Set virtual/physical size in dest_mail when copying, if
4316
possible. Ideally lib-index would be fixed so this wouldn't be
4317
necessary. The lib-index way of fixing it would also be useful for
4318
more than just quota plugin.
4321
* src/lib-storage/index/index-storage.c:
4322
lib-storage: mailbox_copy() didn't always copy all the cached fields
4323
to destination. If the destination mailbox's cache file wasn't
4324
already opened, the default cache decisions were used.
4327
2013-04-17 Stephan Bosch <stephan@rename-it.nl>
4330
liblib: Added DLLIST2_INSERT_AFTER_FULL() For inserting a new
4331
element in a doubly-linked list after an existing element.
4334
* src/lib-imap-urlauth/imap-urlauth-connection.c:
4335
lib-imap-urlauth: Fixed connection error handling to abort all
4339
2013-04-17 Timo Sirainen <tss@iki.fi>
4341
* src/imap/cmd-append.c, src/lib-storage/mail-storage.c:
4342
lib-storage: mailbox_save_finish() internally does one final
4343
mailbox_save_continue()
4346
* src/doveadm/doveadm-fs.c:
4347
doveadm fs: Set base_dir.
4350
2013-04-16 Timo Sirainen <tss@iki.fi>
4352
* src/lib-storage/index/mbox/mbox-sync-parse.c, src/lib-
4353
storage/index/mbox/mbox-sync-private.h, src/lib-storage/index/mbox
4354
/mbox-sync-update.c:
4355
mbox: Handle broken Status: and X-Status: headers without sync
4359
* src/auth/auth-request.c:
4360
auth: Fixed multiple master passdbs.
4363
* src/lib-storage/index/maildir/maildir-util.c:
4364
maildir: Fixed crash in some rare situations.
4367
2013-04-15 Timo Sirainen <tss@iki.fi>
4369
* src/plugins/zlib/zlib-plugin.c:
4370
zlib: Don't crash when trying to use zlib_save for handler that
4374
* src/lib-mail/message-parser.c:
4375
lib-mail: Don't assert-crash when multipart doesn't actually have
4379
2013-04-14 Timo Sirainen <tss@iki.fi>
4381
* src/lib-storage/mail-namespace.c:
4382
lib-storage: mailbox_list_index=yes was still broken.
4385
* src/doveadm/doveadm-mail.h:
4389
2013-04-12 Timo Sirainen <tss@iki.fi>
4392
Added tag 2.2.0 for changeset 1c8e7a295d4b
4395
2013-04-11 Timo Sirainen <tss@iki.fi>
4398
Added signature for changeset e2cd03cc9c69
4399
[1c8e7a295d4b] [2.2.0]
4401
* NEWS, configure.ac, doc/example-config/conf.d/11-object-
4406
* src/lib-storage/list/mailbox-list-index.c:
4407
lib-storage: mailbox_list_index=yes was broken by previous change.
4408
Reverted the previous change and fixed it the right way.
4411
* src/doveadm/dsync/doveadm-dsync.c, src/lib-storage/mail-user.h,
4412
src/plugins/acl/acl-api.c, src/plugins/acl/acl-attributes.c,
4413
src/plugins/imap-quota/imap-quota-plugin.c,
4414
src/plugins/quota/quota.c:
4415
Removed ambiguous mail_user.admin flag. dsync shouldn't sync
4416
mailboxes without +r ACL.
4419
* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
4420
copymove.c, src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-
4421
mail-import.c, src/doveadm/doveadm-mail-index.c, src/doveadm
4422
/doveadm-mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
4423
src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-mail.c:
4424
doveadm: Don't use MAILBOX_LIST_ITER_RAW_LIST when listing
4425
mailboxes. That skips ACLs and mailbox list. There's really no good
4426
reason to use that by default.
4429
* src/lib-storage/list/mailbox-list-index.c:
4430
lib-storage: mailbox_list_index=yes wasn't working with ACLs.
4433
* src/lib-storage/index/index-mail.c:
4434
lib-storage: mail_update_pvt_modseq() shouldn't crash if there is no
4439
net_getunixcred(): Fix to previous NetBSD<5 support: return pid as
4444
net_getunixcred() support for NetBSD <v5.0. Fixed also building with
4445
other NetBSDs. Patch by Emmanuel Dreyfus
4448
* src/lib/mountpoint.c:
4449
Fixed getmntinfo() usage with NetBSD. Patch by Emmanuel Dreyfus
4452
2013-04-10 Timo Sirainen <tss@iki.fi>
4455
Added signature for changeset d7f29af73468
4459
Added tag 2.2.rc7 for changeset d7f29af73468
4462
* NEWS, TODO, configure.ac:
4464
[d7f29af73468] [2.2.rc7]
4466
* src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
4467
storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
4468
storage.c, src/lib-storage/index/imapc/imapc-storage.h:
4469
imapc: If APPEND to selected mailbox doesn't send EXISTS, try if
4470
NOOP sends it. This makes Dovecot behave better with Courier.
4473
* src/lib-ssl-iostream/ostream-openssl.c:
4474
iostream-ssl: Don't hang if ostream's max buffer size is set to 0.
4477
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
4478
api.h, src/lib-fs/fs-metawrap.c, src/lib-fs/fs-posix.c, src/lib-fs
4479
/fs-sis-queue.c, src/lib-fs/fs-sis.c:
4480
lib-fs: Added fs_file_close() to explicitly close all streams that
4484
* src/lib-index/test-mail-transaction-log-view.c:
4485
lib-index: Fixed failing unit test
4488
* src/lib-http/http-client-connection.c:
4489
lib-http: Don't double-free request memory when aborting them.
4492
* src/lib-http/http-client-host.c, src/lib-http/http-client-request.c:
4493
lib-http: http_client_deinit() calls any pending delayed failure
4497
* src/lib-index/mail-transaction-log-view.c:
4498
lib-index: Assert-crashfix on some rare situations.
4499
mail_index_modseq_get_next_log_offset() might have returned e.g.
4500
(seq=4, offset=40) to point to the beginning of a next file. The
4501
view itself could still have been pointing to seq=3 end of file. Now
4502
calling mail_transaction_log_view_set() with these two positions
4503
(that are basically the same) should result in an empty view instead
4507
* src/lib-fs/fs-api.c:
4508
lib-fs: Add data stack frames to most API calls, so the
4509
backends/callers don't need to.
4512
* src/lib-http/http-client-request.c:
4513
lib-http: Added data stack frame to avoid unnecessary data stack
4517
* src/lib-storage/list/mailbox-list-index.c:
4518
lib-storage: Fixed mailbox list index crashes with shared mailboxes.
4521
* src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage-
4522
hooks.h, src/lib-storage/mail-user.c:
4523
lib-storage: Added mail_namespaces_added hook.
4526
* src/lib-storage/list/mailbox-list-index.c, src/lib-storage/mailbox-
4527
list.c, src/lib-storage/mailbox-list.h:
4528
lib-storage: Make sure index root dir is created when mailbox list
4532
* src/doveadm/dsync/dsync-mailbox-import.c:
4533
dsync: Don't fail the sync if attribute couldn't be set. It's
4534
probably a system configuration mismatch where some/all attributes
4535
don't work in one system but do on another. This might or might not
4536
be a problem, so it deserves an error message, but probably doesn't
4537
deserve failing entirely.
4540
* src/lib-storage/list/mailbox-list-index-status.c:
4541
lib-storage: Fixed crash with mailbox_list_index=yes and out-of-date
4545
2013-04-09 Timo Sirainen <tss@iki.fi>
4547
* src/lib/istream-seekable.c:
4548
istream-seekable: Fixed handling "buffer full" i_stream_read()
4549
result from underlying streams.
4552
* src/doveadm/dsync/dsync-mailbox-import.c:
4553
dsync: Fixed assert-crash caused by previous change
4556
2013-04-08 Timo Sirainen <tss@iki.fi>
4558
* src/doveadm/dsync/dsync-mailbox-import.c:
4559
dsync: Commit large transactions every 100 new messages. This way if
4560
the dsync crashes or transaction fails in the middle, the next run
4561
can finish faster. Also the rollbacking finishes faster.
4564
* src/doveadm/dsync/dsync-mailbox-import.c:
4565
dsync: If saving mails fail, stop trying to save more of them and
4569
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
4570
src/doveadm/dsync/dsync-brain.h:
4571
dsync: -U parameter never updated replicator's full_sync state.
4574
* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
4575
storage.c, src/plugins/quota/quota.c:
4576
quota: dsync shouldn't trigger quota warnings They would probably
4577
just be duplicates that were already triggered by the other replica.
4580
* src/doveadm/dsync/dsync-brain.c:
4581
dsync: If dsync fails due to lock timeout, give a better error
4585
* src/lib-master/mountpoint-list.c:
4586
lib-master: Ignore mountpoints with type cgroup.
4589
* src/doveadm/doveadm-replicator.c:
4590
doveadm replicator: Fixed showing over 1h old timestamps.
4593
* src/replication/replicator/doveadm-connection.c,
4594
src/replication/replicator/replicator-queue.c,
4595
src/replication/replicator/replicator-queue.h:
4596
replicator: doveadm commands and user list export may have skipped
4597
some users. The users were exported from the queue, but they are
4598
temporarily removed from there while the user is being replicated.
4599
The users always exist in the hash table though.
4602
* src/auth/db-checkpassword.c:
4603
checkpasword: Don't set AUTH_PASSWORD environment.
4606
* src/lib/restrict-process-size.c:
4607
restrict_process_count(): Don't die if process count can't be
4608
changed. SELinux has hard limits and doesn't allow root to increase
4609
them. The admin should fix the error one way or another, but it's
4610
not a total failure just leaving it.
4613
* src/lib-http/http-client-connection.c:
4614
lib-http: If remote SSL cert is invalid, treat it as non-retryable
4618
* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
4619
/iostream-openssl.h, src/lib-ssl-iostream/iostream-ssl-private.h,
4620
src/lib-ssl-iostream/iostream-ssl.c, src/lib-ssl-iostream/iostream-
4622
lib-ssl-iostream: Added ssl_iostream_has_handshake_failed()
4626
Added signature for changeset ae4341d0e83b
4630
Added tag 2.2.rc6 for changeset ae4341d0e83b
4633
* NEWS, configure.ac:
4635
[ae4341d0e83b] [2.2.rc6]
4637
* src/doveadm/dsync/doveadm-dsync.c:
4638
dsync: Fixed crashes with dsync-server -U parameter
4641
* src/lib-fs/fs-posix.c:
4642
fs-posix: Set file's fd to -1 after closing it
4645
2013-04-07 Timo Sirainen <tss@iki.fi>
4647
* src/lib-mail/istream-qp-decoder.c:
4648
istream-qp-decoder: Fixed assert-crashes caused by recent forced-
4652
* src/lib-fs/fs-posix.c:
4653
lib-fs: posix fs backend now closes the fd after reads are finished.
4654
This allows keeping more fs_file structs open than there are
4658
* src/lib-http/http-client-connection.c, src/lib-imap-urlauth/imap-
4659
urlauth-connection.c, src/lib-storage/index/index-mail.c, src/lib
4660
/iostream-private.h, src/lib/iostream-temp.c, src/lib/iostream.c,
4661
src/lib/istream.c, src/lib/istream.h, src/lib/json-parser.c:
4662
istream API change: Added support for multiple destroy callbacks.
4665
* src/lib-fs/ostream-metawrap.c:
4666
ostream-metawrap: ..and compile fix to previous commit.
4669
* src/lib-fs/ostream-metawrap.c:
4670
ostream-metawrap: Copy parent ostream's errors.
4673
* doc/example-config/conf.d/10-ssl.conf:
4674
example-config: Added ssl_client_ca_file
4677
* src/doveadm/doveadm-fs.c, src/doveadm/doveadm-settings.c,
4678
src/doveadm/doveadm-settings.h, src/doveadm/dsync/doveadm-dsync.c,
4679
src/lib-http/http-client.c, src/lib-http/http-client.h, src/lib-http
4680
/test-http-client.c, src/lib-imap-client/imapc-client.c, src/lib-
4681
imap-client/imapc-client.h, src/lib-ssl-iostream/iostream-openssl-
4682
context.c, src/lib-ssl-iostream/iostream-ssl.h, src/lib-
4683
storage/index/imapc/imapc-storage.c, src/lib-storage/index/pop3c
4684
/pop3c-client.c, src/lib-storage/index/pop3c/pop3c-client.h, src
4685
/lib-storage/index/pop3c/pop3c-storage.c, src/lib-storage/mail-
4686
storage-settings.c, src/lib-storage/mail-storage-settings.h:
4687
Added ssl_client_ca_file to specify the CA certs as a file instead
4688
of as a dir. This is required for Redhat-based systems where there
4689
isn't a CA directory like in Debian/Ubuntu.
4692
* src/doveadm/doveadm-fs.c:
4693
doveadm fs: Enable fs debug if doveadm -D parameter is given.
4696
* src/lib-fs/fs-api.h:
4697
lib-fs: Added debug setting.
4700
* .hgignore, src/doveadm/Makefile.am, src/doveadm/doveadm-fs.c,
4701
src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h,
4702
src/doveadm/doveadm.c, src/doveadm/doveadm.h, src/lib-
4703
fs/Makefile.am, src/lib-fs/fs-test.c:
4704
Moved lib-fs/fs-test to "doveadm fs" command.
4707
* src/lib-storage/list/mailbox-list-index.c:
4708
lib-storage: mailbox list index didn't get its permissions from the
4712
* src/lib-storage/mailbox-list.c:
4713
lib-storage: dovecot.mailbox.log should have used file permissions,
4714
not dir Although this didn't actually make any difference since 0666
4718
* doc/example-config/conf.d/10-mail.conf:
4719
example-config: Added mailbox_list_index.
4722
* src/doveadm/doveadm-replicator.c, src/replication/replicator
4723
/doveadm-connection.c, src/replication/replicator/replicator-
4724
queue.c, src/replication/replicator/replicator-queue.h:
4725
Added "doveadm replicator remove" command to remove users from
4729
* src/doveadm/doveadm-settings.c, src/doveadm/dsync/doveadm-dsync.c:
4730
dsync: Fixed -U to send the notification on the remote server, not
4734
* src/lib-storage/mail-storage.c:
4735
lib-storage: If transaction commit fails, don't try to access
4739
* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
4740
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
4741
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-ibc-pipe.c,
4742
src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-
4743
stream.c, src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-
4745
dsync: Fixed talking to earlier dsync without mailbox attribute
4746
support. Most importantly it can now be used as an example how to
4747
add more features to dsync.
4750
* src/lib/connection.c:
4751
connection_disconnect(): Explicitly close input/output stream. This
4752
makes sure that if the ostream has some data pending and is still
4753
referenced, the io_remove() won't be called after fd is already
4757
* src/lib-http/test-http-client.c:
4758
test-http-client: Allow invalid SSL certs in tests.
4761
* src/lib-http/http-client.c:
4762
lib-http: ssl_crypto_device and ssl_allow_invalid_cert settings were
4766
* src/lib-http/http-client-connection.c:
4767
lib-http: Fixed receiving 100-continue reply after we already timed
4771
* src/doveadm/dsync/doveadm-dsync.c, src/replication/replicator
4772
/doveadm-connection.c, src/replication/replicator/dsync-client.c:
4773
replicator: Have remote dsync notify the replicator that the user
4774
was just synced. This way the replicators are roughly in sync.
4777
2013-04-06 Timo Sirainen <tss@iki.fi>
4779
* src/replication/replicator/replicator-settings.c,
4780
src/replication/replicator/replicator.c:
4781
replicator: Don't create replicator-doveadm socket by default. Also
4782
removed the service replicator { process_min_avail=1 } requirement.
4783
This new way allows replicator to give a flag to dsync so it will
4784
try to notify the replicator process when user gets synced, which
4785
can be silently ignored even if it fails (replica server doesn't
4786
need to have replicator or even Dovecot itself running).
4789
* src/lib-index/mail-index-transaction-export.c:
4790
lib-index: Added missing NUL separator to attribute-update
4791
transaction log record.
4794
2013-04-05 Timo Sirainen <tss@iki.fi>
4796
* src/lib-fs/fs-metawrap.c:
4797
fs-metawrap: Fixed fs_copy_finish_async() wrapping
4801
Added signature for changeset 9446df6da5a8
4805
Added tag 2.2.rc5 for changeset 9446df6da5a8
4808
* NEWS, configure.ac:
4810
[9446df6da5a8] [2.2.rc5]
4812
* doc/example-config/conf.d/10-ssl.conf:
4813
example-config: Added ssl_client_ca_dir setting.
4816
* src/lib-http/http-client.c:
4817
lib-http: Fixed moving delayed request error timeouts between
4821
* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-
4822
transaction-export.c, src/lib-index/mail-index-transaction-
4823
private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
4824
index/mail-index.h, src/lib-storage/index/index-attribute.c,
4825
src/plugins/acl/acl-mailbox.c:
4826
lib-index: Add timestamps and value lengths to attribute change
4827
records in transaction log. The timestamps will be useful for dsync,
4828
and value lengths will be useful for metadata quota.
4831
* src/imap/cmd-resetkey.c, src/lib-imap-urlauth/imap-urlauth-
4833
imap: Fixed RESETKEY command to not return failure when it actually
4837
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-mailbox-
4838
export.c, src/doveadm/dsync/dsync-mailbox-import.c, src/lib-http
4839
/http-client-request.c, src/lib/test-json-parser.c:
4840
Make static analyzer happier.
4843
* src/doveadm/doveadm-mail-batch.c:
4844
doveadm batch: Fixed handling subcommand parameters and errors.
4847
* src/plugins/quota/quota-status.c:
4848
quota-status: Unknown recipients caused a crash.
4851
* src/lib-storage/list/mailbox-list-index-backend.c:
4852
layout=index: Don't crash on mailbox_update() if the mailbox path
4856
* src/doveadm/dsync/doveadm-dsync.c:
4857
dsync: Fixes to location parameter handling.
4861
Added signature for changeset 92c88eca562d
4865
Added tag 2.2.rc4 for changeset 92c88eca562d
4868
* NEWS, TODO, configure.ac:
4870
[92c88eca562d] [2.2.rc4]
4872
* .hgsigs, .hgtags, NEWS, configure.ac, src/auth/auth-request.c,
4873
src/doveadm/Makefile.am, src/doveadm/doveadm-dump-log.c, src/doveadm
4874
/doveadm-mail-batch.c, src/doveadm/doveadm-mail-index.c, src/doveadm
4875
/doveadm-mail.c, src/doveadm/doveadm-mail.h, src/indexer/master-
4876
connection.c, src/lib-index/mail-index-modseq.c, src/lib-index/mail-
4877
index-sync-update.c, src/lib-index/mail-index-transaction-update.c,
4878
src/lib-index/mail-transaction-log.h, src/lib-master/mountpoint-
4879
list.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
4880
storage/index/dbox-common/dbox-storage.c, src/lib-
4881
storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
4882
/mbox-storage.c, src/lib-storage/index/pop3c/pop3c-storage.c, src
4883
/lib-storage/index/raw/raw-storage.c, src/lib-storage/list/mailbox-
4884
list-delete.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
4885
storage/list/mailbox-list-maildir.c, src/lib-storage/mailbox-list-
4886
private.h, src/lib/macros.h, src/plugins/acl/acl-mailbox.c,
4887
src/plugins/virtual/virtual-config.c:
4888
Merged changes from v2.1 tree.
4892
Added signature for changeset 582108c190f8
4896
Added tag 2.1.16 for changeset 582108c190f8
4899
* NEWS, configure.in:
4901
[582108c190f8] [2.1.16]
4903
2013-04-04 Timo Sirainen <tss@iki.fi>
4905
* src/plugins/quota/quota-status.c:
4906
quota-status: Removed duplicate "action=" text from overquota
4910
* src/plugins/quota/quota-status.c:
4911
quota-status: Added quota_status_(success|nouser|overquota)
4915
2013-04-02 Timo Sirainen <tss@iki.fi>
4917
* src/plugins/quota/quota-status.c:
4918
quota-status: If size parameter is given, use it to check quota.
4921
* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-modseq.c,
4922
src/lib-index/mail-index-sync-update.c, src/lib-index/mail-
4924
lib-index: Backported MAIL_TRANSACTION_ATTRIBUTE_UPDATE from v2.2
4927
2013-03-31 Timo Sirainen <tss@iki.fi>
4929
* src/auth/auth-request.c:
4930
auth: Implemented userdb_import and userdb_userdb_import fields.
4933
* src/auth/auth-request.c:
4934
auth: Fixed passdb_import not to crash when =value isn't given.
4937
* src/auth/auth-request.c:
4938
auth: Renamed userdb_userdb_import to passdb_import, since that's
4942
* src/auth/auth-request.c:
4943
auth: Allow using userdb_userdb_import in passdb query to set
4944
multiple userdb fields.
4947
* src/lib-master/mountpoint-list.c:
4948
lib-master: Ignore mountpoints under /tmp and /var/tmp by default.
4951
2013-03-27 Timo Sirainen <tss@iki.fi>
4953
* src/lib-index/mail-index-transaction-update.c:
4954
lib-index: Removed obsolete 16bit size check asserts from
4955
mail_index_update_header_ext()
4958
2013-03-25 Timo Sirainen <tss@iki.fi>
4960
* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-batch.c,
4961
src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mail.h:
4962
doveadm: Added "batch" command to run multiple mail commands. This
4963
only makes sense when the commands are run with -A or -u <usermask>,
4964
so that the commands are run for the same user before moving onto
4968
2013-02-22 Timo Sirainen <tss@iki.fi>
4970
* src/doveadm/doveadm-mail-index.c, src/indexer/master-connection.c:
4971
doveadm, indexer: Don't crash if STATUS_LAST_CACHED_SEQ lookup
4972
fails. (I'm sure I did this change already once, where did it go?..)
4975
2013-03-24 Timo Sirainen <tss@iki.fi>
4977
* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
4978
/dbox-common/dbox-storage.c, src/lib-storage/index/maildir/maildir-
4979
storage.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
4980
storage/index/pop3c/pop3c-storage.c, src/lib-storage/index/raw/raw-
4981
storage.c, src/lib-storage/list/mailbox-list-delete.c, src/lib-
4982
storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-
4983
maildir.c, src/lib-storage/mailbox-list-private.h, src/plugins/acl
4984
/acl-mailbox.c, src/plugins/virtual/virtual-config.c:
4985
"Mailbox doesn't exist" error mixed up using storage and virtual
4986
mailbox names. This could have allowed a user to figure out
4987
existence of a mailbox without having lookup ACL.
4990
2011-10-30 Dennis Schridde <devurandom@gmx.net>
4993
Add DOVECOT_PREREQ to src/lib/macros.h - convenience macro to test
4994
the version of dovecot
4998
Add macros DOVECOT_VERSION_{MAJOR,MINOR} to config.h to allow
4999
version checks in the preprocessor
5001
Version number set as PACKAGE_VERSION is assumed to be D.D* with
5005
2013-04-04 Timo Sirainen <tss@iki.fi>
5007
* src/replication/replicator/replicator.c:
5008
replicator: If replicator is unconfigured, fail at startup.
5011
* src/lib-master/master-interface.h, src/lib-master/master-service-
5012
private.h, src/lib-master/master-service.c, src/lib-master/master-
5013
service.h, src/master/service-process.c:
5014
lib-master: Added master_service_get_process_min_avail()
5017
* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
5018
dsync: Mailbox name fixing didn't work when namespace prefixes were
5022
* src/lib-storage/index/imapc/imapc-list.c:
5023
imapc: Don't assert-crash when ACL plugin tries to lookup ""
5027
* src/lib-storage/index/imapc/imapc-storage.c:
5028
imapc: Give an early error message if imapc_list_prefix ends with
5032
* src/lib-storage/index/shared/shared-storage.c, src/lib-storage/mail-
5034
lib-storage: Crashfixes for handling shared mailboxes for
5038
* src/lib/istream-chain.c:
5039
istream-chain: Final fixes to handling merged streams.
5042
* src/lib/istream-chain.c:
5043
istream-chain: More fixes to handling merged streams.
5046
* src/lib/istream-chain.c:
5047
istream-chain: Fixed memory leak.
5050
* src/lib-imap-urlauth/imap-urlauth-backend.c:
5051
lib-imap-urlauth: Don't memcpy() data over itself.
5054
* src/lib/istream.c:
5055
i_stream_read(): Added assert.
5058
* src/lib/istream-chain.c:
5059
istream-chain: Fixed handling small streams that get merged into
5063
* src/auth/db-ldap.c, src/auth/db-ldap.h:
5064
ldap auth: Don't access freed memory.
5067
* src/lib-storage/list/mailbox-list-iter.c:
5068
lib-storage: Add \Noinferiors flag to INBOX when such namespace
5072
* src/auth/auth-request.c:
5073
auth: If passdb wasn't used, don't preserve its extra fields in auth
5077
* src/lib-mail/quoted-printable.c, src/lib-mail/quoted-printable.h,
5078
src/lib-mail/test-quoted-printable.c:
5079
lib-mail: quoted_printable_decode*() now returns all newlines as
5080
CRLF. This is required by BINARY fetches, since the original data
5084
* src/lib-storage/mail-search.c:
5085
lib-storage: Fixed searching with multiple parameters and
5089
* src/lib-imap-client/imapc-connection.c, src/lib-storage/index/pop3c
5091
imapc, pop3c: Don't hide SSL handshake errors.
5094
* src/doveadm/server-connection.c, src/lib-http/http-client-
5095
connection.c, src/lib-imap-client/imapc-connection.c, src/lib-ssl-
5096
iostream/iostream-openssl.c, src/lib-ssl-iostream/iostream-ssl.c,
5097
src/lib-ssl-iostream/iostream-ssl.h, src/lib-storage/index/pop3c
5099
lib-ssl-iostream: Simplified certificate validation. Also give
5100
better error messages.
5103
* src/lib-http/http-client-peer.c:
5104
lib-http: Crashfix for previous change.
5107
* src/doveadm/server-connection.c, src/lib-http/http-client-
5108
connection.c, src/lib-imap-client/imapc-connection.c, src/lib-master
5109
/master-service-ssl.c, src/lib-ssl-iostream/iostream-openssl-
5110
context.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
5111
iostream/iostream-openssl.h, src/lib-ssl-iostream/iostream-ssl-
5112
private.h, src/lib-ssl-iostream/iostream-ssl.c, src/lib-ssl-iostream
5113
/iostream-ssl.h, src/lib-storage/index/pop3c/pop3c-client.c:
5114
lib-ssl-iostream: Added support for TLS SNI, which caused some API
5118
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
5119
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
5121
lib-http: Prepare for TLS SNI support.
5124
* src/lib-http/http-client.c:
5125
lib-ssl: If debug=TRUE, set also SSL verbose=TRUE
5128
* src/doveadm/server-connection.c, src/lib-http/http-client-
5129
connection.c, src/lib-http/http-client.h, src/lib-imap-client/imapc-
5130
connection.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-
5131
storage/index/pop3c/pop3c-client.c:
5132
lib-ssl-iostream: If handshake callback fails, close the iostreams
5133
immediately. This way the callback itself doesn't have to do it.
5134
Also fixes errors caused by it, since they didn't close the ostream.
5137
* src/lib-http/http-client-connection.c:
5138
lib-http: Removed last traces of http_client_connection_error()
5141
* src/doveadm/server-connection.c, src/lib-http/http-client-
5142
connection.c, src/lib-imap-client/imapc-connection.c, src/lib-ssl-
5143
iostream/iostream-openssl.c, src/lib-ssl-iostream/iostream-
5144
openssl.h, src/lib-ssl-iostream/iostream-ssl-private.h, src/lib-ssl-
5145
iostream/iostream-ssl.c, src/lib-ssl-iostream/iostream-ssl.h, src
5146
/lib-storage/index/pop3c/pop3c-client.c:
5147
lib-ssl-iostream: ssl_iostream_set_handshake_callback() API changed.
5148
The callback can now return the error message to caller instead of
5149
having to log it itself.
5152
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
5153
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
5155
lib-http: Pass connect failures all the way to request callback's
5159
* src/lib-http/http-client-connection.c:
5160
lib-http: Reorder http_client_connection deinit code just to be
5161
safe. I'm not sure if this fixes any actual bugs, but just in case
5162
request callbacks cause the connection to be accessed/modified in
5163
some way abort the requests before doing anything else.
5166
* src/lib-http/http-client-connection.c:
5167
lib-http: Fixed double-free on delayed connect() failures caused by
5171
* src/lib-http/http-client-connection.c:
5172
lib-http: If SSL init/handshake fails for connection, destroy it.
5175
* src/lib-http/http-client-connection.c:
5176
lib-http: If connect() fails, destroy the http_client_connection.
5177
Fixes hanging requests when a peer has multiple connections.
5180
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
5181
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
5183
lib-http: Simplify error handling by delaying connect() failures.
5186
* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h,
5187
src/lib-http/http-client-request.c:
5188
lib-http: If http_client_request_submit() fails, don't immediately
5189
call the callback. This simplifies the caller's error handling since
5190
there is now only one error code path instead of two.
5193
* src/lib-http/http-client-peer.c:
5194
lib-http: Removed unused code.
5197
* src/doveadm/client-connection.c, src/doveadm/dsync/doveadm-dsync.c,
5198
src/doveadm/server-connection.c, src/lib-http/http-client-
5199
connection.c, src/lib-http/http-client.c, src/lib-imap-client/imapc-
5200
client.c, src/lib-imap-client/imapc-connection.c, src/lib-master
5201
/master-service-ssl.c, src/lib-master/master-service-ssl.h, src/lib-
5202
ssl-iostream/iostream-openssl-context.c, src/lib-ssl-iostream
5203
/iostream-openssl-params.c, src/lib-ssl-iostream/iostream-openssl.c,
5204
src/lib-ssl-iostream/iostream-openssl.h, src/lib-ssl-iostream
5205
/iostream-ssl-private.h, src/lib-ssl-iostream/iostream-ssl.c, src
5206
/lib-ssl-iostream/iostream-ssl.h, src/lib-storage/index/pop3c/pop3c-
5208
lib-ssl-iostream: API changes to return error strings if init()
5209
functions fail. This also fixed a couple of broken error handlings.
5212
* src/lib-ssl-iostream/iostream-ssl-none.c:
5213
lib-ssl-iostream: Removed unused iostream-ssl-none.c
5216
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
5217
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
5218
private.h, src/lib-http/http-client.c:
5219
lib-http: Each peer doesn't need a separate ssl context, enough to
5220
have one for http_client. Also removed #ifdefs for building with SSL
5221
support. lib-ssl-iostream nowadays dynamically loads the SSL library
5222
when needed, and also handles failures if Dovecot was built without
5226
* src/lib-http/http-client-host.c:
5227
lib-http: Pass DNS lookup error message to caller instead of logging
5231
2013-04-03 Timo Sirainen <tss@iki.fi>
5234
dovecot.m4: Reverted last change with added comments.
5237
2013-04-02 Timo Sirainen <tss@iki.fi>
5239
* src/lib-master/master-service.c:
5240
lib-master: If fifo isn't accepted, don't double-destroy the
5244
* src/lib-http/http-client-peer.c, src/lib-http/http-client.c, src
5245
/lib-http/http-client.h:
5246
lib-http: Added ssl_ca setting to specify the CA certificate
5251
dovecot.m4: Removed --without-dovecot-install-dirs from distcheck
5252
configure flags. Perhaps the whole feature should be designed some
5253
other way. Some plugins require the dovecot_* variables to point to
5257
* src/auth/mech-dovecot-token.c, src/auth/mech-winbind.c:
5258
auth: Fixed also DOVECOT-TOKEN (=URLAUTH) and NTLM/GSS-SPNEGO (via
5262
* src/auth/mech-anonymous.c:
5263
auth: Fixed ANONYMOUS mechanism to work again.
5266
2013-03-31 Timo Sirainen <tss@iki.fi>
5268
* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
5269
quota: Added more debug logs about quota_grace
5272
* src/doveadm/dsync/dsync-mailbox-export.c:
5273
dsync: Fixed syncing without GUIDs.
5276
* src/doveadm/dsync/doveadm-dsync.c:
5277
dsync: Don't crash if second user initialization fails.
5280
* src/doveadm/dsync/dsync-mailbox-import.c:
5281
dsync: If remote doesn't send some mails, don't exit with code 0.
5284
* src/auth/auth-request.c:
5285
auth: nodelay and nopassword fields weren't handled correctly.
5288
* src/lib-storage/mail-storage.c, src/plugins/virtual/virtual-save.c:
5289
virtual plugin: Fixed saving/copying messages to virtual mailbox.
5292
* src/lib-storage/index/index-status.c, src/lib-storage/mail-
5294
lib-storage: mailbox_get_status() no longer forces mailbox to be
5295
synced. This fixes copying messages with keywords to a virtual
5296
mailbox, where syncing happened too late and caused assert-crash
5297
(status was only used to lookup list of keywords).
5299
The crash could have been solved another way too, but it's probably
5300
better if automatic syncing isn't always performed. doveadm index -n
5301
parameter handling also relies on this behavior.
5304
* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
5306
lib-storage: Don't reset
5307
mail_save_context.copying|moving|copying_via_save too early.
5310
* src/lib-storage/index/shared/shared-storage.c:
5311
lib-storage: Create a default namespace for auto-created shared
5312
mail_users. Some code nowadays requires user to have prefix=""
5316
2013-03-28 Timo Sirainen <tss@iki.fi>
5318
* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
5319
maildir++ quota: Fixed relative quota_grace when taking limit from
5323
2013-03-27 Timo Sirainen <tss@iki.fi>
5325
* src/lib-storage/index/maildir/maildir-mail.c:
5326
maildir: If maildir_broken_filename_sizes=yes, don't try to fix
5330
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
5332
lib-fs: Always keep the error in the parentmost fs. This fixes
5333
problems with getting the correct error message when wrapper
5334
filesystems are used.
5337
* src/doveadm/dsync/doveadm-dsync.c:
5338
dsync: Use i_fatal() for invalid parameters, like the rest of
5339
doveadm commands. Probably the parse_arg() API should be changed to
5340
allow reporting errors.
5343
* src/doveadm/dsync/doveadm-dsync.c:
5344
dsync: Don't access uninitialized variable
5347
* src/replication/replication-common.h:
5348
Compiler warning fix
5351
2013-03-26 Timo Sirainen <tss@iki.fi>
5353
* src/lib-storage/mail.c:
5354
lib-storage: Added assert.
5357
* src/doveadm/dsync/doveadm-dsync.c:
5358
dsync: Allow doveadm plugins to override local_location at run().
5361
* src/doveadm/dsync/doveadm-dsync.c:
5362
dsync: Allow syncing same mail root dirs if indexes are different.
5363
Fixes dsyncing with storages that have no mail root dirs.
5366
* src/doveadm/dsync/dsync-mailbox-import.c:
5367
dsync: Crashfix when importing from storage without GUIDs.
5370
* src/auth/db-ldap.c:
5371
ldap: Another fix to sub-dn-lookup.
5374
* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
5375
src/auth/userdb-ldap.c:
5379
* src/auth/db-ldap.c:
5380
ldap: Compiling fix to previous change
5383
* src/auth/db-ldap.c:
5384
ldap: Improved sub-dn-lookup error message.
5387
2013-03-25 Timo Sirainen <tss@iki.fi>
5389
* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/userdb-ldap.c:
5390
ldap: Various crashfixes
5393
* src/auth/db-ldap.c:
5394
ldap: Don't crash if attributes have no @subrequests.
5397
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
5398
mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
5399
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
5400
src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-ibc-
5401
stream.c, src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-
5402
mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.h:
5403
doveadm sync/backup: Added -g <guid> to sync only the specified
5404
mailbox (by GUID) Similar to -m <mailbox name>.
5407
* src/doveadm/dsync/dsync-ibc-stream.c:
5408
dsync: Fixed syncing attribute streams.
5411
* src/imap/cmd-urlfetch.c:
5412
imap: Fixed more URL escaping in URLFETCH replies.
5415
2013-03-24 Timo Sirainen <tss@iki.fi>
5417
* src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c:
5418
mysql/pgsql: Don't bother logging about having connected to the
5419
database. There's probably no good reason to have them? Errors are
5420
of course still logged.
5423
* src/doveadm/client-connection.c:
5424
doveadm-server: Don't continue handling commands if input stream is
5425
already closed. This fixes trying to handle extra input from
5426
previous dsync command.
5429
* src/imap/cmd-genurlauth.c, src/imap/cmd-urlfetch.c:
5430
imap: GENURLAUTH and URLFETCH didn't escape URL parameters when
5434
* src/doveadm/doveadm-replicator.c, src/replication/replicator
5435
/doveadm-connection.c, src/replication/replicator/replicator-
5436
queue.c, src/replication/replicator/replicator-queue.h:
5437
doveadm replicator status: Without <usermask> parameter show
5441
* src/doveadm/doveadm-print-table.c:
5442
doveadm: Table formatter now hides the titles if all of them are
5446
* src/doveadm/doveadm-replicator.c, src/replication/replicator
5447
/doveadm-connection.c:
5448
doveadm: Added "replicator replicate" command to force replication
5452
* src/replication/replicator/replicator-settings.c:
5453
replication_full_sync_interval default changed from 12h -> 24h This
5454
allows doing full resyncs only at nights.
5457
* src/replication/replicator/replicator-queue.c,
5458
src/replication/replicator/replicator-queue.h,
5459
src/replication/replicator/replicator.c:
5460
replicator: If sync fails, retry it in 5 minutes.
5463
* src/replication/replicator/replicator-queue.c:
5464
replicator: Replicator queue export/import at exit/startup wasn't
5468
* src/doveadm/doveadm-replicator.c:
5469
doveadm replicator status: Show sync time as "-" for "never".
5472
* src/doveadm/doveadm-replicator.c, src/replication/replicator
5473
/doveadm-connection.c:
5474
doveadm replicator status: Fixed user mask to work.
5477
* src/doveadm/Makefile.am, src/doveadm/doveadm-replicator.c,
5478
src/doveadm/doveadm.c, src/doveadm/doveadm.h:
5479
doveadm: Added "replicator status" command.
5482
* src/replication/replication-common.h,
5483
src/replication/replicator/Makefile.am, src/replication/replicator
5484
/doveadm-connection.c, src/replication/replicator/doveadm-
5485
connection.h, src/replication/replicator/replicator-queue.c,
5486
src/replication/replicator/replicator-queue.h,
5487
src/replication/replicator/replicator-settings.c,
5488
src/replication/replicator/replicator.c:
5489
replicator: Added doveadm socket for communicating with "doveadm
5493
* src/lib-storage/list/mailbox-list-iter.c:
5494
lib-storage: Fixed listing subscribed namespace prefixes.
5497
* src/lib-storage/list/mailbox-list-iter.c:
5498
lib-storage: If INBOX isn't subscribed, don't return it in
5502
2013-03-22 Timo Sirainen <tss@iki.fi>
5504
* src/lib-storage/mailbox-list.c:
5505
lib-storage: Compiling fix
5508
* src/lib-storage/index/shared/shared-list.c:
5509
lib-storage: Fixed crash if shared namespace had subscriptions=yes
5512
* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
5513
lib-storage: Added mailbox_list_get_settings()
5516
* src/doveadm/dsync/dsync-brain.c:
5517
dsync: Use fcntl() locking instead of flock().
5520
* src/doveadm/dsync/dsync-mailbox-import.c:
5521
Compiler warning fix
5524
* src/plugins/acl/acl-lookup-dict.c:
5525
acl: Don't crash when rebuilding acl dict for "unusable" namespaces.
5528
2013-03-21 Timo Sirainen <tss@iki.fi>
5530
* src/login-common/client-common-auth.c:
5531
login proxy: Set a default 30s timeout.
5534
* src/login-common/login-proxy.c:
5535
login proxy: Stop proxy_timeout only after successfully logged in
5536
(not after connected).
5539
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
5540
mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
5541
/dsync-brain-private.h, src/doveadm/dsync/dsync-brain.c,
5542
src/doveadm/dsync/dsync-brain.h:
5543
dsync: -m '' parameter now syncs mailbox list, but no actual mails.
5546
2013-03-20 Timo Sirainen <tss@iki.fi>
5549
Added signature for changeset 11bd79bf4866
5553
Added tag 2.2.rc3 for changeset 11bd79bf4866
5556
* NEWS, configure.ac:
5558
[11bd79bf4866] [2.2.rc3]
5560
* src/auth/mech-scram-sha1.c, src/doveadm/doveadm-pw.c, src/lib-mail
5561
/message-decoder.c, src/lib-settings/settings-parser.c, src/lib-
5562
storage/index/dbox-common/dbox-save.c, src/lib-storage/mail-storage-
5563
settings.c, src/plugins/fts/fts-api.c:
5564
Merged changes from v2.1 tree.
5567
* src/doveadm/doveadm-pw.c:
5568
doveadm pw -t: Don't ask for password if -p is also specified. Patch
5569
by Paul Wallingford.
5572
* src/plugins/fts/fts-api.c:
5573
fts: Fixed crash when searching virtual mailboxes and fts backend
5574
without lookup_multi(). Patch by Mike Abbott / Apple
5577
2013-03-04 Timo Sirainen <tss@iki.fi>
5579
* src/lib-storage/index/dbox-common/dbox-save.c:
5580
dbox: Crashfix on some failed save error conditions.
5583
* src/lib-settings/settings-parser.c:
5584
lib-settings: Improved error messages when config server disconnects
5588
2013-02-27 Timo Sirainen <tss@iki.fi>
5590
* src/lib-mail/message-decoder.c:
5591
message-decode: Minor fix to previous change. The == condition
5592
should probably never happen, but handle it anyway.
5595
* src/lib-mail/message-decoder.c:
5596
message-decoder: Fixed assert-crash when trying to decode partial
5600
2013-02-26 Timo Sirainen <tss@iki.fi>
5602
* src/lib-storage/mail-storage-settings.c:
5603
lib-storage: If namespace has disabled=yes, don't verify alias_for
5607
* src/auth/mech-scram-sha1.c:
5608
scram-sha1: Support authzid field. Check fields' correctness better.
5611
2013-03-20 Timo Sirainen <tss@iki.fi>
5613
* src/lib-storage/index/mbox/mbox-storage.c, src/lib-storage/list
5614
/mailbox-list-subscriptions.c:
5615
mbox: Moved .subscriptions back to control_dir/ root instead of
5619
* src/lib-storage/list/mailbox-list-fs.c:
5620
layout=fs: Fixed crash with mbox when control dir was enabled.
5623
* src/doveadm/dsync/dsync-mailbox-export.c:
5624
dsync: Fixed retrying a search when GUIDs aren't available.
5627
* src/doveadm/dsync/dsync-brain-mails.c:
5628
dsync: Avoid a creating a lot of searches for each synced mailbox.
5631
* src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-mail.h,
5632
src/doveadm/dsync/dsync-mailbox-export.c:
5633
dsync: Don't crash when requested mail doesn't have a GUID.
5636
* src/lib-storage/list/mailbox-list-fs-iter.c:
5637
layout=fs: Fixed assert-crash when mail root doesn't exist (pop3c).
5640
* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart.c:
5641
imap: Don't crash with invalid FETCH BODY[sections]
5644
* doc/example-config/conf.d/10-mail.conf:
5645
example-config: Removed a warning about mail_attachment_dir not
5649
* src/lib-lda/lmtp-client.c:
5650
lib-lda: Send QUIT after DATA replies have been received.
5653
* src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
5655
acl: Put ACL files to control dir if storage doesn't have a mail
5659
* src/lib-storage/list/mailbox-list-index-backend.c:
5660
layout=index: Fixed mailbox_exists()
5663
* src/imap/cmd-resetkey.c:
5664
imap: Fixed RESETKEY assert-crashing
5667
* src/lib-storage/list/mailbox-list-index-backend.c:
5668
layout=index: Don't return a path for \Noselect mailboxes.
5671
* src/lib-storage/mail-storage.c:
5672
lib-storage: mailbox_rename() shouldn't require source mailbox to
5673
exist. \Noselect mailboxes may not exist. The nonexistence will be
5674
noticed eventually in the backend code.
5677
* src/lib-fs/fs-api.c:
5678
lib-fs: Fixed fs_default_copy() to work with async writes.
5681
* src/replication/replicator/Makefile.am, src/replication/replicator
5682
/doveadm-connection.c, src/replication/replicator/doveadm-
5683
connection.h, src/replication/replicator/dsync-client.c,
5684
src/replication/replicator/dsync-client.h,
5685
src/replication/replicator/replicator-brain.c:
5686
replicator: Renamed doveadm-connection to dsync-client.
5689
* src/doveadm/dsync/dsync-mailbox-import.c:
5690
dsync: Fixed attribute value comparisons.
5693
2013-03-19 Timo Sirainen <tss@iki.fi>
5695
* src/doveadm/dsync/dsync-mailbox.c:
5696
Compiler warning fix.
5699
* src/lib-storage/mail-storage-hooks.c, src/lib-storage/mail-storage-
5700
hooks.h, src/lib-storage/mail-storage-private.h:
5701
lib-storage: Added a way to create plugins that forcibly hook into
5702
mail storage. Mostly meant for doveadm_sieve plugin.
5705
* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-ibc-
5706
stream.c, src/doveadm/dsync/dsync-mailbox-export.c,
5707
src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
5708
mailbox.c, src/doveadm/dsync/dsync-mailbox.h, src/lib-storage/index
5709
/index-attribute.c, src/lib-storage/mail-storage.c, src/lib-storage
5710
/mail-storage.h, src/plugins/acl/acl-attributes.c:
5711
lib-storage: Mailbox attributes can now be accessed via istreams.
5712
The idea is to use istreams for larger values.
5715
* src/doveadm/dsync/dsync-ibc-stream.c:
5716
dsync: Fixed sending mailbox attributes with stream ibc.
5719
* src/doveadm/dsync/dsync-brain-mails.c:
5720
dsync: Mail requests were lost when attributes were being synced.
5723
* src/plugins/acl/acl-attributes.c:
5724
acl: Don't iterate ACL attributes if prefix has no chance of
5728
* src/plugins/acl/acl-api.h, src/plugins/acl/acl-attributes.c,
5729
src/plugins/acl/acl-backend-vfile.c:
5730
acl: Preserve dovecot-acl file's mtime when dsyncing.
5733
* src/plugins/acl/acl-backend-vfile.c:
5734
acl: Don't unnecessarily rewrite dovecot-acl file when re-adding the
5738
* src/doveadm/dsync/dsync-mailbox-import.c:
5739
dsync: Set last_change timestamp for unset attributes.
5742
* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
5743
lib-storage: Allow mailbox_attribute_set() to also unset values.
5744
This allows giving the last_change timestamp also when unsetting.
5747
* src/doveadm/dsync/dsync-mailbox-import.c, src/lib-imap-urlauth/imap-
5748
urlauth-backend.c, src/lib-storage/index/index-attribute.c, src/lib-
5749
storage/index/index-storage.h, src/lib-storage/mail-storage-
5750
private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
5751
storage.h, src/plugins/acl/acl-attributes.c, src/plugins/acl/acl-
5753
lib-storage: mailbox_attribute_set() now uses struct
5754
mail_attribute_value. This allows settig the last_change value, as
5755
well as using streams and setting other flags in future.
5758
* src/lib/net.c, src/lib/net.h:
5759
net_is_in_network(): Don't assert-crash with invalid IP. It's
5760
probably better to do the check here instead of remembering for
5761
caller to do the check.
5764
* src/lib/test-json-parser.c:
5765
test-json-parser: Fixed failing test with some non-gcc/clang
5769
* src/auth/db-ldap.c:
5770
ldap auth: Removed base() wrapper around @dn values. The idea was to
5771
provide extensibility, but it can better be done with LDAP URLs.
5774
* src/lib-fs/Makefile.am, src/lib-fs/fs-test.c:
5775
lib-fs: fs-test now sets the ssl_client_set.ca_dir
5778
* src/doveadm/doveadm-settings.c, src/doveadm/doveadm-settings.h,
5779
src/doveadm/dsync/doveadm-dsync.c, src/lib-storage/index/imapc
5780
/imapc-settings.c, src/lib-storage/index/imapc/imapc-settings.h, src
5781
/lib-storage/index/imapc/imapc-storage.c, src/lib-
5782
storage/index/pop3c/pop3c-settings.c, src/lib-storage/index/pop3c
5783
/pop3c-settings.h, src/lib-storage/index/pop3c/pop3c-storage.c, src
5784
/lib-storage/mail-storage-settings.c, src/lib-storage/mail-storage-
5786
Moved ssl_client_ca_dir and ssl_crypto_device to
5787
mail_storage_settings. Probably could also be moved to
5788
master_service_settings, but that makes accessing them a bit more
5789
tricky with the current code.
5792
* src/lib-fs/fs-api.h:
5793
lib-fs: Allow passing through SSL client settings via struct
5797
2013-03-18 Timo Sirainen <tss@iki.fi>
5799
* src/auth/db-ldap.c, src/auth/db-ldap.h:
5800
ldap auth: "!ldapField" now requests the given field, but doesn't
5801
return it directly. It's only useful for listing fields that
5802
%{ldap_ptr} can potentially access.
5805
* src/auth/db-ldap.c:
5806
ldap auth: Added %{ldap_ptr:realAttr} to get the value from the
5807
realAttr. For example:
5809
password_attrs = \ =proxy=y, \ =host=%{ldap_ptr:activeHost}, \
5810
primaryHost, secondaryHost
5812
Where activeHost's value is either "primaryHost" or "secondaryHost".
5815
* src/auth/db-ldap.c:
5816
ldap auth: Fix to previous change.
5819
* src/auth/db-ldap.c, src/auth/db-ldap.h, src/auth/passdb-ldap.c,
5820
src/auth/userdb-ldap.c:
5821
ldap auth: Support field values containing DNs to other LDAP records
5822
and getting them. For example:
5824
user_attrs = \ =user=%{ldap:uid}, \ @mail=base(%{ldap:mailDN}), \
5825
=uid=%{ldap:uidNumber@mail}, \ =gid=%{ldap:gidNumber@mail}, \
5826
=home=%{ldap:rootPath@mail}/%d/%n
5828
This first does the regular lookup, and then does another lookup
5829
using mailDN's value as the new lookup's base. The other lookup's
5830
filter is currently hardcoded to "no filter".
5833
* src/auth/auth-fields.c, src/auth/auth-fields.h, src/auth/auth-
5835
auth: Return "nologin" and "proxy" fields to login process without
5839
* src/lib-master/master-service.h:
5840
Compiling fix for Solaris
5843
* src/lib-mail/istream-qp-decoder.c:
5844
istream-qp-decoder: Fixed assert-crashing with buffer size
5845
allocations. The original implementation was copy&pasted from
5846
istream-base64-decoder without enough thinking..
5849
* src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted-
5851
quoted-printable decoding: Don't add CR if it wasn't in input. This
5852
guarantees that the decoded Q-P won't be larger than its input.
5855
2013-03-15 Timo Sirainen <tss@iki.fi>
5857
* src/lib-master/master-service.h:
5858
lib-master: include unistd.h for master_getopt() users.
5861
* src/lib-storage/index/maildir/maildir-uidlist.c:
5862
Compile fix on non-gcc/clang.
5865
* src/lib/istream-chain.c:
5866
Compile fix on non-gcc/clang.
5869
2013-03-14 Timo Sirainen <tss@iki.fi>
5871
* src/plugins/acl/Makefile.am, src/plugins/acl/acl-api-private.h,
5872
src/plugins/acl/acl-api.c, src/plugins/acl/acl-api.h,
5873
src/plugins/acl/acl-attributes.c, src/plugins/acl/acl-backend-
5874
vfile.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-
5875
plugin.h, src/plugins/acl/acl-storage.h, src/plugins/acl/doveadm-
5876
acl.c, src/plugins/imap-acl/imap-acl-plugin.c:
5877
acl: Added ACL checks for attributes. Added ACL <-> mailbox
5878
attribute mapping. The ACL checks will be useful once IMAP METADATA
5879
extension is finished. The mapping is used by dsync to sync ACLs via
5880
generic attribute syncing.
5883
* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/dsync-brain-
5884
mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
5885
/dsync-brain-private.h, src/doveadm/dsync/dsync-ibc-pipe.c,
5886
src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-
5887
stream.c, src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-
5888
ibc.h, src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync
5889
/dsync-mailbox-export.h, src/doveadm/dsync/dsync-mailbox-import.c,
5890
src/doveadm/dsync/dsync-mailbox-import.h, src/doveadm/dsync/dsync-
5891
mailbox.c, src/doveadm/dsync/dsync-mailbox.h, src/doveadm/dsync
5892
/dsync-transaction-log-scan.c, src/doveadm/dsync/dsync-transaction-
5894
dsync: Added support for syncing mailbox attributes.
5897
* src/lib-imap-urlauth/imap-urlauth-backend.c, src/lib-storage/index
5898
/index-attribute.c, src/lib-storage/index/index-storage.c, src/lib-
5899
storage/index/index-storage.h, src/lib-storage/index/index-
5900
transaction.c, src/lib-storage/mail-storage-private.h, src/lib-
5901
storage/mail-storage.c, src/lib-storage/mail-storage.h:
5902
lib-storage: Changed mailbox_attribute_get/set() APIs to have a
5903
transaction and update index. The _get() doesn't currently actually
5904
use the transaction. It was mainly put there for future use where it
5905
could be useful. It's also possible that _iter() will need a
5906
transaction also. For now these decisions seem good enough.
5909
* src/doveadm/doveadm-dump-log.c, src/lib-index/mail-index-modseq.c,
5910
src/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
5911
transaction-export.c, src/lib-index/mail-index-transaction-
5912
private.h, src/lib-index/mail-index-transaction-update.c, src/lib-
5913
index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src
5914
/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
5916
lib-index: mail_index_attribute_[un]set() adds changed attributes'
5917
keys to transaction log. This provides them both a modseq (so their
5918
changes become visible) as well as an efficient way to see what
5919
attributes have changed by reading the transaction log. The values
5920
themselves aren't written to the log, because they could be large.
5923
* src/lib-master/master-service.c, src/lib-master/master-service.h:
5924
lib-master: Added version_string_verify_full()
5927
* src/lib-mail/test-istream-dot.c:
5928
istream-dot unit test updated.
5931
2013-03-13 Timo Sirainen <tss@iki.fi>
5933
* src/lib-compression/istream-bzlib.c, src/lib-compression/istream-
5934
zlib.c, src/lib-compression/ostream-bzlib.c, src/lib-compression
5935
/ostream-zlib.c, src/lib-fs/ostream-cmp.c, src/lib-http/http-
5936
transfer-chunked.c, src/lib-mail/istream-attachment-extractor.c, src
5937
/lib-mail/istream-binary-converter.c, src/lib-ssl-iostream/istream-
5938
openssl.c, src/lib-ssl-iostream/ostream-openssl.c, src/lib/iostream-
5939
private.h, src/lib/iostream-temp.c, src/lib/iostream.c, src/lib
5940
/istream-concat.c, src/lib/istream-file.c, src/lib/istream-mmap.c,
5941
src/lib/istream-rawlog.c, src/lib/istream-seekable.c, src/lib
5942
/istream-tee.c, src/lib/istream.c, src/lib/istream.h, src/lib
5943
/ostream-file.c, src/lib/ostream-rawlog.c, src/lib/ostream.c,
5945
iostreams: Added close_parent flag to close() handler and clarified
5946
close/destroy APIs. This makes it unambiguous how things work:
5947
Unless you explicitly call [io]_stream_close(), the parent streams
5948
won't be closed. This is what most (hopefully all!) of the existing
5951
I was wondering a bit if [io]_stream_destroy() should simply have
5952
been removed and replaced with [io]_stream_unref() calls, since they
5953
would have worked basically everywhere, but there might be some
5954
places where it's better to have explicitly closed the stream (and
5955
where closing the parent stream doesn't matter).
5958
* doc/example-config/conf.d/15-lda.conf, src/lda/main.c, src/lib-lda
5959
/lda-settings.c, src/lmtp/commands.c:
5960
lda, lmtp: postmaster_address = postmaster@%d works now.
5963
2013-03-11 Timo Sirainen <tss@iki.fi>
5965
* src/lib-fs/fs-api.h:
5966
lib-fs: Fixed fs_delete() API description.
5969
* src/plugins/acl/acl-backend.c:
5970
acl: Delay initializing default backend ACLs. This fixes a crash
5974
2013-03-10 Timo Sirainen <tss@iki.fi>
5976
* src/plugins/fts-solr/solr-connection.c:
5977
fts-solr: Removed unnecessary code.
5980
* src/lib-http/http-client-connection.c:
5981
lib-http: Don't crash if request callback manages to get the
5982
connection destroyed.
5985
* src/lib-http/http-client-request.c:
5986
lib-http: Added assert.
5989
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
5990
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
5992
lib-http: Callback can now request a retry with
5993
http_client_request_try_retry() This can be useful for handling "try
5994
again" errors from HTTP servers.
5997
* src/lib-http/test-http-client.c:
5998
lib-http: Removed unnecessary code from test-http-client
6001
* src/lib-http/http-client-peer.c:
6002
lib-http: Free peer if it can't be connected to and it has no
6006
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
6007
peer.c, src/lib-http/http-client-private.h:
6008
lib-http: If host can't be connected to, don't keep retrying with
6009
more than one connection. This also fixes infinitely trying to
6010
reconnect to host and retry.
6013
* src/lib-http/http-client-connection.c:
6014
lib-http: If SSL connection gets lost, log the last SSL error.
6017
* src/lib-ssl-iostream/iostream-openssl-context.c:
6018
lib-ssl-iostream: Enable SSL_MODE_ENABLE_PARTIAL_WRITE
6021
* src/lib-ssl-iostream/ostream-openssl.c:
6022
lib-ssl-iostream: Fixed "bad write retry" errors when output had to
6026
* src/lib/istream-rawlog.c, src/lib/ostream-rawlog.c:
6027
iostream-rawlog: Pass through close() to parent input/output stream.
6030
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
6032
lib-http: Fixed hangs with urgent requests.
6035
* src/lib-http/http-client-private.h, src/lib-http/http-client-
6036
request.c, src/lib-http/http-client.h:
6037
lib-http: Allow caller to find out what state a request is in.
6040
2013-03-08 Timo Sirainen <tss@iki.fi>
6042
* src/lib-http/http-client-request.c:
6043
lib-http: Send Content-Length whenever payload is specified, even if
6047
2013-03-06 Timo Sirainen <tss@iki.fi>
6049
* src/lib/Makefile.am, src/lib/ostream-hash.c, src/lib/ostream-hash.h:
6050
Added ostream-hash for calculating a hash from data going through
6054
2013-03-05 Timo Sirainen <tss@iki.fi>
6056
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
6057
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
6059
lib-http: Avoid hanging on urgent requests. Patch by Timo & Stephan.
6060
There are still some problems though, all urgent requests don't seem
6061
to get a new connection.
6064
* src/lib-http/http-client-connection.c:
6065
lib-http: Fixed crash caused by previous change.
6068
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
6069
private.h, src/lib-http/http-client-request.c:
6070
lib-http: If we get disconnected, say exactly what the error was.
6073
* src/lib/connection.c:
6074
connection: Give input/output streams a name.
6077
* src/lib/connection.c:
6078
connection_list_deinit(): Set disconnect_reason correctly to
6079
CONNECTION_DISCONNECT_DEINIT
6082
* src/lib-fs/istream-metawrap.c:
6083
lib-fs: istream-metawrap supports now seeking before reading the
6087
* src/lib-http/http-client.c:
6088
lib-http: Fixed http_client_wait() assert.
6091
* src/lib/ioloop.c, src/lib/ioloop.h:
6092
Added io_loop_have_immediate_timeouts()
6095
* src/lib-http/http-client-host.c:
6096
lib-http: If connection was refused to a host, retry again on next
6097
request. Instead of never retrying again for the host.
6100
2013-03-04 Timo Sirainen <tss@iki.fi>
6102
* src/util/tcpwrap.c:
6103
tcpwrap: Fixed crash at startup.
6106
* src/lib-storage/index/raw/raw-storage.c:
6107
lib-storage: raw storage allows opening mails with absolute paths
6108
again. Fixed dovecot-lda -p parameter.
6111
* src/doveadm/doveadm-zlib.c, src/lib-compression/compression.c:
6112
Fixed compiling without zlib.
6115
2013-02-27 Timo Sirainen <tss@iki.fi>
6117
* src/doveadm/doveadm-util.c:
6118
doveadm: Fixed connecting to UNIX sockets.
6121
* src/plugins/acl/acl-backend-vfile-acllist.c:
6122
acl: Don't assert-crash on storages that have no root directory.
6126
timeout_add_short(1) may have caused infinite looping.
6129
* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-
6130
brain-private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync
6131
/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-stream.c,
6132
src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-ibc.h:
6133
dsync: If I/O gets stalled, log the state in which it happened.
6136
* src/doveadm/dsync/doveadm-dsync.c:
6137
dsync: Fixed running dsync for multiple users within same command.
6140
* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
6141
dsync: When changing duplicate mailbox GUIDs, choose the same
6142
mailbox on both sides.
6145
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
6146
dsync: Don't unnecessarily try to create all the mailboxes when they
6150
* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
6151
/dsync-mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.c,
6152
src/doveadm/dsync/dsync-mailbox-tree.h, src/doveadm/dsync/test-
6153
dsync-mailbox-tree-sync.c:
6154
dsync: Change duplicate local mailbox GUIDs if they're found.
6157
* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
6158
dsync: Skip mailbox aliases (symlinks) for now.
6161
2013-02-26 Timo Sirainen <tss@iki.fi>
6163
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c:
6164
lib-fs: If fs_read_stream() creates a seekable stream, keep it open
6168
* src/lib/istream-seekable.c:
6169
istream-seekable: Don't forcibly close underlying streams when
6170
stream is destroyed. The underlying streams may still have
6171
references and be reused for other purposes.
6174
* src/lib-fs/istream-metawrap.c:
6175
istream-metawrap: Support seeking if underlying stream supports
6179
* src/lib-fs/fs-api.c:
6180
fs-api: Fixed fs_copy() generic implementation's error messages
6183
* src/lib-http/http-client-peer.c, src/lib-http/http-client-private.h,
6184
src/lib-http/http-client.c:
6185
lib-http: Track peers using a linked list also. Mainly because this
6186
makes it much easier to debug using gdb. The overhead isn't that
6190
* src/lib-fs/fs-metawrap.c:
6191
lib-fs: fs-metawrap should prefetch using the same file as it uses
6195
* src/lib-http/http-client.c:
6196
lib-http: Assert-crash in http_client_wait() if it's waiting without
6200
* src/lib/ioloop.c, src/lib/ioloop.h:
6201
Added io_loop_have_ios()
6204
* src/lib-http/http-client-host.c, src/lib-http/http-client-private.h,
6205
src/lib-http/http-client.c:
6206
lib-http: Track list of hosts using a linked list also.
6207
http_client_switch_ioloop() is done very often, and scanning a few
6208
entries in a linked list is much faster than going through a hash
6212
* src/lib-storage/index/index-storage.c, src/lib-storage/mailbox-
6214
lib-storage: Write dovecot.mailbox.log entries using virtual names,
6215
not storage names. This file is used only by dsync, and the new
6216
dsync design uses only virtual names everywhere. This of course
6217
means that now it's not easily possible to use different virtual
6218
names for the same user, but nobody really did that before anyway.
6219
The only other fully working solution would be to send both the
6220
virtual and the storage names in dsync, but that's a bit of a waste.
6223
* src/doveadm/doveadm-util.c, src/doveadm/doveadm-util.h:
6224
doveadm: Improved deciding whether to use TCP or UNIX socket for a
6228
* src/lib-storage/mail-user.c:
6229
lib-storage: Never auto-remove the auto-created prefix="" namespace.
6232
* src/auth/mech-scram-sha1.c:
6233
scram-sha1: Support authzid field. Check fields' correctness better.
6236
2013-02-25 Timo Sirainen <tss@iki.fi>
6239
Added signature for changeset e62fa121f4a2
6243
Added tag 2.2.rc2 for changeset e62fa121f4a2
6246
* NEWS, configure.ac:
6248
[e62fa121f4a2] [2.2.rc2]
6250
* src/lib-storage/list/mailbox-list-subscriptions.c:
6251
lib-storage: Still more fixing to listing subscriptions.
6254
* src/lib-storage/list/mailbox-list-subscriptions.c:
6255
lib-storage: Fixed up previous subscription list change.
6258
* src/lib-master/master-service.c, src/lib-master/master-service.h,
6259
src/login-common/main.c:
6260
login: Don't fail at startup by trying to load SSL plugin.
6263
* src/lib-storage/list/mailbox-list-subscriptions.c:
6264
lib-storage: Fixed listing subscriptions for namespaces with prefix.
6268
configure: Fixed plugins when compiling --with-shared-libs
6272
Added signature for changeset 508d46f85815
6276
Added tag 2.2.rc1 for changeset 508d46f85815
6279
* NEWS, configure.ac:
6281
[508d46f85815] [2.2.rc1]
6283
* src/imap/cmd-list.c, src/indexer/indexer-worker.c, src/lib-dict
6284
/dict-client.c, src/lib-dict/dict-sql.c, src/lib-index/mail-
6285
transaction-log-file.c, src/lib-lda/duplicate.c, src/lib-
6286
storage/index/dbox-common/dbox-file-fix.c, src/lib-storage/index
6287
/dbox-common/dbox-file.h, src/lib-storage/index/dbox-multi/mdbox-
6288
storage-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync-
6289
rebuild.c, src/lib-storage/index/index-status.c, src/lib-
6290
storage/index/index-storage.h, src/lib-storage/index/index-sync.c,
6291
src/lib-storage/index/maildir/maildir-sync.c, src/lib-storage/mail-
6292
storage.c, src/lib/unichar.c, src/plugins/fts-solr/fts-backend-
6293
solr.c, src/plugins/fts/fts-build-mail.c,
6294
src/plugins/quota/Makefile.am:
6295
Merged changes from v2.1 tree.
6298
* src/lib/unichar.c:
6299
Fixed checking UTF8 input validity.
6302
* src/lib-storage/index/maildir/maildir-sync.c:
6303
maildir: Preserve [SW]=sizes when renaming a maildir duplicate file.
6306
2013-02-24 Timo Sirainen <tss@iki.fi>
6308
* src/lib-storage/index/index-storage.h, src/lib-storage/index/index-
6310
lib-storage: Fixed setting \Recent flags for sessions that didn't
6311
drop them. If another session wasn't dropping the \Recent flags, no
6312
new mails were getting them unless the mailbox was reopened.
6315
* src/lib-storage/index/index-status.c:
6316
lib-storage: Fixed \Recent flag race conditions. The \Recent flags
6317
should only be set while locked within
6318
mail_index_sync_begin()..commit(). The following view syncing syncs
6319
only up to how far the index was synced, so it won't see any new
6320
messages that haven't yet been assigned a \Recent flag.
6323
2013-02-22 Timo Sirainen <tss@iki.fi>
6325
* src/lib-index/mail-transaction-log-file.c:
6326
lib-index: Fixed assert-crash on some error conditions.
6329
* src/plugins/fts-solr/fts-backend-solr.c:
6330
fts-solr: Truncate header if it's over 1 MB. Previously we just
6334
* src/lib-dict/dict-client.c:
6335
lib-dict: Fixed hang if async commit's callback did more dict
6336
access. Specifically this fixes a hang with dict-quota plugin when
6337
user didn't exist and quota was changed before calculating it.
6340
* src/lib-lda/duplicate.c:
6341
lib-lda: Give a better error message if dotlocking duplicate db
6345
* src/lib-dict/dict-sql.c:
6346
dict-sql: Iterating with multiple SQL queries didn't free all the
6350
* src/indexer/indexer-worker.c:
6351
indexer-worker: Fixed keeping config connection open before dropping
6352
root privileges. The initial settings reading doesn't really do
6353
anything, since the real settings are again read by mail-storage-
6357
* src/plugins/fts/fts-build-mail.c:
6358
fts: Don't send binary MIME parts to backend through UTF8 text
6359
conversion. Based on patch by Mike Abbott / Apple.
6362
* src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
6363
storage/index/dbox-common/dbox-file.h, src/lib-storage/index/dbox-
6364
multi/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-single
6365
/sdbox-sync-rebuild.c:
6366
mdbox: If m.X file has no mails, don't try to fix it infinitely in
6370
* src/lib-storage/mail-storage.c:
6371
mdbox: Don't try to undelete any mailboxes in storage rebuild to
6372
avoid assert-crashes.
6375
* src/plugins/quota/Makefile.am:
6376
quota-status: Fixed compiling with older autotools.
6379
2013-02-21 Timo Sirainen <tss@iki.fi>
6381
* src/imap/cmd-list.c:
6382
imap: Allocate LIST patterns from command pool so they don't get
6383
corrupted in long runs.
6386
2013-02-25 Timo Sirainen <tss@iki.fi>
6392
* src/lib/unichar.c:
6393
Fixed checking UTF8 input validity.
6396
* src/doveadm/dsync/doveadm-dsync.c:
6397
dsync-server: Don't crash if connection didn't come from doveadm-
6401
* src/doveadm/dsync/doveadm-dsync.c:
6402
dsync: Minor code cleanup.
6405
* src/doveadm/dsync/doveadm-dsync.c:
6406
dsync: Don't close stdin/stdout when not supposed to.
6409
* configure.ac, src/lib/hash-decl.h, src/lib/hash.h, src/lib/macros.h:
6410
Reverted the recent hash.h changes. Instead use -Wno-duplicate-decl-
6411
specifier with clang. The modified version required hash table users
6412
to know the structs' contents, which isn't otherwise necessary.
6415
* src/doveadm/doveadm-server.h, src/doveadm/doveadm-settings.c,
6416
src/doveadm/doveadm-settings.h, src/doveadm/dsync/Makefile.am,
6417
src/doveadm/dsync/doveadm-dsync.c, src/doveadm/server-connection.c,
6418
src/doveadm/server-connection.h:
6419
dsync: Added tcps (TCP+SSL) target.
6422
* src/doveadm/Makefile.am, src/doveadm/client-connection.c,
6423
src/doveadm/client-connection.h, src/doveadm/main.c:
6424
doveadm-server: Added support for ssl listeners.
6427
* src/lib-storage/index/imapc/imapc-settings.c, src/lib-
6428
storage/index/imapc/imapc-settings.h, src/lib-storage/index/imapc
6429
/imapc-storage.c, src/lib-storage/index/pop3c/pop3c-settings.c, src
6430
/lib-storage/index/pop3c/pop3c-settings.h, src/lib-
6431
storage/index/pop3c/pop3c-storage.c:
6432
lib-storage: Replaced pop3c_ssl_ca_dir and imapc_ssl_ca_dir with
6433
generic ssl_client_ca_dir.
6436
* src/lib-master/master-service.c:
6437
lib-master: If ssl settings are used, initialize ssl context
6441
* src/lib-ssl-iostream/iostream-openssl-common.c:
6442
lib-ssl-iostream: Support wildcard certificates when verifying
6446
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/server-connection.c,
6447
src/doveadm/server-connection.h:
6448
dsync: Use iostreams instead of fd when receiving connection from
6452
* Makefile.am, configure.ac, dovecot-config.in.in,
6453
src/anvil/Makefile.am, src/auth/Makefile.am, src/config/Makefile.am,
6454
src/dict/Makefile.am, src/dns/Makefile.am, src/doveadm/Makefile.am,
6455
src/imap-urlauth/Makefile.am, src/imap/Makefile.am,
6456
src/indexer/Makefile.am, src/ipc/Makefile.am, src/lda/Makefile.am,
6457
src/lib-compression/Makefile.am, src/lib-sql/Makefile.am, src/lib-
6458
storage/Makefile.am, src/lmtp/Makefile.am,
6459
src/plugins/quota/Makefile.am, src/pop3/Makefile.am,
6460
src/replication/aggregator/Makefile.am,
6461
src/replication/replicator/Makefile.am, src/stats/Makefile.am,
6462
src/util/Makefile.am:
6463
MODULE_LIBS is now part of LIBDOVECOT. No need to explicitly link it
6468
configure: Fix previous commit & implement AC_C_TYPEOF ourself.
6469
RHEL5's autoconf was old enough to not have AC_C_TYPEOF.
6473
configure: Removed accidentally enabled clang -fsanitize options for
6477
2013-02-24 Timo Sirainen <tss@iki.fi>
6479
* src/imap/Makefile.am, src/imap/cmd-uid.c, src/imap/imap-client.c,
6480
src/imap/imap-commands.c:
6481
imap: Handle UID commands without a wrapper UID command. This avoids
6482
calling command hooks once for UID command and again for the real
6486
* src/doveadm/client-connection.c, src/doveadm/client-connection.h,
6487
src/doveadm/doveadm-mail.h, src/doveadm/dsync/doveadm-dsync.c,
6488
src/doveadm/server-connection.c, src/doveadm/server-connection.h:
6489
dsync: Added tcp:host[:port] target for syncing via doveadm-server.
6492
* src/doveadm/server-connection.c:
6493
doveadm: If doveadm-server sends broken input, disconnect.
6496
* src/doveadm/doveadm-util.c, src/doveadm/doveadm-util.h, src/doveadm
6497
/server-connection.c:
6498
doveadm: When connecting to doveadm socket without :port, use
6499
doveadm_port setting.
6502
* src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-settings.c,
6503
src/doveadm/doveadm-settings.h:
6504
doveadm: Renamed doveadm_proxy_port setting to doveadm_port. There's
6505
still an alias for doveadm_proxy_port.
6508
* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
6509
lmtp: Log a bit nicer message when client QUITs. I did think about
6510
removing the connect and successful disconnect messages entirely,
6511
but these may be useful when debugging problems with MTA.
6514
* src/doveadm/dsync/dsync-brain-mailbox-tree.c:
6515
dsync: Always skip alias namespaces.
6518
* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
6519
lazy-expunge: If lazy_expunge_only_last_instance is set, copy only
6520
last instances of mails. Requires storage backend to support
6524
* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
6525
/dbox-single/sdbox-mail.c, src/lib-storage/index/index-mail.c, src
6526
/lib-storage/index/maildir/maildir-mail.c, src/lib-storage/mail-
6528
lib-storage: Added MAIL_FETCH_REFCOUNT for getting mail's reference
6529
count. This is useful only for backends where mailbox_copy()
6530
increases the refcount. With maildir&sdbox it can be looked up from
6531
the file's link count. With mdbox the refcount is stored in the map
6532
index. Other formats don't currently implement this.
6535
* src/lib-settings/settings-parser.c:
6536
lib-settings: Parse block names {} case-insensitively. This fixes
6537
namespace { mailbox foo { .. } } settings when they go through
6538
environment and get uppercased.
6541
* src/imap/cmd-append.c:
6542
imap: Don't leak mailboxes on CATENATE errors.
6545
* src/lib-storage/index/index-mail.c:
6546
Compiler warning fix.
6549
* src/lib/ostream-file.c:
6550
o_stream_send_istream(): Fixed copying when [io]streams neither have
6554
* src/imap/imap-commands-util.c, src/lib-index/mail-index-util.c:
6555
Avoid unsigned integer overflows.
6558
* src/imap/cmd-append.c:
6559
imap: Added assert+comment to give easier to understand error.
6562
* src/lib-storage/index/index-mail.c:
6563
lib-storage: If mail saving is cancelled, don't check that all the
6567
* src/lib/str-find.c, src/lib/test-bsearch-insert-pos.c, src/lib/time-
6569
Avoid under/overflows in unsigned integer calculations.
6572
* src/lib/test-json-parser.c:
6573
test-json-parser: Don't access memory out of bounds.
6576
* src/lib/seq-range-array.c, src/lib/test-seq-range-array.c:
6577
seq_range_array_add(): Fixed handling sequence ranges that contain
6581
* src/lib/istream-crlf.c:
6582
Avoid overflow error from clang -fsanitize=integer.
6585
* src/lib-index/mail-index-sync.c:
6586
lib-index: Don't unnecessarily update dovecot.index again after log
6590
* configure.ac, src/anvil/anvil-settings.c, src/auth/db-ldap.c,
6591
src/config/doveconf.c, src/director/director-settings.c,
6592
src/director/doveadm-connection.c, src/doveadm/doveadm-director.c,
6593
src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-stats.c, src
6594
/lib-auth/auth-master.c, src/lib-dict/dict-sql.c, src/lib-
6595
dict/dict.c, src/lib-http/http-client-peer.c, src/lib-imap/imap-
6596
envelope.c, src/lib-index/mail-cache-compress.c, src/lib-index/mail-
6597
cache-fields.c, src/lib-index/mail-cache-lookup.c, src/lib-index
6598
/mail-cache-transaction.c, src/lib-index/mail-cache.h, src/lib-index
6599
/mail-index-map.c, src/lib-index/mail-index-sync-keywords.c, src
6600
/lib-index/mail-index-sync.c, src/lib-index/mail-index.c, src/lib-
6601
index/mail-index.h, src/lib-index/mail-transaction-log-file.c, src
6602
/lib-mail/test-message-address.c, src/lib-master/master-service.c,
6603
src/lib-settings/settings-parser.c, src/lib-sql/driver-sqlpool.c,
6604
src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
6605
storage/index/imapc/imapc-storage.c, src/lib-storage/index/index-
6606
mail-headers.c, src/lib-storage/index/index-mail.c, src/lib-
6607
storage/index/index-rebuild.c, src/lib-storage/index/index-search.c,
6608
src/lib-storage/index/index-storage.c, src/lib-storage/index/maildir
6609
/maildir-uidlist.c, src/lib-storage/list/mailbox-list-index.c, src
6610
/lib-storage/list/mailbox-list-iter.c, src/lib-storage/mail-storage-
6611
hooks.c, src/lib-storage/mail-storage.c, src/lib/istream-concat.c,
6612
src/lib/priorityq.c, src/lib/strnum.c, src/lib/test-aqueue.c,
6613
src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib
6614
/test-seq-range-array.c, src/lmtp/commands.c, src/log/log-
6615
settings.c, src/master/service-monitor.c, src/plugins/fts/fts-build-
6616
mail.c, src/plugins/quota/quota.c, src/replication/replicator
6617
/replicator-settings.c, src/stats/stats-settings.c:
6618
Replaced all -1U and (unsigned int)-1 with UINT_MAX. It's somewhat
6619
clearer this way. Also clang's -fsanitize=integer gives runtime
6620
errors about -1U (but not about explicit casts, so no need to change
6624
* src/doveadm/doveadm-mail-fetch.c:
6625
Compiler warning fix.
6629
Previous "duplicate const" fix accidentally deleted some checking
6630
code instead of fixing it.
6633
* src/lib/hash-decl.h, src/lib/hash.h, src/lib/macros.h:
6634
Fixed "duplicate const" warnings with new clang.
6637
* src/lib-storage/mail-search-register-human.c:
6641
* configure.ac, src/lib/macros.h:
6642
Use proper HAVE_TYPEOF check instead of checking with gcc versions.
6645
* src/lib/test-json-parser.c:
6646
Compiler warning fix.
6649
* src/doveadm/dsync/doveadm-dsync.c:
6650
dsync: Don't log about remote dsync status if we're not doing a
6654
2013-02-22 Timo Sirainen <tss@iki.fi>
6656
* src/auth/auth-client-connection.c:
6657
auth_debug_passwords: Add a warning to AUTH/CONT lines about them
6658
having sensitive data.
6661
* src/pop3/pop3-client.c, src/pop3/pop3-client.h:
6662
pop3: Fixed infinite looping
6665
* configure.ac, src/plugins/quota/Makefile.am, src/plugins/quota
6666
/quota-fs.c, src/plugins/quota/quota-fs.h:
6667
quota-fs: Support NetBSD 6.0 libquota. Patch by Emmanuel Dreyfus.
6670
* src/doveadm/doveadm-auth.c:
6671
doveadm user: Write an error if user doesn't exist.
6674
* src/config/doveconf.c:
6675
doveconf: Discourage using plain "doveconf" by recommending -n
6676
parameter in the output.
6679
* src/auth/userdb-passwd.c:
6680
auth: userdb passwd iteration no longer skips shells. Some systems
6681
are using passwd for mail users with shell set to nologin. Maybe
6682
first_valid_uid check is good enough alone?
6685
* NEWS, doc/example-config/conf.d/10-mail.conf, src/lib-storage/mail-
6687
mail_shared_explicit_inbox: Switched the default from "yes" to "no".
6690
* src/auth/auth-request.c:
6691
auth: Use real_lip for proxy_maybe checks.
6694
* src/auth/auth-request.c, src/auth/auth-request.h, src/lib-auth/auth-
6695
client-request.c, src/lib-auth/auth-client.h, src/login-common
6696
/client-common.c, src/login-common/client-common.h, src/login-
6697
common/main.c, src/login-common/sasl-server.c:
6698
auth: Added real_[lr]ip, real_[lr]port variables. The unreal ones
6699
differ when a trusted proxy overrides them.
6702
* src/imap-login/imap-proxy.c, src/lib-lda/lmtp-client.c, src/lib-lda
6703
/lmtp-client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src
6704
/login-common/login-proxy.c, src/pop3-login/pop3-proxy.c:
6705
proxying cleanup: Send TTL=1 (instead of TTL=0) as "no more
6709
* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
6710
lib-storage: Make sure mailbox_get_open_status() can't be used with
6711
items that can fail.
6714
* src/doveadm/doveadm-mail-index.c, src/indexer/master-connection.c:
6715
doveadm, indexer: Don't crash if STATUS_LAST_CACHED_SEQ lookup
6716
fails. (I'm sure I did this change already once, where did it go?..)
6719
* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
6720
lib-storage: Fixed assert-crash when saving mails if UIDs weren't
6724
2013-02-21 Timo Sirainen <tss@iki.fi>
6726
* src/lib-storage/list/mailbox-list-index.c:
6727
mailbox_list_index=yes: Don't crash if destroying list before its
6732
Added signature for changeset 018de2aa893a
6736
Added tag 2.2.beta2 for changeset 018de2aa893a
6740
Released v2.2.beta1.
6741
[018de2aa893a] [2.2.beta2]
6743
2013-02-21 Stephan Bosch <stephan@rename-it.nl>
6745
* src/lib-http/http-client-connection.c:
6746
lib-http: Fixed hanging on errors
6749
2013-02-21 Timo Sirainen <tss@iki.fi>
6751
* src/lib-http/test-http-transfer.c, src/lib-storage/list/mailbox-
6753
Removed dead assignments.
6756
* src/doveadm/dsync/doveadm-dsync.c:
6757
dsync: Fixed hiding the "remote command returned error" message when
6761
* src/plugins/quota/Makefile.am:
6762
quota-status: Fixed compiling
6769
* .hgignore, dovecot-config.in.in, src/lib-storage/list/mailbox-list-
6770
fs-iter.c, src/login-common/ssl-proxy-openssl.c:
6771
Merged changes from v2.1 tree.
6774
* dovecot-config.in.in, src/plugins/quota/Makefile.am:
6775
Added quota plugin's headers to LIBDOVECOT_STORAGE_INCLUDE. This
6776
allows creating external plugins that depend on the quota plugin
6777
(similar to trash plugin).
6780
2013-02-20 Timo Sirainen <tss@iki.fi>
6782
* src/plugins/quota/Makefile.am, src/plugins/quota/quota-status.c:
6783
quota-status: Load plugins after all. They may be needed for user
6784
initialization to work (e.g. virtual plugin) or maybe even for quota
6785
itself to work (external quota backend plugin).
6788
2013-02-19 Timo Sirainen <tss@iki.fi>
6790
* .hgignore, src/plugins/quota/Makefile.am, src/plugins/quota/quota-
6792
Added quota-status service for asking if user is over quota.
6793
Implemented Postfix-compatible policy server protocol initially.
6796
service quota-status { executable = quota-status -p postfix
6797
unix_listener /var/spool/postfix/private/quota-status { user =
6798
postfix } client_limit = 1 }
6802
smtpd_recipient_restrictions = ... check_policy_service unix:private
6806
2013-02-17 Timo Sirainen <tss@iki.fi>
6808
* src/lib-storage/list/mailbox-list-fs-iter.c:
6809
mbox: If namespace prefix is used, don't show <prefix>/inbox
6813
2013-02-16 Timo Sirainen <tss@iki.fi>
6815
* src/login-common/ssl-proxy-openssl.c:
6816
login-common: Updated obsolete login_process_size setting in error
6820
2013-02-21 Stephan Bosch <stephan@rename-it.nl>
6822
* src/lib-http/http-client-peer.c, src/lib-http/http-response-
6823
parser.c, src/lib-http/test-http-client.c:
6824
lib-http: Minor improvements.
6827
2013-02-21 Timo Sirainen <tss@iki.fi>
6829
* src/lib-http/http-client-request.c, src/lib-http/http-transfer-
6831
lib-http: Fixed hangs/crashes with chunked ostream. Based on patch
6835
* src/lib-storage/list/mailbox-list-index.c:
6836
lib-storage: Fixed crash with mailbox_list_index=no
6839
2013-02-20 Stephan Bosch <stephan@rename-it.nl>
6841
* src/lib-http/http-client-host.c:
6842
lib-http: Fixed hang with failed DNS lookups
6845
2013-02-20 Timo Sirainen <tss@iki.fi>
6847
* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
6848
storage/list/mailbox-list-index.c, src/lib-storage/list/mailbox-
6850
mailbox_list_index: Delay allocating the index so mbox can override
6854
* src/lib-storage/index/mbox/mbox-sync.c:
6855
mbox: Fixed mailbox_update() to not shrink uidnext.
6858
* src/plugins/acl/acl-api.c:
6859
acl: Skip ACLs if admin user flag is set (especially dsync).
6862
* src/plugins/acl/acl-mailbox.c:
6863
acl: If copy() doesn't have enough permissions, free
6864
mail_save_context properly.
6867
* src/lib-storage/mail-storage.c:
6868
lib-storage: Added more asserts to catch missing mail_save_context
6869
frees. Arguably mail_save_context could already freed at this time,
6870
but some other code relies on this as well. These could be removed
6871
later if this is no longer true.
6874
* src/lib-storage/mail-storage.c:
6875
lib-storage: If mailbox is deleted, mailbox_save_begin() should
6876
cancel mail_save_context.
6879
* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
6881
lib-storage: Reset saving/moving/copying_via_save flag between
6882
mail_save_context uses.
6885
* src/lib-http/test-http-client.c:
6886
test-http-client: Added POST functionality also.
6889
* src/lib-http/test-http-client.c:
6890
test-http-client: If given a parameter, GET it.
6893
* src/lib-http/http-client-request.c, src/lib-http/http-client.c:
6894
lib-http: Avoid hanging in http_client_wait() while there's nothing
6898
* src/lib-http/http-client-request.c, src/lib-http/http-client.h,
6899
src/plugins/fts-solr/solr-connection.c:
6900
lib-http: Minor API change: Added
6901
http_client_request_finish_payload()
6904
* src/lib-storage/list/mailbox-list-index-status.c:
6905
mailbox_list_index: Removed race conditions from index updates.
6908
* src/lib-index/mail-index-sync.c:
6909
lib-index: Added assert.
6912
2013-02-19 Timo Sirainen <tss@iki.fi>
6914
* src/lib/hostpid.c:
6915
hostpid_init() should die if hostname is invalid. This was
6916
accidentally changes during last commit.
6919
* src/lib-index/mail-transaction-log-file.c:
6920
lib-index: Give a better error message if index is readonly and log
6921
is tried to be locked.
6924
* src/lib-storage/list/mailbox-list-index-backend.c:
6925
LAYOUT=index: Index is the only source for mailbox info, don't try
6926
any syncing with storage.
6929
* src/lib-storage/list/mailbox-list-index-backend.c, src/lib-
6930
storage/list/mailbox-list-index-status.c, src/lib-storage/list
6931
/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h:
6932
lib-storage: Fixed mailbox_update() when using
6933
mailbox_list_index=yes
6936
* src/lib/guid.c, src/lib/guid.h:
6937
Added guid_128_equals() helper function.
6940
* src/auth/userdb-passwd-file.c:
6941
auth: Fix to previous change.
6944
* src/auth/userdb-passwd-file.c:
6945
auth: userdb passwd-file iteration now skips passdb-only entries if
6946
there are other userdbs.
6949
* src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c:
6950
dsync: Added more debug logging.
6953
* src/auth/db-passwd-file.c, src/auth/userdb-passwd-file.c:
6954
auth: If user in passwd-file has no userdb info, userdb lookup now
6955
returns it as nonexistent.
6958
* src/doveadm/dsync/dsync-brain-mailbox.c:
6959
dsync: Improved debug output.
6962
* src/doveadm/dsync/dsync-mailbox-import.c:
6963
dsync: Assert-crashfix for handling conflicting private flags.
6966
* src/plugins/replication/replication-plugin.c:
6967
replicator plugin: And crashfix for the previous change..
6970
* src/plugins/replication/replication-plugin.c:
6971
replication plugin: Notify replicator also for changes in public
6975
* src/lib-storage/index/index-sync-pvt.c:
6976
lib-storage: Copy initial private message flags from shared flags
6977
for public mailboxes.
6980
* src/replication/replicator/doveadm-connection.c:
6981
replicator: Use -N parameter for dsync (replicate all visible
6985
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
6986
mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
6987
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
6988
src/doveadm/dsync/dsync-ibc-stream.c:
6989
dsync: Renamed -a parameter to -N. It also now skips invisible
6993
* src/lib-storage/index/index-sync-private.h, src/lib-storage/index
6994
/index-sync-pvt.c, src/lib-storage/index/index-sync.c, src/lib-
6995
storage/index/index-transaction.c, src/lib-storage/mail-storage-
6996
private.h, src/lib-storage/mail-storage.c, src/plugins/acl/acl-
6997
mailbox.c, src/plugins/virtual/virtual-save.c:
6998
lib-storage: Saving/copying no longer discards private message
7002
* src/log/log-connection.c:
7003
log: Recent log parser change started logging "Invalid log line"
7004
errors unintentionally.
7007
2013-02-18 Timo Sirainen <tss@iki.fi>
7009
* src/log/log-connection.c:
7010
log: Don't crash if log client sends line with pid=0.
7013
* src/lib/hostpid.c:
7014
my_hostname was broken because of recent change.
7017
* src/config/doveconf.c:
7018
doveconf: Added -H parameter to check for hostname hash duplicates.
7021
* src/lib/guid.c, src/lib/guid.h:
7022
Added guid_128_host_hash_get().
7025
* src/lib/hostpid.c, src/lib/hostpid.h, src/master/service-process.c:
7026
Master looks up system hostdomain now and sends it to child
7027
processes via environment. This avoids doing a gethostbyname()
7028
lookup at startup for each process that needs it.
7031
* src/master/main.c:
7032
master: Don't close stderr. If log process fails at startup, the
7033
errors are logged there.
7036
* src/lib/hostpid.c, src/lib/hostpid.h, src/lib/lib.c:
7037
Free my_hostdomain at deinit.
7040
* doc/example-config/conf.d/15-lda.conf:
7041
example-config: Updated hostname setting's comments.
7044
* src/doveadm/dsync/dsync-brain.c:
7045
dsync: Fix to checking which side should do the locking.
7048
2013-02-17 Timo Sirainen <tss@iki.fi>
7050
* src/doveadm/dsync/dsync-mailbox-import.c:
7051
dsync: Fixes to handling local changes during dsync.
7054
* src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c:
7055
dsync: Fail if changing mailbox GUID update doesn't work.
7058
* src/lib-storage/index/mbox/mbox-storage.c:
7059
mbox: Fixed mailbox_update() for changing mailbox GUID.
7062
* src/lib-index/mail-index-map-hdr.c, src/lib-index/mail-index.h:
7063
lib-index: Make sure unused_old_sync_* fields are cleared in header
7067
* src/doveadm/dsync/dsync-mailbox-import.c:
7068
dsync: Fixed infinite loop in importer.
7071
* src/doveadm/dsync/dsync-mailbox-import.c:
7072
dsync: Improved unexpected error logging.
7075
* src/lib-storage/index/maildir/maildir-save.c:
7076
maildir: Don't try to preserve old filename when saving if uidlist
7080
* src/lib-storage/index/maildir/maildir-uidlist.c:
7081
maildir: If we see old maildir file reappear, re-read uidlist before
7082
logging error. Sometimes the old file gets added back intentionally
7083
and the dovecot-uidlist is recreated (if necessary) to give it a new
7084
UID. Existing processes should handle this situation.
7087
* src/doveadm/dsync/dsync-brain.c:
7088
dsync: If locking fails, fail instead of continuing.
7091
* src/doveadm/dsync/dsync-brain.c:
7092
dsync: Use full hostname+domain when comparing if hosts are
7093
different in locking.
7096
2013-02-16 Timo Sirainen <tss@iki.fi>
7098
* .hgsigs, .hgtags, NEWS, configure.ac, src/auth/auth-request.c,
7099
src/imap/imap-client.c, src/lib-index/mail-cache-fields.c, src/lib-
7100
index/mail-cache-lookup.c, src/lib-index/mail-cache-sync-update.c,
7101
src/lib-index/mail-cache.c, src/lib-ssl-iostream/istream-openssl.c,
7102
src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
7103
storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-
7104
multi/mdbox-storage-rebuild.c, src/lib-storage/index/index-mail-
7105
headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
7106
/index-mail.h, src/lib-storage/mail-storage.c, src/lib/Makefile.am,
7107
src/lib/buffer.c, src/lib/iostream-rawlog.c, src/lib/istream-tee.c,
7108
src/lib/istream.c, src/lib/str.c, src/lib/test-lib.c, src/lib/test-
7109
lib.h, src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c,
7110
src/plugins/acl/doveadm-acl.c:
7111
Merged changes from v2.1 tree.
7114
* src/lib-storage/index/dbox-multi/mdbox-save.c:
7115
mdbox: mailbox_copy() didn't properly free the save context.
7118
2013-02-08 Timo Sirainen <tss@iki.fi>
7120
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
7121
mdbox: Crashfix for storage rebuild
7125
Added signature for changeset fc75811f3c08
7129
Added tag 2.1.15 for changeset fc75811f3c08
7132
* NEWS, configure.in:
7134
[fc75811f3c08] [2.1.15]
7136
2013-02-06 Timo Sirainen <tss@iki.fi>
7138
* src/lib-storage/mail-storage.c:
7139
lib-storage: Convert INBOX to uppercase also when namespace has
7140
inbox=no. This fixes assert-crash in
7141
mailbox_check_mismatching_separators().
7144
* src/lib-index/mail-cache.c:
7145
lib-index: Avoid assert-crashing later if mmap(dovecot.index.cache)
7149
2013-02-05 Timo Sirainen <tss@iki.fi>
7151
* src/lmtp/client.c, src/lmtp/client.h, src/lmtp/commands.c:
7152
lmtp: If verbose_proctitle=yes, update the process state in the
7156
2013-02-04 Timo Sirainen <tss@iki.fi>
7158
* src/lib-index/mail-cache.c:
7159
lib-index: Bug in cache file size verification caused the whole
7160
cache file to be mapped.
7163
* src/lib-storage/index/index-mail.c:
7164
lib-storage: If message parser's input stream is closed early, don't
7165
treat it as error. This seems to happen sometimes during message
7166
saving(?), although I'm not exactly sure why. In any case it
7167
shouldn't log an error about it. This behavior is probably better
7168
than failing. The caller should be the one to figure out if saving
7172
* src/imap/imap-client.c:
7173
imap: Set [io]stream name for imap client connections.
7176
* src/lib/istream-tee.c:
7177
istream-tee: Copy the parent stream's name to child streams.
7180
* src/lib/istream.c:
7181
i_stream_close(): Set stream_errno to EPIPE instead of ENOENT.
7184
2013-02-02 Timo Sirainen <tss@iki.fi>
7186
* src/lib-storage/index/dbox-common/dbox-storage.c:
7187
dbox: Fail if trying to create a mailbox that already exists.
7190
2013-01-31 Timo Sirainen <tss@iki.fi>
7192
* src/lib-ssl-iostream/istream-openssl.c:
7193
lib-ssl-iostream: Pass the plain istream's fd to ssl_istream.
7196
* src/lib/iostream-rawlog.c:
7197
iostream-rawlog: Ignore 0 byte writes instead of assert-crashing.
7200
* src/auth/auth-request.c:
7201
auth: Removed assert-checks, allowing plugins to set
7202
skip_password_check.
7205
2013-01-30 Timo Sirainen <tss@iki.fi>
7208
Added signature for changeset b314c97d4bbf
7212
Added tag 2.1.14 for changeset b314c97d4bbf
7215
* NEWS, configure.in:
7217
[b314c97d4bbf] [2.1.14]
7219
2013-01-29 Timo Sirainen <tss@iki.fi>
7221
* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-sync-
7222
update.c, src/lib-index/mail-cache.c:
7223
lib-index: Fixed invalidating buffered cache file with
7227
2013-01-22 Timo Sirainen <tss@iki.fi>
7229
* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache.c:
7230
lib-index: Fixes to handling broken cache records that point outside
7231
file. Especially try to avoid failing by trying to allocate
7232
gigabytes of memory.
7235
* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
7236
/index-mail.c, src/lib-storage/index/index-mail.h:
7237
lib-storage: Catch input stream errors when parsing mail.
7240
2013-01-15 Timo Sirainen <tss@iki.fi>
7242
* src/lib/Makefile.am, src/lib/buffer.c, src/lib/str.c, src/lib/test-
7243
lib.c, src/lib/test-lib.h, src/lib/test-str.c:
7244
buffer: Always keep +1 byte available for str_c()'s NUL.
7247
2013-01-14 Timo Sirainen <tss@iki.fi>
7249
* src/plugins/acl/doveadm-acl.c:
7250
doveadm acl: Added "recalc" command to rebuild acl_lookup_dict for
7254
2013-02-16 Timo Sirainen <tss@iki.fi>
7260
* doc/example-config/conf.d/20-pop3.conf, src/pop3/pop3-client.c,
7261
src/pop3/pop3-client.h:
7262
pop3_lock_session: Use a separate dovecot-pop3-session.lock file
7263
instead of mailbox lock. This changes the behavior in a way that
7264
it's now possible for IMAP sessions to expunge mails during a POP3
7265
session. But now it's no longer possible for POP3 sessions to hang
7266
new mail deliveries.
7269
* src/pop3/main.c, src/pop3/pop3-client.c, src/pop3/pop3-client.h:
7270
pop3: Minor code cleanup
7273
* README, src/pop3-login/client-authenticate.c,
7274
src/pop3-login/client.c, src/pop3-login/client.h, src/pop3/main.c,
7275
src/pop3/pop3-capability.h, src/pop3/pop3-client.c:
7276
pop3: Use RFC 3206 [SYS/*] and [AUTH] response codes.
7279
* src/pop3/pop3-client.c:
7280
pop3: Code cleanup: INBOX always exists, no need to check for it
7284
* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-ibc-
7285
stream.c, src/doveadm/dsync/dsync-mailbox-state.h:
7286
dsync: Merge last-common-* values from both local and remote when
7290
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
7291
private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
7292
brain.h, src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync
7294
dsync: -l parameter locking is now done on the server with "lower"
7295
hostname. This allows running multi-master replication on two
7296
servers without two dsyncs mixing up changes by running at the same
7300
* src/doveadm/dsync/dsync-mailbox-import.c:
7301
dsync: If unexpected changes happen during sync, return a safe last-
7302
common-uid for state.
7305
* src/doveadm/dsync/doveadm-dsync.c:
7306
dsync: Don't hide the final error messages from remote.
7309
* src/doveadm/dsync/dsync-mailbox-import.c:
7310
dsync: Fixed last-common-uid lookup when local UID was expunged but
7314
* src/doveadm/dsync/dsync-mailbox-import.c:
7315
dsync: Assert-crashfix for previous importer changes.
7318
* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
7320
lib-index: Avoid getting expunged-status in index lookups when not
7321
necessary. This especially improves dsync performance.
7324
* src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
7325
/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
7326
save.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c,
7327
src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
7328
storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
7329
sync.c, src/plugins/virtual/virtual-mail.c, src/plugins/virtual
7330
/virtual-search.c, src/plugins/virtual/virtual-sync.c:
7331
mdbox, mbox, virtual: Avoid getting expunged-status in index lookups
7332
when not necessary. This especially improves dsync performance with
7336
* src/lib-index/mail-index-transaction-view.c, src/lib-index/mail-
7338
lib-index: Don't lookup mail's expunge-state in transaction log view
7339
if caller doesn't care. This was especially bad with dsync, which
7340
could trigger sorting of the expunges array each time after
7341
processing a mail (= potentially tens of thousands of sorts).
7344
* src/lib-storage/index/index-storage.c, src/lib-storage/mail-storage-
7345
private.h, src/lib-storage/mail-storage.c:
7346
lib-storage: Assert-crash if mailbox_save_context isn't properly
7347
freed before reusing.
7350
* src/lib-storage/index/dbox-multi/mdbox-save.c:
7351
mdbox: mailbox_copy() didn't properly free the save context.
7354
* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-
7355
mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
7356
dsync: Various importer fixes.
7359
* src/plugins/fts-solr/solr-connection.c:
7360
fts-solr: Don't assert-crash on failures.
7363
* src/doveadm/dsync/dsync-mailbox-import.c:
7364
dsync: Avoid possibly long function recursion.
7367
* src/doveadm/dsync/doveadm-dsync.c:
7368
dsync: Don't log "remote failed with 75" if we already logged an
7369
error from remote. This reduces number of log lines when dsync
7373
* src/doveadm/dsync/dsync-brain-mails.c:
7374
dsync: Don't log a redundant "importing mailbox failed" error.
7377
* src/doveadm/dsync/dsync-ibc-stream.c:
7378
dsync: Don't log read() failed: EOF when remote intentionally fails
7382
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
7383
brain-mails.c, src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync
7384
/dsync-mail.h, src/doveadm/dsync/dsync-mailbox-export.c,
7385
src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
7387
dsync: Various importer fixes. Handle unexpectedly wrong mailbox
7391
* src/doveadm/dsync/doveadm-dsync.c:
7392
dsync: Wait for child process to close only after closing the
7393
stdin/out/err to it. Otherwise the ssh process doesn't shutdown.
7396
2013-02-13 Timo Sirainen <tss@iki.fi>
7398
* src/lib-storage/list/mailbox-list-fs-iter.c:
7399
fs layout: Don't assert-crash if namespace prefix begins with the
7403
* NEWS, doc/example-config/conf.d/90-quota.conf,
7404
src/plugins/quota/quota.c:
7405
Renamed quota_last_extra to quota_grace.
7408
* src/auth/auth-cache.c:
7409
auth: When receiving SIGUSR2 log also about current cache usage.
7412
2013-02-11 Timo Sirainen <tss@iki.fi>
7414
* NEWS, doc/example-config/conf.d/90-quota.conf:
7415
NEWS, example-config: Add a note about quota_last_extra
7418
* src/plugins/quota/quota.c:
7419
quota: Use quota_last_extra only for LDA/LMTP (not for IMAP).
7422
* src/lib-lda/smtp-client.c:
7423
lib-lda: Assert-crashfix when sending a rejection mail failed.
7426
* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
7427
storage.c, src/plugins/quota/quota.c:
7428
quota: Added quota_last_extra setting, which defaults to 10% This
7429
can be used to save the last message when user is almost over quota.
7430
So by default the last message can bring the quota over 10% of the
7431
total quota limit. The setting allows also explicit values. Setting
7432
it to 0 brings it back to previous behavior.
7435
* src/lib-imap-urlauth/imap-urlauth-backend.c:
7436
lib-imap-urlauth: Use MAILBOX_ATTRIBUTE_PREFIX_DOVECOT for the imap-
7440
* src/lib-storage/mail-storage.h:
7441
lib-storage: Added MAILBOX_ATTRIBUTE_DOVECOT_PREFIX macro.
7444
2013-02-11 Stephan Bosch <stephan@rename-it.nl>
7446
* configure.ac, src/plugins/fts-solr/Makefile.am, src/plugins/fts-solr
7447
/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
7448
src/plugins/fts-solr/solr-connection.c, src/plugins/fts-solr/solr-
7450
fts-solr: Use built-in lib-http instead of libcurl. Removed libcurl
7454
2013-02-11 Timo Sirainen <tss@iki.fi>
7456
* src/doveadm/dsync/dsync-mailbox-import.c:
7457
dsync: Minor fix to deciding when to use GUIDs vs. header hashes.
7460
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
7461
mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
7462
dsync: Fixes for syncing without GUIDs.
7465
* src/doveadm/dsync/dsync-mail.c:
7466
dsync: When doing a header-based sync, convert all linefeeds to LFs.
7467
Fixes syncing where one side used CRLFs and the other side used LFs.
7470
* src/lib/istream-file.c:
7471
i_stream_sync() for file should reset eof flag immediately.
7474
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
7475
mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
7476
/dsync-brain-private.h, src/doveadm/dsync/dsync-brain.c,
7477
src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync/dsync-ibc-
7478
stream.c, src/doveadm/dsync/dsync-mailbox.h:
7479
dsync: Automatically figure out which mailboxes can sync with
7483
* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
7484
storage/index/dbox-single/sdbox-storage.c, src/lib-
7485
storage/index/imapc/imapc-storage.c, src/lib-storage/index/maildir
7486
/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
7487
/lib-storage/mail-storage-private.h, src/lib-storage/mail-storage.c,
7488
src/lib-storage/mail-storage.h, src/plugins/virtual/virtual-
7489
storage.c, src/plugins/virtual/virtual-storage.h:
7490
lib-storage: Added mailbox_status.have_guids flag
7493
* src/lib-storage/fail-mailbox.c:
7494
lib-storage: Minor code cleanup
7497
* src/lib-storage/fail-mailbox.c, src/lib-storage/index/index-
7498
status.c, src/lib-storage/list/mailbox-list-index-status.c:
7499
lib-storage: Don't unnecessarily clear mailbox_status multiple
7503
* src/lib-storage/index/index-status.c:
7504
lib-storage: mailbox_status.nonpermanent_modseqs is now only set
7505
with STATUS_HIGHESTMODSEQ
7508
2013-02-10 Timo Sirainen <tss@iki.fi>
7510
* src/doveadm/dsync/dsync-mail.c:
7511
dsync: When looking up header hashes, use only Date: and Message-Id:
7512
headers This makes it more efficient, at least in future when imapc
7513
backend optimizes this.
7516
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
7517
mailbox.c, src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync
7518
/dsync-brain-private.h, src/doveadm/dsync/dsync-brain.c,
7519
src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync/dsync-ibc-
7521
dsync: Renamed "guid_requests" to "mail_requests" The mails aren't
7522
necessarily requested by their GUID.
7525
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
7526
mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
7527
dsync: Removed unused DSYNC_MAILBOX_IMPORT_FLAG_MAILS_HAVE_GUIDS
7531
* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
7532
dsync: Fixed mailbox tree sync with some backends (imapc)
7535
2013-02-05 Timo Sirainen <tss@iki.fi>
7537
* src/lib-imap-urlauth/imap-urlauth-backend.c, src/lib-storage/index
7538
/index-attribute.c, src/lib-storage/index/index-storage.h, src/lib-
7539
storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
7540
/lib-storage/mail-storage.h:
7541
lib-storage: Changed mailbox_attribute_get() to return a struct for
7542
value. This allows returning flags for the values in future. Mainly
7543
readonly-flag for internal attributes and when restricted by ACL
7547
* src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c, src/lib-storage/index
7548
/index-attachment.c:
7549
lib-fs: Changed FS_OPEN_FLAG_UNIMPORTANT to a reversed
7550
FS_OPEN_FLAG_FSYNC. This explains its behavior better.
7553
* src/lib-fs/fs-metawrap.c, src/lib-fs/istream-metawrap.c:
7554
fs-metawrap: Don't duplicate work if fs_get_metadata() is called
7558
* src/lib-storage/index/cydir/cydir-mail.c, src/lib-storage/index
7559
/dbox-common/dbox-mail.c, src/lib-storage/index/maildir/maildir-
7561
cydir, dbox, maildir: Don't leak the stream if mail.istream_opened()
7565
* src/lib-index/mail-index-transaction-update.c, src/lib-index/test-
7566
mail-index-transaction-update.c:
7567
lib-index: Memory leak fix
7570
* src/lib-fs/fs-metawrap.c:
7571
fs-metawrap: Memory leak fixes
7574
* src/lib-fs/fs-api.c:
7575
lib-fs: Avoid memory leaks if file was closed before
7576
fs_read()/fs_copy() was finished.
7579
* src/lib-fs/fs-metawrap.c:
7580
fs-metawrap: Set underlying file async only for fs_read_stream()
7584
2013-02-04 Timo Sirainen <tss@iki.fi>
7586
* src/lib/iostream-temp.c:
7587
iostream-temp: Set a name for the returned istream.
7590
* src/lib-http/http-client-request.c:
7591
lib-http: If http_client_request_set_payload() fails to get stream
7595
* src/lib/iostream-temp.c:
7596
iostream-temp: Don't try to dup() the stream fd if it's already
7600
* src/lib-fs/Makefile.am, src/lib-fs/fs-metawrap.c, src/lib-fs
7601
/ostream-metawrap.c, src/lib-fs/ostream-metawrap.h:
7602
fs-metawrap: Delay writing the metadata headers until first data is
7603
written. Also some other read/write fixes.
7606
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
7607
api.h, src/lib-fs/fs-metawrap.c:
7608
lib-fs: Added FS_OPEN_FLAG_SEEKABLE. Globally handle
7609
fs_read_stream() seekability and waits.
7612
* src/lib-fs/fs-metawrap.c:
7613
fs-metawrap: Fixed stat() to work when parent file's input stream
7614
didn't have a parent.
7617
* src/lib-fs/fs-metawrap.c:
7618
fs-metawrap: Error handling fixes
7621
* src/lib/istream.c:
7622
i_stream_create(): Copy stream_errno/eof immediately from the parent
7623
stream. This makes wrapper istream behavior more reliable when the
7624
original istream is an istream-error.
7627
* src/lib/istream.c:
7628
istream: Fail in the default stat() implementation if stream_errno
7632
* src/lib/istream-seekable.c:
7633
istream-seekable: Fail stat() if stream_errno is set.
7636
* src/lib-http/http-client-private.h, src/lib-http/http-client-
7637
request.c, src/lib-http/http-client.h:
7638
lib-http: Added http_client_request_set_destroy_callback() This is
7639
useful for io_remove()ing the payload stream's fd at the right time.
7642
* src/lib-http/http-url.c, src/lib-http/http-url.h:
7643
lib-http: Added http_url_escape_param()
7646
2013-02-03 Timo Sirainen <tss@iki.fi>
7648
* src/lib/iostream-temp.c, src/lib/iostream-temp.h:
7649
iostream-temp: Avoid copying data if IOSTREAM_TEMP_FLAG_TRY_FD_DUP
7653
* src/lib/istream.c:
7654
i_stream_create_error() should have set eof=TRUE immediately.
7657
* src/lib-fs/fs-api.c:
7658
lib-fs: fs_write_stream_finish(file, NULL) is now alias to
7659
fs_write_stream_finish_async(file) This makes wrapper
7660
implementations easier.
7663
* src/lib-fs/fs-posix.c:
7664
lib-fs: fs-posix now allows reading from the same file that was
7668
* src/lib-fs/istream-metawrap.c:
7669
lib-fs: istream-metawrap is a bit more flexible now, allowing
7670
stat()ing and reading from fd
7673
2013-02-02 Timo Sirainen <tss@iki.fi>
7675
* src/plugins/fts-solr/fts-solr-plugin.c:
7676
fts-solr: Compile warning fix
7679
* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
7680
/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil
7681
/test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client-
7682
connection.c, src/auth/auth-fields.c, src/auth/auth-master-
7683
connection.c, src/auth/auth-penalty.c, src/auth/auth-postfix-
7684
connection.c, src/auth/auth-request-handler.c, src/auth/auth-
7685
request.c, src/auth/auth-settings.c, src/auth/auth-token.c, src/auth
7686
/auth-worker-client.c, src/auth/auth-worker-server.c,
7687
src/auth/auth.c, src/auth/db-checkpassword.c, src/auth/db-dict.c,
7688
src/auth/db-ldap.c, src/auth/db-passwd-file.c, src/auth/db-sql.c,
7689
src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-cram-
7690
md5.c, src/auth/mech-digest-md5.c, src/auth/mech-dovecot-token.c,
7691
src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c,
7692
src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth
7693
/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth/passdb-
7694
dict.c, src/auth/passdb-imap.c, src/auth/passdb-ldap.c, src/auth
7695
/passdb-passwd-file.c, src/auth/passdb-passwd.c, src/auth/passdb-
7696
shadow.c, src/auth/passdb-sql.c, src/auth/passdb-static.c, src/auth
7697
/passdb-template.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c,
7698
src/auth/password-scheme-crypt.c, src/auth/password-scheme.c,
7699
src/auth/test-auth-cache.c, src/auth/userdb-blocking.c, src/auth
7700
/userdb-checkpassword.c, src/auth/userdb-dict.c, src/auth/userdb-
7701
ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-file.c,
7702
src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth
7703
/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-template.c,
7704
src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/config/config-
7705
connection.c, src/config/config-filter.c, src/config/config-
7706
parser.c, src/config/config-request.c, src/config/config-settings.c,
7707
src/config/doveconf.c, src/config/main.c, src/config/old-set-
7708
parser.c, src/config/sysinfo-get.c, src/dict/dict-commands.c,
7709
src/dict/dict-connection.c, src/dict/dict-settings.c,
7710
src/dict/main.c, src/director/auth-connection.c, src/director
7711
/director-connection.c, src/director/director-host.c, src/director
7712
/director-request.c, src/director/director-settings.c, src/director
7713
/director-test.c, src/director/director.c, src/director/doveadm-
7714
connection.c, src/director/login-connection.c, src/director/mail-
7715
host.c, src/director/main.c, src/director/notify-connection.c,
7716
src/director/test-user-directory.c, src/director/user-directory.c,
7717
src/dns/dns-client-settings.c, src/dns/dns-client.c, src/doveadm
7718
/client-connection.c, src/doveadm/doveadm-auth.c, src/doveadm
7719
/doveadm-director.c, src/doveadm/doveadm-dump-dbox.c, src/doveadm
7720
/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm
7721
/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c,
7722
src/doveadm/doveadm-dump.c, src/doveadm/doveadm-instance.c,
7723
src/doveadm/doveadm-kick.c, src/doveadm/doveadm-log.c, src/doveadm
7724
/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-copymove.c,
7725
src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-
7726
fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-
7727
mail-index.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-
7728
mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
7729
src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-mail-
7730
server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-
7731
list-iter.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-
7732
mount.c, src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-penalty.c,
7733
src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
7734
src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print-tab.c,
7735
src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-print.c,
7736
src/doveadm/doveadm-proxy.c, src/doveadm/doveadm-pw.c, src/doveadm
7737
/doveadm-settings.c, src/doveadm/doveadm-sis.c, src/doveadm/doveadm-
7738
stats.c, src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c,
7739
src/doveadm/doveadm-zlib.c, src/doveadm/doveadm.c, src/doveadm/dsync
7740
/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c,
7741
src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
7742
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
7743
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
7744
deserializer.c, src/doveadm/dsync/dsync-ibc-pipe.c,
7745
src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.c,
7746
src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync/dsync-mailbox-
7747
export.c, src/doveadm/dsync/dsync-mailbox-import.c,
7748
src/doveadm/dsync/dsync-mailbox-state.c, src/doveadm/dsync/dsync-
7749
mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree-sync.c,
7750
src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
7751
serializer.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
7752
src/doveadm/dsync/test-dsync-mailbox-tree-sync.c,
7753
src/doveadm/main.c, src/doveadm/server-connection.c, src/imap-login
7754
/client-authenticate.c, src/imap-login/client.c, src/imap-login
7755
/imap-login-settings.c, src/imap-login/imap-proxy.c, src/imap-
7756
urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-login-
7757
settings.c, src/imap-urlauth/imap-urlauth-login.c, src/imap-urlauth
7758
/imap-urlauth-settings.c, src/imap-urlauth/imap-urlauth-worker-
7759
settings.c, src/imap-urlauth/imap-urlauth-worker.c, src/imap-urlauth
7760
/imap-urlauth.c, src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c,
7761
src/imap/cmd-capability.c, src/imap/cmd-check.c, src/imap/cmd-
7762
close.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-
7763
delete.c, src/imap/cmd-enable.c, src/imap/cmd-examine.c, src/imap
7764
/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap/cmd-genurlauth.c,
7765
src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-list.c,
7766
src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd-
7767
namespace.c, src/imap/cmd-noop.c, src/imap/cmd-notify.c, src/imap
7768
/cmd-rename.c, src/imap/cmd-resetkey.c, src/imap/cmd-search.c,
7769
src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-status.c,
7770
src/imap/cmd-store.c, src/imap/cmd-subscribe.c, src/imap/cmd-
7771
thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd-
7772
unsubscribe.c, src/imap/cmd-urlfetch.c, src/imap/cmd-x-cancel.c,
7773
src/imap/imap-client.c, src/imap/imap-commands-util.c, src/imap
7774
/imap-commands.c, src/imap/imap-expunge.c, src/imap/imap-fetch-
7775
body.c, src/imap/imap-fetch.c, src/imap/imap-list.c, src/imap/imap-
7776
notify.c, src/imap/imap-search-args.c, src/imap/imap-search.c,
7777
src/imap/imap-settings.c, src/imap/imap-status.c, src/imap/imap-
7778
sync.c, src/imap/mail-storage-callbacks.c, src/imap/main.c,
7779
src/indexer/indexer-client.c, src/indexer/indexer-queue.c,
7780
src/indexer/indexer-settings.c, src/indexer/indexer-worker-
7781
settings.c, src/indexer/indexer-worker.c, src/indexer/indexer.c,
7782
src/indexer/master-connection.c, src/indexer/worker-connection.c,
7783
src/indexer/worker-pool.c, src/ipc/client.c, src/ipc/ipc-
7784
connection.c, src/ipc/ipc-group.c, src/ipc/ipc-settings.c,
7785
src/ipc/main.c, src/lda/main.c, src/lib-auth/auth-client-request.c,
7786
src/lib-auth/auth-client.c, src/lib-auth/auth-master.c, src/lib-auth
7787
/auth-server-connection.c, src/lib-charset/charset-iconv.c, src/lib-
7788
charset/charset-utf8.c, src/lib-compression/compression.c, src/lib-
7789
compression/istream-bzlib.c, src/lib-compression/istream-zlib.c, src
7790
/lib-compression/ostream-bzlib.c, src/lib-compression/ostream-
7791
zlib.c, src/lib-dict/dict-client.c, src/lib-dict/dict-db.c, src/lib-
7792
dict/dict-file.c, src/lib-dict/dict-memcached-ascii.c, src/lib-dict
7793
/dict-memcached.c, src/lib-dict/dict-redis.c, src/lib-dict/dict-sql-
7794
settings.c, src/lib-dict/dict-sql.c, src/lib-dict/dict-transaction-
7795
memory.c, src/lib-dict/dict.c, src/lib-dict/test-dict.c, src/lib-dns
7796
/dns-lookup.c, src/lib-fs/fs-api.c, src/lib-fs/fs-posix.c, src/lib-
7797
fs/fs-sis-common.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c,
7798
src/lib-fs/fs-test.c, src/lib-fs/istream-metawrap.c, src/lib-fs
7799
/ostream-cmp.c, src/lib-http/http-client-connection.c, src/lib-http
7800
/http-client-host.c, src/lib-http/http-client-peer.c, src/lib-http
7801
/http-client-request.c, src/lib-http/http-client.c, src/lib-http
7802
/http-date.c, src/lib-http/http-header-parser.c, src/lib-http/http-
7803
parser.c, src/lib-http/http-response-parser.c, src/lib-http/http-
7804
transfer-chunked.c, src/lib-http/http-url.c, src/lib-http/test-http-
7805
client.c, src/lib-http/test-http-date.c, src/lib-http/test-http-
7806
header-parser.c, src/lib-http/test-http-response-parser.c, src/lib-
7807
http/test-http-transfer.c, src/lib-http/test-http-url.c, src/lib-
7808
imap-client/imapc-client.c, src/lib-imap-client/imapc-connection.c,
7809
src/lib-imap-client/imapc-msgmap.c, src/lib-imap-storage/imap-
7810
msgpart-url.c, src/lib-imap-storage/imap-msgpart.c, src/lib-imap-
7811
urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-urlauth-
7812
connection.c, src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-
7813
imap-urlauth/imap-urlauth.c, src/lib-imap/imap-arg.c, src/lib-imap
7814
/imap-base-subject.c, src/lib-imap/imap-bodystructure.c, src/lib-
7815
imap/imap-date.c, src/lib-imap/imap-envelope.c, src/lib-imap/imap-
7816
id.c, src/lib-imap/imap-match.c, src/lib-imap/imap-parser.c, src
7817
/lib-imap/imap-quote.c, src/lib-imap/imap-seqset.c, src/lib-imap
7818
/imap-url.c, src/lib-imap/imap-utf7.c, src/lib-imap/imap-util.c, src
7819
/lib-imap/test-imap-bodystructure.c, src/lib-imap/test-imap-match.c,
7820
src/lib-imap/test-imap-parser.c, src/lib-imap/test-imap-url.c, src
7821
/lib-imap/test-imap-utf7.c, src/lib-imap/test-imap-util.c, src/lib-
7822
index/mail-cache-compress.c, src/lib-index/mail-cache-decisions.c,
7823
src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-
7824
lookup.c, src/lib-index/mail-cache-sync-update.c, src/lib-index
7825
/mail-cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index
7826
/mail-index-alloc-cache.c, src/lib-index/mail-index-dummy-view.c,
7827
src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-lock.c,
7828
src/lib-index/mail-index-map-hdr.c, src/lib-index/mail-index-map-
7829
read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-
7830
modseq.c, src/lib-index/mail-index-strmap.c, src/lib-index/mail-
7831
index-sync-ext.c, src/lib-index/mail-index-sync-keywords.c, src/lib-
7832
index/mail-index-sync-update.c, src/lib-index/mail-index-sync.c, src
7833
/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
7834
index-transaction-finish.c, src/lib-index/mail-index-transaction-
7835
sort-appends.c, src/lib-index/mail-index-transaction-update.c, src
7836
/lib-index/mail-index-transaction-view.c, src/lib-index/mail-index-
7837
transaction.c, src/lib-index/mail-index-util.c, src/lib-index/mail-
7838
index-view-sync.c, src/lib-index/mail-index-view.c, src/lib-index
7839
/mail-index-write.c, src/lib-index/mail-index.c, src/lib-index/mail-
7840
transaction-log-append.c, src/lib-index/mail-transaction-log-file.c,
7841
src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
7842
transaction-log.c, src/lib-index/mailbox-log.c, src/lib-index/test-
7843
mail-index-sync-ext.c, src/lib-index/test-mail-index-transaction-
7844
finish.c, src/lib-index/test-mail-index-transaction-update.c, src
7845
/lib-index/test-mail-transaction-log-append.c, src/lib-index/test-
7846
mail-transaction-log-view.c, src/lib-lda/duplicate.c, src/lib-lda
7847
/lda-settings.c, src/lib-lda/lmtp-client.c, src/lib-lda/mail-
7848
deliver.c, src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src
7849
/lib-mail/istream-attachment-connector.c, src/lib-mail/istream-
7850
attachment-extractor.c, src/lib-mail/istream-binary-converter.c, src
7851
/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src
7852
/lib-mail/istream-nonuls.c, src/lib-mail/istream-qp-decoder.c, src
7853
/lib-mail/mail-user-hash.c, src/lib-mail/mbox-from.c, src/lib-mail
7854
/message-address.c, src/lib-mail/message-binary-part.c, src/lib-mail
7855
/message-date.c, src/lib-mail/message-decoder.c, src/lib-mail
7856
/message-header-decode.c, src/lib-mail/message-header-encode.c, src
7857
/lib-mail/message-header-parser.c, src/lib-mail/message-id.c, src
7858
/lib-mail/message-parser.c, src/lib-mail/message-part-serialize.c,
7859
src/lib-mail/message-search.c, src/lib-mail/message-size.c, src/lib-
7860
mail/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src/lib-
7861
mail/rfc822-parser.c, src/lib-mail/test-istream-attachment.c, src
7862
/lib-mail/test-istream-binary-converter.c, src/lib-mail/test-
7863
istream-dot.c, src/lib-mail/test-istream-header-filter.c, src/lib-
7864
mail/test-istream-qp-decoder.c, src/lib-mail/test-mbox-from.c, src
7865
/lib-mail/test-message-address.c, src/lib-mail/test-message-date.c,
7866
src/lib-mail/test-message-decoder.c, src/lib-mail/test-message-
7867
header-decode.c, src/lib-mail/test-message-header-encode.c, src/lib-
7868
mail/test-message-header-parser.c, src/lib-mail/test-message-id.c,
7869
src/lib-mail/test-message-parser.c, src/lib-mail/test-quoted-
7870
printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib-master
7871
/anvil-client.c, src/lib-master/ipc-client.c, src/lib-master/ipc-
7872
server.c, src/lib-master/master-auth.c, src/lib-master/master-
7873
instance.c, src/lib-master/master-login-auth.c, src/lib-master
7874
/master-login.c, src/lib-master/master-service-settings-cache.c, src
7875
/lib-master/master-service-settings.c, src/lib-master/master-
7876
service-ssl-settings.c, src/lib-master/master-service-ssl.c, src
7877
/lib-master/master-service.c, src/lib-master/mountpoint-list.c, src
7878
/lib-master/syslog-util.c, src/lib-settings/settings-parser.c, src
7879
/lib-settings/settings.c, src/lib-sql/driver-mysql.c, src/lib-sql
7880
/driver-pgsql.c, src/lib-sql/driver-sqlite.c, src/lib-sql/driver-
7881
sqlpool.c, src/lib-sql/sql-api.c, src/lib-sql/sql-db-cache.c, src
7882
/lib-ssl-iostream/iostream-openssl-common.c, src/lib-ssl-iostream
7883
/iostream-openssl-context.c, src/lib-ssl-iostream/iostream-openssl-
7884
params.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
7885
iostream/iostream-ssl-none.c, src/lib-ssl-iostream/iostream-ssl.c,
7886
src/lib-ssl-iostream/istream-openssl.c, src/lib-ssl-iostream
7887
/ostream-openssl.c, src/lib-storage/fail-mail-storage.c, src/lib-
7888
storage/fail-mail.c, src/lib-storage/fail-mailbox.c, src/lib-
7889
storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
7890
save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
7891
storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox-common
7892
/dbox-attachment.c, src/lib-storage/index/dbox-common/dbox-file-
7893
fix.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
7894
storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
7895
common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-
7896
storage.c, src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-
7897
storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-
7898
multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-purge.c,
7899
src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
7900
/dbox-multi/mdbox-settings.c, src/lib-storage/index/dbox-multi
7901
/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-
7902
storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
7903
storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-
7904
single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-mail.c,
7905
src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
7906
storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
7907
/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
7908
/sdbox-sync.c, src/lib-storage/index/imapc/imapc-list.c, src/lib-
7909
storage/index/imapc/imapc-mail-fetch.c, src/lib-storage/index/imapc
7910
/imapc-mail.c, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
7911
storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
7912
settings.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
7913
storage/index/imapc/imapc-sync.c, src/lib-storage/index/index-
7914
attachment.c, src/lib-storage/index/index-attribute.c, src/lib-
7915
storage/index/index-mail-binary.c, src/lib-storage/index/index-mail-
7916
headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
7917
/index-mailbox-check.c, src/lib-storage/index/index-rebuild.c, src
7918
/lib-storage/index/index-search-result.c, src/lib-storage/index
7919
/index-search.c, src/lib-storage/index/index-sort-string.c, src/lib-
7920
storage/index/index-sort.c, src/lib-storage/index/index-status.c,
7921
src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
7922
sync-changes.c, src/lib-storage/index/index-sync-pvt.c, src/lib-
7923
storage/index/index-sync-search.c, src/lib-storage/index/index-
7924
sync.c, src/lib-storage/index/index-thread-finish.c, src/lib-
7925
storage/index/index-thread-links.c, src/lib-storage/index/index-
7926
thread.c, src/lib-storage/index/index-transaction.c, src/lib-
7927
storage/index/istream-mail.c, src/lib-storage/index/maildir/maildir-
7928
copy.c, src/lib-storage/index/maildir/maildir-filename-flags.c, src
7929
/lib-storage/index/maildir/maildir-filename.c, src/lib-
7930
storage/index/maildir/maildir-keywords.c, src/lib-
7931
storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
7932
/maildir-save.c, src/lib-storage/index/maildir/maildir-settings.c,
7933
src/lib-storage/index/maildir/maildir-storage.c, src/lib-
7934
storage/index/maildir/maildir-sync-index.c, src/lib-
7935
storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
7936
/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
7937
src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
7938
storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
7939
lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
7940
storage/index/mbox/mbox-md5-all.c, src/lib-storage/index/mbox/mbox-
7941
md5-apop3d.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
7942
storage/index/mbox/mbox-settings.c, src/lib-storage/index/mbox/mbox-
7943
storage.c, src/lib-storage/index/mbox/mbox-sync-parse.c, src/lib-
7944
storage/index/mbox/mbox-sync-rewrite.c, src/lib-storage/index/mbox
7945
/mbox-sync-update.c, src/lib-storage/index/mbox/mbox-sync.c, src
7946
/lib-storage/index/pop3c/pop3c-client.c, src/lib-storage/index/pop3c
7947
/pop3c-mail.c, src/lib-storage/index/pop3c/pop3c-settings.c, src
7948
/lib-storage/index/pop3c/pop3c-storage.c, src/lib-
7949
storage/index/pop3c/pop3c-sync.c, src/lib-storage/index/raw/raw-
7950
mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
7951
storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared-
7952
list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
7953
storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
7954
list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
7955
/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
7956
list-index-backend.c, src/lib-storage/list/mailbox-list-index-
7957
iter.c, src/lib-storage/list/mailbox-list-index-notify.c, src/lib-
7958
storage/list/mailbox-list-index-status.c, src/lib-storage/list
7959
/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
7960
index.c, src/lib-storage/list/mailbox-list-iter.c, src/lib-
7961
storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
7962
/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-none.c,
7963
src/lib-storage/list/mailbox-list-notify-tree.c, src/lib-
7964
storage/list/mailbox-list-subscriptions.c, src/lib-storage/list
7965
/subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage
7966
/mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage
7967
/mail-search-build.c, src/lib-storage/mail-search-parser-cmdline.c,
7968
src/lib-storage/mail-search-parser-imap.c, src/lib-storage/mail-
7969
search-parser.c, src/lib-storage/mail-search-register-human.c, src
7970
/lib-storage/mail-search-register-imap.c, src/lib-storage/mail-
7971
search-register.c, src/lib-storage/mail-search.c, src/lib-storage
7972
/mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src
7973
/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
7974
storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail-
7975
user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-get.c, src
7976
/lib-storage/mailbox-guid-cache.c, src/lib-storage/mailbox-header.c,
7977
src/lib-storage/mailbox-keywords.c, src/lib-storage/mailbox-list-
7978
notify.c, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
7979
search-result.c, src/lib-storage/mailbox-tree.c, src/lib-storage
7980
/mailbox-uidvalidity.c, src/lib-storage/test-mailbox-get.c, src/lib-
7981
test/test-common.c, src/lib/abspath.c, src/lib/aqueue.c,
7982
src/lib/array.c, src/lib/askpass.c, src/lib/backtrace-string.c,
7983
src/lib/base64.c, src/lib/bsearch-insert-pos.c, src/lib/buffer.c,
7984
src/lib/child-wait.c, src/lib/compat.c, src/lib/connection.c,
7985
src/lib/crc32.c, src/lib/data-stack.c, src/lib/eacces-error.c,
7986
src/lib/env-util.c, src/lib/execv-const.c, src/lib/failures.c,
7987
src/lib/fd-close-on-exec.c, src/lib/fd-set-nonblock.c, src/lib
7988
/fdatasync-path.c, src/lib/fdpass.c, src/lib/file-cache.c, src/lib
7989
/file-copy.c, src/lib/file-dotlock.c, src/lib/file-lock.c, src/lib
7990
/file-set-size.c, src/lib/guid.c, src/lib/hash-format.c, src/lib
7991
/hash-method.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex-
7992
binary.c, src/lib/hex-dec.c, src/lib/home-expand.c,
7993
src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-epoll.c, src/lib
7994
/ioloop-notify-dn.c, src/lib/ioloop-notify-fd.c, src/lib/ioloop-
7995
notify-inotify.c, src/lib/ioloop-notify-none.c, src/lib/ioloop-
7996
poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib/iostream-
7997
rawlog.c, src/lib/iostream-temp.c, src/lib/iostream.c,
7998
src/lib/iso8601-date.c, src/lib/istream-base64-decoder.c, src/lib
7999
/istream-base64-encoder.c, src/lib/istream-chain.c, src/lib/istream-
8000
concat.c, src/lib/istream-crlf.c, src/lib/istream-data.c, src/lib
8001
/istream-file.c, src/lib/istream-jsonstr.c, src/lib/istream-limit.c,
8002
src/lib/istream-mmap.c, src/lib/istream-rawlog.c, src/lib/istream-
8003
seekable.c, src/lib/istream-sized.c, src/lib/istream-tee.c,
8004
src/lib/istream.c, src/lib/json-parser.c, src/lib/lib-signals.c,
8005
src/lib/lib.c, src/lib/mempool-alloconly.c, src/lib/mempool-
8006
datastack.c, src/lib/mempool-system.c, src/lib/mempool-unsafe-
8007
datastack.c, src/lib/mempool.c, src/lib/mkdir-parents.c, src/lib
8008
/mmap-anon.c, src/lib/mmap-util.c, src/lib/module-dir.c,
8009
src/lib/mountpoint.c, src/lib/net.c, src/lib/nfs-workarounds.c,
8010
src/lib/numpack.c, src/lib/ostream-buffer.c, src/lib/ostream-file.c,
8011
src/lib/ostream-rawlog.c, src/lib/ostream.c, src/lib/primes.c,
8012
src/lib/printf-format-fix.c, src/lib/priorityq.c, src/lib/process-
8013
title.c, src/lib/randgen.c, src/lib/read-full.c, src/lib/restrict-
8014
access.c, src/lib/restrict-process-size.c, src/lib/safe-memset.c,
8015
src/lib/safe-mkdir.c, src/lib/safe-mkstemp.c, src/lib/sendfile-
8016
util.c, src/lib/seq-range-array.c, src/lib/str-find.c, src/lib/str-
8017
sanitize.c, src/lib/str.c, src/lib/strescape.c, src/lib/strfuncs.c,
8018
src/lib/strnum.c, src/lib/test-aqueue.c, src/lib/test-array.c,
8019
src/lib/test-base64.c, src/lib/test-bsearch-insert-pos.c, src/lib
8020
/test-buffer.c, src/lib/test-crc32.c, src/lib/test-hash-format.c,
8021
src/lib/test-hex-binary.c, src/lib/test-iso8601-date.c, src/lib
8022
/test-istream-base64-decoder.c, src/lib/test-istream-
8023
base64-encoder.c, src/lib/test-istream-concat.c, src/lib/test-
8024
istream-crlf.c, src/lib/test-istream-seekable.c, src/lib/test-
8025
istream-tee.c, src/lib/test-json-parser.c, src/lib/test-lib.c,
8026
src/lib/test-llist.c, src/lib/test-mempool-alloconly.c, src/lib
8027
/test-network.c, src/lib/test-numpack.c, src/lib/test-ostream-
8028
file.c, src/lib/test-primes.c, src/lib/test-priorityq.c, src/lib
8029
/test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str-
8030
sanitize.c, src/lib/test-strescape.c, src/lib/test-strfuncs.c,
8031
src/lib/test-time-util.c, src/lib/test-unichar.c, src/lib/test-utc-
8032
mktime.c, src/lib/test-var-expand.c, src/lib/time-util.c,
8033
src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib/unlink-
8034
directory.c, src/lib/unlink-old-files.c, src/lib/uri-util.c, src/lib
8035
/utc-mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib
8036
/write-full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp
8037
/lmtp-proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log
8038
/doveadm-connection.c, src/log/log-connection.c, src/log/log-error-
8039
buffer.c, src/log/log-settings.c, src/log/main.c, src/login-common
8040
/access-lookup.c, src/login-common/client-common-auth.c, src/login-
8041
common/client-common.c, src/login-common/login-proxy-state.c, src
8042
/login-common/login-proxy.c, src/login-common/login-settings.c, src
8043
/login-common/main.c, src/login-common/sasl-server.c, src/login-
8044
common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src
8045
/login-common/ssl-proxy.c, src/master/capabilities-posix.c,
8046
src/master/dup2-array.c, src/master/main.c, src/master/master-
8047
settings.c, src/master/service-anvil.c, src/master/service-listen.c,
8048
src/master/service-log.c, src/master/service-monitor.c, src/master
8049
/service-process-notify.c, src/master/service-process.c,
8050
src/master/service.c, src/plugins/acl/acl-api.c, src/plugins/acl
8051
/acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c,
8052
src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c,
8053
src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-mailbox-
8054
list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c,
8055
src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c,
8056
src/plugins/acl/doveadm-acl.c, src/plugins/autocreate/autocreate-
8057
plugin.c, src/plugins/expire/doveadm-expire.c, src/plugins/expire
8058
/expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/fts-
8059
lucene/doveadm-fts-lucene.c, src/plugins/fts-lucene/fts-backend-
8060
lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins
8061
/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-
8062
solr.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-solr
8063
/solr-connection.c, src/plugins/fts-squat/fts-backend-squat.c,
8064
src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-squat
8065
/squat-test.c, src/plugins/fts-squat/squat-trie.c, src/plugins/fts-
8066
squat/squat-uidlist.c, src/plugins/fts/doveadm-dump-fts-expunge-
8067
log.c, src/plugins/fts/doveadm-fts.c, src/plugins/fts/fts-api.c,
8068
src/plugins/fts/fts-build-mail.c, src/plugins/fts/fts-expunge-log.c,
8069
src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-parser-html.c,
8070
src/plugins/fts/fts-parser-script.c, src/plugins/fts/fts-parser.c,
8071
src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search-
8072
serialize.c, src/plugins/fts/fts-search.c, src/plugins/fts/fts-
8073
storage.c, src/plugins/fts/xml2text.c, src/plugins/imap-acl/imap-
8074
acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
8075
src/plugins/imap-stats/imap-stats-plugin.c, src/plugins/imap-zlib
8076
/imap-zlib-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
8077
src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
8078
/mail-log-plugin.c, src/plugins/mailbox-alias/mailbox-alias-
8079
plugin.c, src/plugins/notify/notify-plugin.c, src/plugins/notify
8080
/notify-storage.c, src/plugins/pop3-migration/pop3-migration-
8081
plugin.c, src/plugins/quota/doveadm-quota.c, src/plugins/quota
8082
/quota-count.c, src/plugins/quota/quota-dict.c, src/plugins/quota
8083
/quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota
8084
/quota-maildir.c, src/plugins/quota/quota-plugin.c,
8085
src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
8086
src/plugins/replication/replication-plugin.c, src/plugins/snarf
8087
/snarf-plugin.c, src/plugins/stats/stats-connection.c,
8088
src/plugins/stats/stats-plugin.c, src/plugins/trash/trash-plugin.c,
8089
src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
8090
mail.c, src/plugins/virtual/virtual-plugin.c, src/plugins/virtual
8091
/virtual-save.c, src/plugins/virtual/virtual-search.c,
8092
src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
8093
sync.c, src/plugins/virtual/virtual-transaction.c, src/plugins/zlib
8094
/zlib-plugin.c, src/pop3-login/client-authenticate.c,
8095
src/pop3-login/client.c, src/pop3-login/pop3-login-settings.c,
8096
src/pop3-login/pop3-proxy.c, src/pop3/main.c,
8097
src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
8098
src/pop3/pop3-settings.c, src/replication/aggregator/aggregator-
8099
settings.c, src/replication/aggregator/aggregator.c,
8100
src/replication/aggregator/notify-connection.c,
8101
src/replication/aggregator/replicator-connection.c,
8102
src/replication/replicator/doveadm-connection.c,
8103
src/replication/replicator/notify-connection.c,
8104
src/replication/replicator/replicator-brain.c,
8105
src/replication/replicator/replicator-queue.c,
8106
src/replication/replicator/replicator-settings.c,
8107
src/replication/replicator/replicator.c, src/ssl-params/main.c, src
8108
/ssl-params/ssl-params-openssl.c, src/ssl-params/ssl-params-
8109
settings.c, src/ssl-params/ssl-params.c, src/stats/client-export.c,
8110
src/stats/client.c, src/stats/global-memory.c, src/stats/mail-
8111
command.c, src/stats/mail-domain.c, src/stats/mail-ip.c, src/stats
8112
/mail-server-connection.c, src/stats/mail-session.c, src/stats/mail-
8113
stats.c, src/stats/mail-user.c, src/stats/main.c, src/stats/stats-
8114
settings.c, src/util/gdbhelper.c, src/util/maildirlock.c,
8115
src/util/rawlog.c, src/util/script-login.c, src/util/script.c,
8116
src/util/tcpwrap-settings.c, src/util/tcpwrap.c:
8117
Oops :) Update copyrights to 2013 without breaking all .c files.
8120
* src/anvil/anvil-connection.c, src/anvil/anvil-settings.c, src/anvil
8121
/connect-limit.c, src/anvil/main.c, src/anvil/penalty.c, src/anvil
8122
/test-penalty.c, src/auth/auth-cache.c, src/auth/auth-client-
8123
connection.c, src/auth/auth-fields.c, src/auth/auth-master-
8124
connection.c, src/auth/auth-penalty.c, src/auth/auth-postfix-
8125
connection.c, src/auth/auth-request-handler.c, src/auth/auth-
8126
request.c, src/auth/auth-settings.c, src/auth/auth-token.c, src/auth
8127
/auth-worker-client.c, src/auth/auth-worker-server.c,
8128
src/auth/auth.c, src/auth/db-checkpassword.c, src/auth/db-dict.c,
8129
src/auth/db-ldap.c, src/auth/db-passwd-file.c, src/auth/db-sql.c,
8130
src/auth/main.c, src/auth/mech-anonymous.c, src/auth/mech-cram-
8131
md5.c, src/auth/mech-digest-md5.c, src/auth/mech-dovecot-token.c,
8132
src/auth/mech-external.c, src/auth/mech-plain.c, src/auth/mech.c,
8133
src/auth/passdb-blocking.c, src/auth/passdb-bsdauth.c, src/auth
8134
/passdb-cache.c, src/auth/passdb-checkpassword.c, src/auth/passdb-
8135
dict.c, src/auth/passdb-imap.c, src/auth/passdb-ldap.c, src/auth
8136
/passdb-passwd-file.c, src/auth/passdb-passwd.c, src/auth/passdb-
8137
shadow.c, src/auth/passdb-sql.c, src/auth/passdb-static.c, src/auth
8138
/passdb-template.c, src/auth/passdb-vpopmail.c, src/auth/passdb.c,
8139
src/auth/password-scheme-crypt.c, src/auth/password-scheme.c,
8140
src/auth/test-auth-cache.c, src/auth/userdb-blocking.c, src/auth
8141
/userdb-checkpassword.c, src/auth/userdb-dict.c, src/auth/userdb-
8142
ldap.c, src/auth/userdb-nss.c, src/auth/userdb-passwd-file.c,
8143
src/auth/userdb-passwd.c, src/auth/userdb-prefetch.c, src/auth
8144
/userdb-sql.c, src/auth/userdb-static.c, src/auth/userdb-template.c,
8145
src/auth/userdb-vpopmail.c, src/auth/userdb.c, src/config/config-
8146
connection.c, src/config/config-filter.c, src/config/config-
8147
parser.c, src/config/config-request.c, src/config/config-settings.c,
8148
src/config/doveconf.c, src/config/main.c, src/config/old-set-
8149
parser.c, src/config/sysinfo-get.c, src/dict/dict-commands.c,
8150
src/dict/dict-connection.c, src/dict/dict-settings.c,
8151
src/dict/main.c, src/director/auth-connection.c, src/director
8152
/director-connection.c, src/director/director-host.c, src/director
8153
/director-request.c, src/director/director-settings.c, src/director
8154
/director-test.c, src/director/director.c, src/director/doveadm-
8155
connection.c, src/director/login-connection.c, src/director/mail-
8156
host.c, src/director/main.c, src/director/notify-connection.c,
8157
src/director/test-user-directory.c, src/director/user-directory.c,
8158
src/dns/dns-client-settings.c, src/dns/dns-client.c, src/doveadm
8159
/client-connection.c, src/doveadm/doveadm-auth.c, src/doveadm
8160
/doveadm-director.c, src/doveadm/doveadm-dump-dbox.c, src/doveadm
8161
/doveadm-dump-index.c, src/doveadm/doveadm-dump-log.c, src/doveadm
8162
/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-dump-thread.c,
8163
src/doveadm/doveadm-dump.c, src/doveadm/doveadm-instance.c,
8164
src/doveadm/doveadm-kick.c, src/doveadm/doveadm-log.c, src/doveadm
8165
/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-copymove.c,
8166
src/doveadm/doveadm-mail-expunge.c, src/doveadm/doveadm-mail-
8167
fetch.c, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-
8168
mail-index.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-
8169
mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
8170
src/doveadm/doveadm-mail-search.c, src/doveadm/doveadm-mail-
8171
server.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-
8172
list-iter.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-
8173
mount.c, src/doveadm/doveadm-mutf7.c, src/doveadm/doveadm-penalty.c,
8174
src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
8175
src/doveadm/doveadm-print-server.c, src/doveadm/doveadm-print-tab.c,
8176
src/doveadm/doveadm-print-table.c, src/doveadm/doveadm-print.c,
8177
src/doveadm/doveadm-proxy.c, src/doveadm/doveadm-pw.c, src/doveadm
8178
/doveadm-settings.c, src/doveadm/doveadm-sis.c, src/doveadm/doveadm-
8179
stats.c, src/doveadm/doveadm-util.c, src/doveadm/doveadm-who.c,
8180
src/doveadm/doveadm-zlib.c, src/doveadm/doveadm.c, src/doveadm/dsync
8181
/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-mailbox-tree-sync.c,
8182
src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
8183
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
8184
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-
8185
deserializer.c, src/doveadm/dsync/dsync-ibc-pipe.c,
8186
src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.c,
8187
src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync/dsync-mailbox-
8188
export.c, src/doveadm/dsync/dsync-mailbox-import.c,
8189
src/doveadm/dsync/dsync-mailbox-state.c, src/doveadm/dsync/dsync-
8190
mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree-sync.c,
8191
src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
8192
serializer.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
8193
src/doveadm/dsync/test-dsync-mailbox-tree-sync.c,
8194
src/doveadm/main.c, src/doveadm/server-connection.c, src/imap-login
8195
/client-authenticate.c, src/imap-login/client.c, src/imap-login
8196
/imap-login-settings.c, src/imap-login/imap-proxy.c, src/imap-
8197
urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-login-
8198
settings.c, src/imap-urlauth/imap-urlauth-login.c, src/imap-urlauth
8199
/imap-urlauth-settings.c, src/imap-urlauth/imap-urlauth-worker-
8200
settings.c, src/imap-urlauth/imap-urlauth-worker.c, src/imap-urlauth
8201
/imap-urlauth.c, src/imap/cmd-append.c, src/imap/cmd-cancelupdate.c,
8202
src/imap/cmd-capability.c, src/imap/cmd-check.c, src/imap/cmd-
8203
close.c, src/imap/cmd-copy.c, src/imap/cmd-create.c, src/imap/cmd-
8204
delete.c, src/imap/cmd-enable.c, src/imap/cmd-examine.c, src/imap
8205
/cmd-expunge.c, src/imap/cmd-fetch.c, src/imap/cmd-genurlauth.c,
8206
src/imap/cmd-id.c, src/imap/cmd-idle.c, src/imap/cmd-list.c,
8207
src/imap/cmd-logout.c, src/imap/cmd-lsub.c, src/imap/cmd-
8208
namespace.c, src/imap/cmd-noop.c, src/imap/cmd-notify.c, src/imap
8209
/cmd-rename.c, src/imap/cmd-resetkey.c, src/imap/cmd-search.c,
8210
src/imap/cmd-select.c, src/imap/cmd-sort.c, src/imap/cmd-status.c,
8211
src/imap/cmd-store.c, src/imap/cmd-subscribe.c, src/imap/cmd-
8212
thread.c, src/imap/cmd-uid.c, src/imap/cmd-unselect.c, src/imap/cmd-
8213
unsubscribe.c, src/imap/cmd-urlfetch.c, src/imap/cmd-x-cancel.c,
8214
src/imap/imap-client.c, src/imap/imap-commands-util.c, src/imap
8215
/imap-commands.c, src/imap/imap-expunge.c, src/imap/imap-fetch-
8216
body.c, src/imap/imap-fetch.c, src/imap/imap-list.c, src/imap/imap-
8217
notify.c, src/imap/imap-search-args.c, src/imap/imap-search.c,
8218
src/imap/imap-settings.c, src/imap/imap-status.c, src/imap/imap-
8219
sync.c, src/imap/mail-storage-callbacks.c, src/imap/main.c,
8220
src/indexer/indexer-client.c, src/indexer/indexer-queue.c,
8221
src/indexer/indexer-settings.c, src/indexer/indexer-worker-
8222
settings.c, src/indexer/indexer-worker.c, src/indexer/indexer.c,
8223
src/indexer/master-connection.c, src/indexer/worker-connection.c,
8224
src/indexer/worker-pool.c, src/ipc/client.c, src/ipc/ipc-
8225
connection.c, src/ipc/ipc-group.c, src/ipc/ipc-settings.c,
8226
src/ipc/main.c, src/lda/main.c, src/lib-auth/auth-client-request.c,
8227
src/lib-auth/auth-client.c, src/lib-auth/auth-master.c, src/lib-auth
8228
/auth-server-connection.c, src/lib-charset/charset-iconv.c, src/lib-
8229
charset/charset-utf8.c, src/lib-compression/compression.c, src/lib-
8230
compression/istream-bzlib.c, src/lib-compression/istream-zlib.c, src
8231
/lib-compression/ostream-bzlib.c, src/lib-compression/ostream-
8232
zlib.c, src/lib-dict/dict-client.c, src/lib-dict/dict-db.c, src/lib-
8233
dict/dict-file.c, src/lib-dict/dict-memcached-ascii.c, src/lib-dict
8234
/dict-memcached.c, src/lib-dict/dict-redis.c, src/lib-dict/dict-sql-
8235
settings.c, src/lib-dict/dict-sql.c, src/lib-dict/dict-transaction-
8236
memory.c, src/lib-dict/dict.c, src/lib-dict/test-dict.c, src/lib-dns
8237
/dns-lookup.c, src/lib-fs/fs-api.c, src/lib-fs/fs-posix.c, src/lib-
8238
fs/fs-sis-common.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c,
8239
src/lib-fs/fs-test.c, src/lib-fs/istream-metawrap.c, src/lib-fs
8240
/ostream-cmp.c, src/lib-http/http-client-connection.c, src/lib-http
8241
/http-client-host.c, src/lib-http/http-client-peer.c, src/lib-http
8242
/http-client-request.c, src/lib-http/http-client.c, src/lib-http
8243
/http-date.c, src/lib-http/http-header-parser.c, src/lib-http/http-
8244
parser.c, src/lib-http/http-response-parser.c, src/lib-http/http-
8245
transfer-chunked.c, src/lib-http/http-url.c, src/lib-http/test-http-
8246
client.c, src/lib-http/test-http-date.c, src/lib-http/test-http-
8247
header-parser.c, src/lib-http/test-http-response-parser.c, src/lib-
8248
http/test-http-transfer.c, src/lib-http/test-http-url.c, src/lib-
8249
imap-client/imapc-client.c, src/lib-imap-client/imapc-connection.c,
8250
src/lib-imap-client/imapc-msgmap.c, src/lib-imap-storage/imap-
8251
msgpart-url.c, src/lib-imap-storage/imap-msgpart.c, src/lib-imap-
8252
urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-urlauth-
8253
connection.c, src/lib-imap-urlauth/imap-urlauth-fetch.c, src/lib-
8254
imap-urlauth/imap-urlauth.c, src/lib-imap/imap-arg.c, src/lib-imap
8255
/imap-base-subject.c, src/lib-imap/imap-bodystructure.c, src/lib-
8256
imap/imap-date.c, src/lib-imap/imap-envelope.c, src/lib-imap/imap-
8257
id.c, src/lib-imap/imap-match.c, src/lib-imap/imap-parser.c, src
8258
/lib-imap/imap-quote.c, src/lib-imap/imap-seqset.c, src/lib-imap
8259
/imap-url.c, src/lib-imap/imap-utf7.c, src/lib-imap/imap-util.c, src
8260
/lib-imap/test-imap-bodystructure.c, src/lib-imap/test-imap-match.c,
8261
src/lib-imap/test-imap-parser.c, src/lib-imap/test-imap-url.c, src
8262
/lib-imap/test-imap-utf7.c, src/lib-imap/test-imap-util.c, src/lib-
8263
index/mail-cache-compress.c, src/lib-index/mail-cache-decisions.c,
8264
src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-
8265
lookup.c, src/lib-index/mail-cache-sync-update.c, src/lib-index
8266
/mail-cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index
8267
/mail-index-alloc-cache.c, src/lib-index/mail-index-dummy-view.c,
8268
src/lib-index/mail-index-fsck.c, src/lib-index/mail-index-lock.c,
8269
src/lib-index/mail-index-map-hdr.c, src/lib-index/mail-index-map-
8270
read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-
8271
modseq.c, src/lib-index/mail-index-strmap.c, src/lib-index/mail-
8272
index-sync-ext.c, src/lib-index/mail-index-sync-keywords.c, src/lib-
8273
index/mail-index-sync-update.c, src/lib-index/mail-index-sync.c, src
8274
/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
8275
index-transaction-finish.c, src/lib-index/mail-index-transaction-
8276
sort-appends.c, src/lib-index/mail-index-transaction-update.c, src
8277
/lib-index/mail-index-transaction-view.c, src/lib-index/mail-index-
8278
transaction.c, src/lib-index/mail-index-util.c, src/lib-index/mail-
8279
index-view-sync.c, src/lib-index/mail-index-view.c, src/lib-index
8280
/mail-index-write.c, src/lib-index/mail-index.c, src/lib-index/mail-
8281
transaction-log-append.c, src/lib-index/mail-transaction-log-file.c,
8282
src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
8283
transaction-log.c, src/lib-index/mailbox-log.c, src/lib-index/test-
8284
mail-index-sync-ext.c, src/lib-index/test-mail-index-transaction-
8285
finish.c, src/lib-index/test-mail-index-transaction-update.c, src
8286
/lib-index/test-mail-transaction-log-append.c, src/lib-index/test-
8287
mail-transaction-log-view.c, src/lib-lda/duplicate.c, src/lib-lda
8288
/lda-settings.c, src/lib-lda/lmtp-client.c, src/lib-lda/mail-
8289
deliver.c, src/lib-lda/mail-send.c, src/lib-lda/smtp-client.c, src
8290
/lib-mail/istream-attachment-connector.c, src/lib-mail/istream-
8291
attachment-extractor.c, src/lib-mail/istream-binary-converter.c, src
8292
/lib-mail/istream-dot.c, src/lib-mail/istream-header-filter.c, src
8293
/lib-mail/istream-nonuls.c, src/lib-mail/istream-qp-decoder.c, src
8294
/lib-mail/mail-user-hash.c, src/lib-mail/mbox-from.c, src/lib-mail
8295
/message-address.c, src/lib-mail/message-binary-part.c, src/lib-mail
8296
/message-date.c, src/lib-mail/message-decoder.c, src/lib-mail
8297
/message-header-decode.c, src/lib-mail/message-header-encode.c, src
8298
/lib-mail/message-header-parser.c, src/lib-mail/message-id.c, src
8299
/lib-mail/message-parser.c, src/lib-mail/message-part-serialize.c,
8300
src/lib-mail/message-search.c, src/lib-mail/message-size.c, src/lib-
8301
mail/quoted-printable.c, src/lib-mail/rfc2231-parser.c, src/lib-
8302
mail/rfc822-parser.c, src/lib-mail/test-istream-attachment.c, src
8303
/lib-mail/test-istream-binary-converter.c, src/lib-mail/test-
8304
istream-dot.c, src/lib-mail/test-istream-header-filter.c, src/lib-
8305
mail/test-istream-qp-decoder.c, src/lib-mail/test-mbox-from.c, src
8306
/lib-mail/test-message-address.c, src/lib-mail/test-message-date.c,
8307
src/lib-mail/test-message-decoder.c, src/lib-mail/test-message-
8308
header-decode.c, src/lib-mail/test-message-header-encode.c, src/lib-
8309
mail/test-message-header-parser.c, src/lib-mail/test-message-id.c,
8310
src/lib-mail/test-message-parser.c, src/lib-mail/test-quoted-
8311
printable.c, src/lib-mail/test-rfc2231-parser.c, src/lib-master
8312
/anvil-client.c, src/lib-master/ipc-client.c, src/lib-master/ipc-
8313
server.c, src/lib-master/master-auth.c, src/lib-master/master-
8314
instance.c, src/lib-master/master-login-auth.c, src/lib-master
8315
/master-login.c, src/lib-master/master-service-settings-cache.c, src
8316
/lib-master/master-service-settings.c, src/lib-master/master-
8317
service-ssl-settings.c, src/lib-master/master-service-ssl.c, src
8318
/lib-master/master-service.c, src/lib-master/mountpoint-list.c, src
8319
/lib-master/syslog-util.c, src/lib-settings/settings-parser.c, src
8320
/lib-settings/settings.c, src/lib-sql/driver-mysql.c, src/lib-sql
8321
/driver-pgsql.c, src/lib-sql/driver-sqlite.c, src/lib-sql/driver-
8322
sqlpool.c, src/lib-sql/sql-api.c, src/lib-sql/sql-db-cache.c, src
8323
/lib-ssl-iostream/iostream-openssl-common.c, src/lib-ssl-iostream
8324
/iostream-openssl-context.c, src/lib-ssl-iostream/iostream-openssl-
8325
params.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
8326
iostream/iostream-ssl-none.c, src/lib-ssl-iostream/iostream-ssl.c,
8327
src/lib-ssl-iostream/istream-openssl.c, src/lib-ssl-iostream
8328
/ostream-openssl.c, src/lib-storage/fail-mail-storage.c, src/lib-
8329
storage/fail-mail.c, src/lib-storage/fail-mailbox.c, src/lib-
8330
storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
8331
save.c, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
8332
storage/index/cydir/cydir-sync.c, src/lib-storage/index/dbox-common
8333
/dbox-attachment.c, src/lib-storage/index/dbox-common/dbox-file-
8334
fix.c, src/lib-storage/index/dbox-common/dbox-file.c, src/lib-
8335
storage/index/dbox-common/dbox-mail.c, src/lib-storage/index/dbox-
8336
common/dbox-save.c, src/lib-storage/index/dbox-common/dbox-
8337
storage.c, src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-
8338
storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index/dbox-
8339
multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-purge.c,
8340
src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
8341
/dbox-multi/mdbox-settings.c, src/lib-storage/index/dbox-multi
8342
/mdbox-storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-
8343
storage.c, src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-
8344
storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-
8345
single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-mail.c,
8346
src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
8347
storage/index/dbox-single/sdbox-storage.c, src/lib-storage/index
8348
/dbox-single/sdbox-sync-rebuild.c, src/lib-storage/index/dbox-single
8349
/sdbox-sync.c, src/lib-storage/index/imapc/imapc-list.c, src/lib-
8350
storage/index/imapc/imapc-mail-fetch.c, src/lib-storage/index/imapc
8351
/imapc-mail.c, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
8352
storage/index/imapc/imapc-save.c, src/lib-storage/index/imapc/imapc-
8353
settings.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
8354
storage/index/imapc/imapc-sync.c, src/lib-storage/index/index-
8355
attachment.c, src/lib-storage/index/index-attribute.c, src/lib-
8356
storage/index/index-mail-binary.c, src/lib-storage/index/index-mail-
8357
headers.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
8358
/index-mailbox-check.c, src/lib-storage/index/index-rebuild.c, src
8359
/lib-storage/index/index-search-result.c, src/lib-storage/index
8360
/index-search.c, src/lib-storage/index/index-sort-string.c, src/lib-
8361
storage/index/index-sort.c, src/lib-storage/index/index-status.c,
8362
src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
8363
sync-changes.c, src/lib-storage/index/index-sync-pvt.c, src/lib-
8364
storage/index/index-sync-search.c, src/lib-storage/index/index-
8365
sync.c, src/lib-storage/index/index-thread-finish.c, src/lib-
8366
storage/index/index-thread-links.c, src/lib-storage/index/index-
8367
thread.c, src/lib-storage/index/index-transaction.c, src/lib-
8368
storage/index/istream-mail.c, src/lib-storage/index/maildir/maildir-
8369
copy.c, src/lib-storage/index/maildir/maildir-filename-flags.c, src
8370
/lib-storage/index/maildir/maildir-filename.c, src/lib-
8371
storage/index/maildir/maildir-keywords.c, src/lib-
8372
storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
8373
/maildir-save.c, src/lib-storage/index/maildir/maildir-settings.c,
8374
src/lib-storage/index/maildir/maildir-storage.c, src/lib-
8375
storage/index/maildir/maildir-sync-index.c, src/lib-
8376
storage/index/maildir/maildir-sync.c, src/lib-storage/index/maildir
8377
/maildir-uidlist.c, src/lib-storage/index/maildir/maildir-util.c,
8378
src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
8379
storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
8380
lock.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
8381
storage/index/mbox/mbox-md5-all.c, src/lib-storage/index/mbox/mbox-
8382
md5-apop3d.c, src/lib-storage/index/mbox/mbox-save.c, src/lib-
8383
storage/index/mbox/mbox-settings.c, src/lib-storage/index/mbox/mbox-
8384
storage.c, src/lib-storage/index/mbox/mbox-sync-parse.c, src/lib-
8385
storage/index/mbox/mbox-sync-rewrite.c, src/lib-storage/index/mbox
8386
/mbox-sync-update.c, src/lib-storage/index/mbox/mbox-sync.c, src
8387
/lib-storage/index/pop3c/pop3c-client.c, src/lib-storage/index/pop3c
8388
/pop3c-mail.c, src/lib-storage/index/pop3c/pop3c-settings.c, src
8389
/lib-storage/index/pop3c/pop3c-storage.c, src/lib-
8390
storage/index/pop3c/pop3c-sync.c, src/lib-storage/index/raw/raw-
8391
mail.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
8392
storage/index/raw/raw-sync.c, src/lib-storage/index/shared/shared-
8393
list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
8394
storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
8395
list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
8396
/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
8397
list-index-backend.c, src/lib-storage/list/mailbox-list-index-
8398
iter.c, src/lib-storage/list/mailbox-list-index-notify.c, src/lib-
8399
storage/list/mailbox-list-index-status.c, src/lib-storage/list
8400
/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
8401
index.c, src/lib-storage/list/mailbox-list-iter.c, src/lib-
8402
storage/list/mailbox-list-maildir-iter.c, src/lib-storage/list
8403
/mailbox-list-maildir.c, src/lib-storage/list/mailbox-list-none.c,
8404
src/lib-storage/list/mailbox-list-notify-tree.c, src/lib-
8405
storage/list/mailbox-list-subscriptions.c, src/lib-storage/list
8406
/subscription-file.c, src/lib-storage/mail-copy.c, src/lib-storage
8407
/mail-error.c, src/lib-storage/mail-namespace.c, src/lib-storage
8408
/mail-search-build.c, src/lib-storage/mail-search-parser-cmdline.c,
8409
src/lib-storage/mail-search-parser-imap.c, src/lib-storage/mail-
8410
search-parser.c, src/lib-storage/mail-search-register-human.c, src
8411
/lib-storage/mail-search-register-imap.c, src/lib-storage/mail-
8412
search-register.c, src/lib-storage/mail-search.c, src/lib-storage
8413
/mail-storage-hooks.c, src/lib-storage/mail-storage-service.c, src
8414
/lib-storage/mail-storage-settings.c, src/lib-storage/mail-
8415
storage.c, src/lib-storage/mail-thread.c, src/lib-storage/mail-
8416
user.c, src/lib-storage/mail.c, src/lib-storage/mailbox-get.c, src
8417
/lib-storage/mailbox-guid-cache.c, src/lib-storage/mailbox-header.c,
8418
src/lib-storage/mailbox-keywords.c, src/lib-storage/mailbox-list-
8419
notify.c, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
8420
search-result.c, src/lib-storage/mailbox-tree.c, src/lib-storage
8421
/mailbox-uidvalidity.c, src/lib-storage/test-mailbox-get.c, src/lib-
8422
test/test-common.c, src/lib/abspath.c, src/lib/aqueue.c,
8423
src/lib/array.c, src/lib/askpass.c, src/lib/backtrace-string.c,
8424
src/lib/base64.c, src/lib/bsearch-insert-pos.c, src/lib/buffer.c,
8425
src/lib/child-wait.c, src/lib/compat.c, src/lib/connection.c,
8426
src/lib/crc32.c, src/lib/data-stack.c, src/lib/eacces-error.c,
8427
src/lib/env-util.c, src/lib/execv-const.c, src/lib/failures.c,
8428
src/lib/fd-close-on-exec.c, src/lib/fd-set-nonblock.c, src/lib
8429
/fdatasync-path.c, src/lib/fdpass.c, src/lib/file-cache.c, src/lib
8430
/file-copy.c, src/lib/file-dotlock.c, src/lib/file-lock.c, src/lib
8431
/file-set-size.c, src/lib/guid.c, src/lib/hash-format.c, src/lib
8432
/hash-method.c, src/lib/hash.c, src/lib/hash2.c, src/lib/hex-
8433
binary.c, src/lib/hex-dec.c, src/lib/home-expand.c,
8434
src/lib/hostpid.c, src/lib/imem.c, src/lib/ioloop-epoll.c, src/lib
8435
/ioloop-notify-dn.c, src/lib/ioloop-notify-fd.c, src/lib/ioloop-
8436
notify-inotify.c, src/lib/ioloop-notify-none.c, src/lib/ioloop-
8437
poll.c, src/lib/ioloop-select.c, src/lib/ioloop.c, src/lib/iostream-
8438
rawlog.c, src/lib/iostream-temp.c, src/lib/iostream.c,
8439
src/lib/ipwd.c, src/lib/iso8601-date.c, src/lib/istream-
8440
base64-decoder.c, src/lib/istream-base64-encoder.c, src/lib/istream-
8441
chain.c, src/lib/istream-concat.c, src/lib/istream-crlf.c, src/lib
8442
/istream-data.c, src/lib/istream-file.c, src/lib/istream-jsonstr.c,
8443
src/lib/istream-limit.c, src/lib/istream-mmap.c, src/lib/istream-
8444
rawlog.c, src/lib/istream-seekable.c, src/lib/istream-sized.c,
8445
src/lib/istream-tee.c, src/lib/istream.c, src/lib/json-parser.c,
8446
src/lib/lib-signals.c, src/lib/lib.c, src/lib/mempool-alloconly.c,
8447
src/lib/mempool-datastack.c, src/lib/mempool-system.c, src/lib
8448
/mempool-unsafe-datastack.c, src/lib/mempool.c, src/lib/mkdir-
8449
parents.c, src/lib/mmap-anon.c, src/lib/mmap-util.c, src/lib/module-
8450
dir.c, src/lib/mountpoint.c, src/lib/net.c, src/lib/nfs-
8451
workarounds.c, src/lib/numpack.c, src/lib/ostream-buffer.c, src/lib
8452
/ostream-file.c, src/lib/ostream-rawlog.c, src/lib/ostream.c,
8453
src/lib/primes.c, src/lib/printf-format-fix.c, src/lib/priorityq.c,
8454
src/lib/process-title.c, src/lib/randgen.c, src/lib/read-full.c,
8455
src/lib/restrict-access.c, src/lib/restrict-process-size.c, src/lib
8456
/safe-memset.c, src/lib/safe-mkdir.c, src/lib/safe-mkstemp.c,
8457
src/lib/sendfile-util.c, src/lib/seq-range-array.c, src/lib/str-
8458
find.c, src/lib/str-sanitize.c, src/lib/str.c, src/lib/strescape.c,
8459
src/lib/strfuncs.c, src/lib/strnum.c, src/lib/test-aqueue.c, src/lib
8460
/test-array.c, src/lib/test-base64.c, src/lib/test-bsearch-insert-
8461
pos.c, src/lib/test-buffer.c, src/lib/test-crc32.c, src/lib/test-
8462
hash-format.c, src/lib/test-hex-binary.c, src/lib/test-
8463
iso8601-date.c, src/lib/test-istream-base64-decoder.c, src/lib/test-
8464
istream-base64-encoder.c, src/lib/test-istream-concat.c, src/lib
8465
/test-istream-crlf.c, src/lib/test-istream-seekable.c, src/lib/test-
8466
istream-tee.c, src/lib/test-json-parser.c, src/lib/test-lib.c,
8467
src/lib/test-llist.c, src/lib/test-mempool-alloconly.c, src/lib
8468
/test-network.c, src/lib/test-numpack.c, src/lib/test-ostream-
8469
file.c, src/lib/test-primes.c, src/lib/test-priorityq.c, src/lib
8470
/test-seq-range-array.c, src/lib/test-str-find.c, src/lib/test-str-
8471
sanitize.c, src/lib/test-strescape.c, src/lib/test-strfuncs.c,
8472
src/lib/test-time-util.c, src/lib/test-unichar.c, src/lib/test-utc-
8473
mktime.c, src/lib/test-var-expand.c, src/lib/time-util.c,
8474
src/lib/unichar.c, src/lib/unix-socket-create.c, src/lib/unlink-
8475
directory.c, src/lib/unlink-old-files.c, src/lib/uri-util.c, src/lib
8476
/utc-mktime.c, src/lib/utc-offset.c, src/lib/var-expand.c, src/lib
8477
/write-full.c, src/lmtp/client.c, src/lmtp/commands.c, src/lmtp
8478
/lmtp-proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/main.c, src/log
8479
/doveadm-connection.c, src/log/log-connection.c, src/log/log-error-
8480
buffer.c, src/log/log-settings.c, src/log/main.c, src/login-common
8481
/access-lookup.c, src/login-common/client-common-auth.c, src/login-
8482
common/client-common.c, src/login-common/login-proxy-state.c, src
8483
/login-common/login-proxy.c, src/login-common/login-settings.c, src
8484
/login-common/main.c, src/login-common/sasl-server.c, src/login-
8485
common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c, src
8486
/login-common/ssl-proxy.c, src/master/capabilities-posix.c,
8487
src/master/dup2-array.c, src/master/main.c, src/master/master-
8488
settings.c, src/master/service-anvil.c, src/master/service-listen.c,
8489
src/master/service-log.c, src/master/service-monitor.c, src/master
8490
/service-process-notify.c, src/master/service-process.c,
8491
src/master/service.c, src/plugins/acl/acl-api.c, src/plugins/acl
8492
/acl-backend-vfile-acllist.c, src/plugins/acl/acl-backend-vfile.c,
8493
src/plugins/acl/acl-backend.c, src/plugins/acl/acl-cache.c,
8494
src/plugins/acl/acl-lookup-dict.c, src/plugins/acl/acl-mailbox-
8495
list.c, src/plugins/acl/acl-mailbox.c, src/plugins/acl/acl-plugin.c,
8496
src/plugins/acl/acl-shared-storage.c, src/plugins/acl/acl-storage.c,
8497
src/plugins/acl/doveadm-acl.c, src/plugins/autocreate/autocreate-
8498
plugin.c, src/plugins/expire/doveadm-expire.c, src/plugins/expire
8499
/expire-plugin.c, src/plugins/expire/expire-set.c, src/plugins/fts-
8500
lucene/doveadm-fts-lucene.c, src/plugins/fts-lucene/fts-backend-
8501
lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins
8502
/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-
8503
solr.c, src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-solr
8504
/solr-connection.c, src/plugins/fts-squat/fts-backend-squat.c,
8505
src/plugins/fts-squat/fts-squat-plugin.c, src/plugins/fts-squat
8506
/squat-test.c, src/plugins/fts-squat/squat-trie.c, src/plugins/fts-
8507
squat/squat-uidlist.c, src/plugins/fts/doveadm-dump-fts-expunge-
8508
log.c, src/plugins/fts/doveadm-fts.c, src/plugins/fts/fts-api.c,
8509
src/plugins/fts/fts-build-mail.c, src/plugins/fts/fts-expunge-log.c,
8510
src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-parser-html.c,
8511
src/plugins/fts/fts-parser-script.c, src/plugins/fts/fts-parser.c,
8512
src/plugins/fts/fts-plugin.c, src/plugins/fts/fts-search-
8513
serialize.c, src/plugins/fts/fts-search.c, src/plugins/fts/fts-
8514
storage.c, src/plugins/fts/xml2text.c, src/plugins/imap-acl/imap-
8515
acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
8516
src/plugins/imap-stats/imap-stats-plugin.c, src/plugins/imap-zlib
8517
/imap-zlib-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
8518
src/plugins/listescape/listescape-plugin.c, src/plugins/mail-log
8519
/mail-log-plugin.c, src/plugins/mailbox-alias/mailbox-alias-
8520
plugin.c, src/plugins/notify/notify-plugin.c, src/plugins/notify
8521
/notify-storage.c, src/plugins/pop3-migration/pop3-migration-
8522
plugin.c, src/plugins/quota/doveadm-quota.c, src/plugins/quota
8523
/quota-count.c, src/plugins/quota/quota-dict.c, src/plugins/quota
8524
/quota-dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota
8525
/quota-maildir.c, src/plugins/quota/quota-plugin.c,
8526
src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
8527
src/plugins/replication/replication-plugin.c, src/plugins/snarf
8528
/snarf-plugin.c, src/plugins/stats/stats-connection.c,
8529
src/plugins/stats/stats-plugin.c, src/plugins/trash/trash-plugin.c,
8530
src/plugins/virtual/virtual-config.c, src/plugins/virtual/virtual-
8531
mail.c, src/plugins/virtual/virtual-plugin.c, src/plugins/virtual
8532
/virtual-save.c, src/plugins/virtual/virtual-search.c,
8533
src/plugins/virtual/virtual-storage.c, src/plugins/virtual/virtual-
8534
sync.c, src/plugins/virtual/virtual-transaction.c, src/plugins/zlib
8535
/zlib-plugin.c, src/pop3-login/client-authenticate.c,
8536
src/pop3-login/client.c, src/pop3-login/pop3-login-settings.c,
8537
src/pop3-login/pop3-proxy.c, src/pop3/main.c,
8538
src/pop3/pop3-client.c, src/pop3/pop3-commands.c,
8539
src/pop3/pop3-settings.c, src/replication/aggregator/aggregator-
8540
settings.c, src/replication/aggregator/aggregator.c,
8541
src/replication/aggregator/notify-connection.c,
8542
src/replication/aggregator/replicator-connection.c,
8543
src/replication/replicator/doveadm-connection.c,
8544
src/replication/replicator/notify-connection.c,
8545
src/replication/replicator/replicator-brain.c,
8546
src/replication/replicator/replicator-queue.c,
8547
src/replication/replicator/replicator-settings.c,
8548
src/replication/replicator/replicator.c, src/ssl-params/main.c, src
8549
/ssl-params/ssl-params-openssl.c, src/ssl-params/ssl-params-
8550
settings.c, src/ssl-params/ssl-params.c, src/stats/client-export.c,
8551
src/stats/client.c, src/stats/global-memory.c, src/stats/mail-
8552
command.c, src/stats/mail-domain.c, src/stats/mail-ip.c, src/stats
8553
/mail-server-connection.c, src/stats/mail-session.c, src/stats/mail-
8554
stats.c, src/stats/mail-user.c, src/stats/main.c, src/stats/stats-
8555
settings.c, src/util/gdbhelper.c, src/util/maildirlock.c,
8556
src/util/rawlog.c, src/util/script-login.c, src/util/script.c,
8557
src/util/tcpwrap-settings.c, src/util/tcpwrap.c:
8558
Updated copyright notices to include year 2013.
8561
* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
8562
/fts-backend-solr.c, src/plugins/fts-solr/fts-solr-plugin.c,
8563
src/plugins/fts-solr/fts-solr-plugin.h:
8564
fts-solr: Deinit solr connection at plugin unload.
8567
2013-02-01 Timo Sirainen <tss@iki.fi>
8569
* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
8570
/fts-backend-solr.c:
8571
fts-solr: Reverted previous change, it only crashes. The plugin is
8572
already unloaded at lib_atexit() time.
8575
* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
8576
/fts-backend-solr.c:
8577
fts-solr: Free the solr_connection at exit.
8580
2013-02-01 Stephan Bosch <stephan@rename-it.nl>
8582
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
8583
host.c, src/lib-http/http-client-peer.c, src/lib-http/http-client-
8584
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
8585
client.c, src/lib-http/http-client.h, src/lib-http/test-http-
8587
lib-http: Various bugfixes
8590
2013-02-01 Timo Sirainen <tss@iki.fi>
8592
* src/auth/auth-settings.c, src/auth/auth-settings.h:
8593
auth: first/last_valid_uid settings shouldn't have had auth_ prefix.
8596
2013-01-31 Timo Sirainen <tss@iki.fi>
8598
* src/lib/ostream.c:
8599
ostream: If stream is closed with stream_errno=0, set it to EPIPE.
8602
* src/lib/ostream.c:
8603
ostream: Default seek&write_at implementations should fail with
8607
* src/replication/replicator/doveadm-connection.c:
8608
replicator: Don't try to reuse doveadm connections (and have them
8612
* src/plugins/replication/replication-plugin.c:
8613
replicator plugin: Use non-blocking open for the replicator fifo.
8614
This fixes an infinite hang if the replicator process isn't running.
8617
* src/replication/replicator/doveadm-connection.c:
8618
replicator: Use locking when running dsync.
8621
* src/replication/replicator/replicator-brain.c:
8622
replicator: Crashfix at deinit
8625
* src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
8627
dsync: More fixes to merging flag/keyword changes.
8630
* src/doveadm/doveadm-mail-fetch.c:
8631
doveadm fetch: Added "modseq" field.
8634
* src/doveadm/dsync/dsync-mail.h, src/doveadm/dsync/dsync-mailbox-
8635
export.c, src/doveadm/dsync/dsync-mailbox-import.c:
8636
dsync: Fixed syncing message keywords. "add" and "final" can't be
8637
mixed together always without causing keywords to be added back
8641
* src/doveadm/dsync/dsync-mailbox-import.c:
8642
dsync: If both local and remote have the same message flags, don't
8646
* src/doveadm/dsync/dsync-mailbox-import.c:
8647
dsync: When we know that remote does a flag update, try to guess the
8648
remote's new modseq and set it
8651
* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
8652
dsync: If mailbox UIDVALIDITY is 0, sync it to assign it instead of
8656
* src/doveadm/dsync/dsync-mailbox-import.c:
8657
dsync: Fixed syncing keyword removals.
8660
* src/doveadm/dsync/doveadm-dsync.c:
8661
dsync: Increased "remote cmd exit wait" from 5 to 30 seconds.
8664
* src/doveadm/dsync/dsync-mailbox-import.c:
8665
dsync: Ignore GUID mismatch on expunged message pair.
8668
* src/doveadm/dsync/doveadm-dsync.c:
8669
dsync: If remote command child process doesn't die at exit, kill -9
8673
2013-01-30 Timo Sirainen <tss@iki.fi>
8675
* src/auth/mech-gssapi.c:
8676
auth: Fixed compiling GSSAPI after recent changes.
8679
* src/auth/auth-fields.c, src/auth/auth-fields.h, src/auth/auth-
8680
master-connection.c, src/auth/auth-request-handler.c, src/auth/auth-
8681
request.c, src/auth/auth-request.h, src/auth/auth-settings.c,
8682
src/auth/auth-settings.h, src/auth/auth-worker-client.c,
8683
src/auth/auth.c, src/auth/auth.h, src/auth/mech-gssapi.c, src/auth
8685
auth: Added passdb { result_* and skip } settings.
8687
passdb { skip = never | authenticated | unauthenticated } can be
8688
used to skip over a passdb lookup based on previous passdb lookups.
8690
passdb { result_success, result_failure, result_internalfail } can
8691
be used to specify what to do on those conditions. Choices as
8692
continue, continue-ok, continue-fail, return, return-ok, return-
8694
-fail variants update the current "success" flag, while
8695
continue/return uses the current flag. The authentication succeeds
8696
only if the success flag is set after the last lookup. The continue
8697
variants continue to the next passdb, while return variants finish
8698
the lookup immediately.
8701
* src/auth/auth-request.c:
8702
auth: Code cleanup: Renamed some fields used in internal
8703
communication with worker.
8706
* src/auth/auth-worker-client.c:
8707
auth: Auth requests' flag fields were never passed to worker
8711
* src/auth/auth-request-handler.c:
8712
auth: Fixed login USER reply broken by recent changes.
8715
* src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth
8716
/auth-request.h, src/auth/auth-worker-client.c, src/auth/db-
8717
checkpassword.c, src/auth/mech-gssapi.c, src/auth/passdb-dict.c,
8718
src/auth/passdb-ldap.c, src/auth/passdb-sql.c:
8719
auth: Cleaned up flags in auth request. Removed those that already
8720
exist in extra_fields. It's now slightly slower to check for those
8721
flags in extra_fields, but it's going to be easier to make
8722
commit/rollback feature to extra_fields.
8725
* src/auth/auth-fields.c, src/auth/auth-fields.h:
8726
auth: Allocate auth-fields array lazily. Also some naming cleanups.
8729
* src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth
8730
/auth-fields.c, src/auth/auth-fields.h, src/auth/auth-master-
8731
connection.c, src/auth/auth-postfix-connection.c, src/auth/auth-
8732
request-handler.c, src/auth/auth-request.c, src/auth/auth-request.h,
8733
src/auth/auth-stream.c, src/auth/auth-stream.h, src/auth/auth-
8734
worker-client.c, src/auth/db-checkpassword.c, src/auth/passdb-
8735
blocking.c, src/auth/userdb-blocking.c, src/auth/userdb.h:
8736
auth: Code cleanup: Renamed auth-stream to auth-fields.
8739
* src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
8740
src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
8741
stream.c, src/auth/auth-stream.h, src/auth/auth-worker-client.c,
8742
src/auth/db-checkpassword.c, src/auth/userdb-blocking.c:
8743
auth: Code cleanup: Merged extra_cache_fields into extra_fields.
8744
They are separated using a hidden-flag in the extra field. This
8745
required a new implementation for auth-streams.
8748
* src/auth/auth-stream.c, src/auth/auth-stream.h:
8749
auth: Code cleanup: Minor auth_stream API simplifications.
8752
* src/auth/auth-client-connection.c, src/auth/auth-master-
8753
connection.c, src/auth/auth-master-connection.h, src/auth/auth-
8754
request-handler.c, src/auth/auth-request-handler.h, src/auth/auth-
8755
request.c, src/auth/auth-request.h:
8756
auth: Code cleanup: Avoid using auth_stream_reply as temporary
8760
* src/auth/auth-request-handler.c, src/auth/auth-request.h:
8761
auth: Code cleanup: Removed unnecessary userdb_ prefix checks. The
8762
userdb_ fields are nowadays placed to userdb_reply immediately.
8765
* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
8766
stream.c, src/auth/auth-stream.h, src/auth/auth-worker-client.c,
8767
src/auth/auth-worker-server.c, src/auth/auth-worker-server.h,
8768
src/auth/passdb-blocking.c, src/auth/userdb-blocking.c:
8769
auth: Code cleanup: Removed unnecessary auth_stream_reply usage from
8770
auth-worker communication.
8773
* src/auth/auth-request.c, src/auth/auth-stream.c, src/auth/auth-
8775
auth: Code cleanup - removed auth_stream_split()
8778
2013-01-29 Timo Sirainen <tss@iki.fi>
8781
README: Added RFC 6851
8784
2013-01-28 Timo Sirainen <tss@iki.fi>
8786
* src/lib-storage/mail-storage.c:
8787
lib-storage: Allow mail_storage_copy_error() with the same source
8788
and dest. If it was used without checking it would try to free the
8789
error string and after that strdup() it.
8792
* src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-mail.h,
8793
src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
8795
dsync: When syncing locally, mailbox_copy() the mail to attempt a
8799
* src/doveadm/dsync/dsync-ibc-pipe.c:
8800
dsync: Fixed syncing locally when GUIDs weren't available.
8803
2013-01-24 Timo Sirainen <tss@iki.fi>
8805
* src/lib-storage/index/index-storage.c:
8806
lib-storage: Fixed mailbox_exists() for LAYOUT=index.
8809
2013-01-22 Timo Sirainen <tss@iki.fi>
8811
* src/doveadm/dsync/dsync-brain-mailbox.c:
8812
dsync: Error handling crashfix
8815
* src/lib-storage/index/imapc/imapc-storage.c:
8816
imapc: Handle mailbox_update() when possible, instead of always just
8820
* src/lib-storage/index/imapc/imapc-mail.c:
8821
imapc: Return INTERNALDATE as save-date (better than error).
8824
* src/lib-storage/index/imapc/imapc-storage.c:
8825
imapc: Avoid unnecessarily selecting a mailbox when looking up its
8829
2013-01-21 Timo Sirainen <tss@iki.fi>
8831
* src/doveadm/dsync/dsync-ibc-pipe.c, src/lib-storage/index/index-
8833
Increased initial memory pool sizes.
8836
* src/doveadm/dsync/dsync-mailbox-import.c:
8837
dsync: Added a quick way to debug unexpected changes.
8840
* src/doveadm/dsync/dsync-mailbox-import.c:
8841
dsync: Fixes to handling storage formats that don't use 128bit
8845
* src/lib-dict/dict-cdb.c:
8846
dict-cdb: Handle cdb_read() errors.
8849
* configure.ac, src/dict/main.c, src/lib-dict/Makefile.am, src/lib-
8850
dict/dict-cdb.c, src/lib-dict/dict-private.h:
8851
dict: Added support for cdb backend. Based on patch by Hleb
8855
* src/doveadm/dsync/dsync-mailbox-import.c:
8856
dsync: Fixed infinite loop when message suddenly got expunged.
8859
* src/lib-index/mail-index-transaction-sort-appends.c, src/lib-index
8860
/mail-index-transaction-update.c:
8861
lib-index: Fixed sorting appended messages when some were assigned
8865
* src/doveadm/dsync/dsync-mailbox-import.c:
8866
dsync: If remote doesn't send some message bodies, log an error
8867
about each one separately.
8870
* src/doveadm/dsync/dsync-mailbox-import.c:
8871
dsync backup: Old unwanted messages weren't deleted as they should
8875
* src/lib-index/mail-transaction-log-view.c:
8876
lib-index: mail_transaction_log_view_set_all() didn't necessarily
8880
* src/doveadm/dsync/dsync-transaction-log-scan.c:
8881
dsync: GUIDs weren't set properly to expunge records, causing non-
8885
* src/doveadm/dsync/dsync-mailbox-import.c:
8886
dsync: Fixed crashes when sending already expunged messages.
8889
* src/doveadm/dsync/dsync-mailbox-import.c:
8890
dsync: Verify messages' GUIDs better.
8893
* src/doveadm/dsync/doveadm-dsync.c:
8894
dsync: Fixed syncing to non-remote locations.
8897
* src/lib-fs/Makefile.am, src/lib-fs/fs-api-private.h, src/lib-fs/fs-
8898
api.c, src/lib-fs/fs-metawrap.c, src/lib-fs/istream-metawrap.c, src
8899
/lib-fs/istream-metawrap.h:
8900
lib-fs: Added "metawrap" wrapper to implement metadata as headers in
8904
* src/lib/istream.c:
8905
i_stream_read_next_line() should have also set eof=TRUE on ENOBUFS
8909
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
8910
posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c:
8911
lib-fs: fs_file_path() is now a virtual function. This fixes it
8912
returning the correct filename when file was created using
8913
FS_OPEN_MODE_CREATE_UNIQUE_128 and a wrapper fs.
8916
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
8917
api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs
8918
/fs-sis.c, src/lib-fs/fs-test.c:
8919
lib-fs: Added flags to iteration, and FS_ITER_FLAG_DIRS as the first
8923
2013-01-17 Timo Sirainen <tss@iki.fi>
8925
* src/doveadm/doveadm-mail.h:
8926
doveadm: Compiling fix
8929
2013-01-16 Timo Sirainen <tss@iki.fi>
8931
* src/lib-storage/index/dbox-single/sdbox-sync.c:
8932
sdbox: Fixed rebuilding index when UIDVALIDITY is missing.
8935
* src/lib-storage/index/index-rebuild.c:
8936
sdbox: next-uid may have been set wrong when rebuilding indexes for
8940
* src/doveadm/doveadm-settings.c:
8941
dsync_remote_cmd: The -l parameter no longer exists.
8944
2013-01-15 Timo Sirainen <tss@iki.fi>
8946
* src/lib-index/mail-index-transaction-update.c:
8947
lib-index: Newly added messages weren't always sorted by UIDs.
8950
* Makefile.am, configure.ac:
8951
dovecot-config: Removed unnecessary/duplicate ssl library links.
8954
2013-01-14 Timo Sirainen <tss@iki.fi>
8956
* src/lib-index/mail-index-transaction-finish.c:
8957
lib-index: Added asserts.
8960
* src/lib-index/mail-transaction-log-file.c:
8961
lib-index: Fixed marking transaction log file corrupted due to added
8965
* src/doveadm/doveadm-auth.c:
8966
doveadm user: Avoid initializing the user as much as possible.
8969
* doc/example-config/conf.d/10-mail.conf:
8970
example-config: Added mail_attribute_dict
8973
* src/auth/db-passwd-file.c, src/doveadm/dsync/doveadm-dsync.c,
8974
src/doveadm/server-connection.c, src/lib-lda/lmtp-client.c,
8975
src/plugins/acl/acl-backend-vfile.c, src/plugins/fts/fts-indexer.c,
8976
src/plugins/fts/fts-parser-script.c:
8977
Several fixes to handling "istream input line too long" conditions.
8980
* src/lib/istream.c, src/lib/istream.h:
8981
i_stream_read_next_line() now sets stream_errno=ENOBUFS if input
8982
buffer gets full. Previously the caller couldn't easily separate
8983
this condition from "more data needed", potentially causing infinite
8987
2013-01-13 Timo Sirainen <tss@iki.fi>
8989
* src/doveadm/client-connection.c:
8990
doveadm: Increased doveadm client's max command line length.
8993
2013-01-11 Timo Sirainen <tss@iki.fi>
8995
* src/lib-imap-storage/imap-msgpart.c:
8996
lib-imap-storage: Removed broken optimization for seeking to partial
8997
offset. The optimization worked only when physical_start=0. It would
8998
have been possible to fix it by finding the message_part where its
8999
header of body offset is physical_start and only then start
9000
decreasing virtual_skip, but probably too much complexity to be
9001
worth the trouble, especially since clients rarely would benefit
9002
from this optimization.
9005
* src/lib-imap-storage/imap-msgpart.c, src/lib-imap-storage/imap-
9007
lib-imap-storage: Added imap_msgpart_get_partial_size() missing from
9011
* src/imap/imap-fetch-body.c:
9012
imap: Improved unexpected FETCH error messages.
9015
2013-01-10 Timo Sirainen <tss@iki.fi>
9017
* src/doveadm/dsync/doveadm-dsync.c:
9018
dsync: Added "remoteprefix:" destination, which is same as "remote:"
9019
except sends "username\n" prefix.
9022
* src/doveadm/dsync/doveadm-dsync.c:
9023
dsync: Wait for remote command to finish before shutting down. This
9024
makes sure that any error messages during deinit stage are logged.
9025
Also non-zero exit codes are logged.
9028
* src/doveadm/dsync/doveadm-dsync.c:
9029
dsync server: Fixed crash at deinit
9032
* src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-ibc-pipe.c,
9033
src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-
9034
stream.c, src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-
9036
dsync: Close mail streams earlier on failures to avoid assert-
9040
* src/lib-storage/mailbox-list.c:
9041
lib-storage: Maildir++ layout shouldn't disallow "cur", "new" or
9042
"tmp" mailbox names.
9045
* src/lib-storage/mailbox-list.c:
9046
lib-storage: Improved "Using permissions" debug message.
9049
* src/doveadm/dsync/doveadm-dsync.c:
9050
dsync: Added support back for dsync locking. Only the source
9051
directory is now locked to avoid deadlocks when both source and
9052
destination are locked. This of course now means that both source
9053
and destination is allowed to run dsync at the same time, which
9054
isn't ideal either..
9057
* src/doveadm/dsync/dsync-mailbox-export.c:
9058
dsync: Attempt to preserve \Recent flag as well
9061
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
9062
dsync: Handle syncing mailboxes with same name but different GUIDs.
9065
* src/doveadm/doveadm-settings.c, src/doveadm/dsync/doveadm-dsync.c:
9066
dsync: Removed unnecessary -n parameter from dsync-server. The
9067
setting is sent within dsync protocol.
9070
* src/replication/replicator/doveadm-connection.c,
9071
src/replication/replicator/doveadm-connection.h,
9072
src/replication/replicator/replicator-brain.c,
9073
src/replication/replicator/replicator-queue.c,
9074
src/replication/replicator/replicator-queue.h:
9075
replicator: Use stateful dsyncing whenever possible.
9078
* src/replication/replicator/doveadm-connection.c:
9079
replicator: doveadm connections weren't reset properly
9082
* src/doveadm/dsync/dsync-mailbox-state.c:
9083
dsync: Fixed parsing state string.
9086
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
9087
mdbox: Crashfix for storage rebuild
9090
* src/doveadm/dsync/doveadm-dsync.c:
9091
dsync: Fixed printing output state when running via doveadm-server.
9094
* src/doveadm/doveadm-print.c:
9095
doveadm: Added assert.
9098
2013-01-09 Timo Sirainen <tss@iki.fi>
9100
* src/doveadm/dsync/dsync-mailbox-import.c:
9101
dsync: Another fix to handling expunges from the end of mailbox.
9104
* src/doveadm/dsync/dsync-mailbox-import.c:
9105
dsync: Mailbox syncing fix
9108
* src/doveadm/dsync/dsync-mailbox-import.c:
9109
dsync: Error handling fix.
9112
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
9113
Merged changes from v2.1 tree.
9116
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
9117
mdbox rebuild: Update to previous commit
9120
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
9121
mdbox rebuild: Don't always duplicate messages that have conflicting
9125
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
9126
mdbox rebuild: Use mail size instead of record size when guessing if
9127
the mails are the same.
9130
* src/doveadm/dsync/dsync-mailbox-import.c:
9131
dsync: Fixed handling UID renumbering when new mail was saved during
9135
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
9136
mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
9137
dsync: Don't wrongly log errors about missing message bodies. Also
9138
added some debug logging related to it.
9141
* src/lib/ostream-file.c:
9142
o_stream_send_istream(): Fixed copying within same file, when
9143
istream's size is unknown. This fixes copying a mail from mdbox's
9144
m.* file to the end of the same file.
9147
* src/lib-index/mail-index.h:
9148
lib-index: Comment update
9151
* .hgsigs, .hgtags, NEWS, configure.ac, src/lib-storage/index/dbox-
9152
common/dbox-file.c, src/lib-storage/index/dbox-multi/mdbox-save.c,
9153
src/lib-storage/index/index-mail.c, src/lib/buffer.c, src/lib/net.c:
9154
Merged changes from v2.1 tree.
9157
* src/lib-storage/index/dbox-multi/mdbox-save.c:
9158
mdbox: Allow reflink-copying a mail when wanted GUID matches the
9162
* src/lib-storage/index/index-mail.c:
9163
lib-storage: dest_mail wasn't reset if previous save was aborted.
9164
This could have happened only with dsync.
9167
* src/lib-storage/index/dbox-common/dbox-file.c:
9168
dbox: Give a name to the file's output stream (for improved error
9172
2013-01-08 Timo Sirainen <tss@iki.fi>
9175
DEBUG: buffer_verify_pool() crashed with empty buffer.
9179
DEBUG: buffer_verify_pool() crashed with static sized buffers.
9183
run-test.sh didn't exit with failure code when the test failed
9186
* src/lib/network.c:
9187
net_connect_unix(): If path is too long, return ENAMETOOLONG if it's
9191
2013-01-07 Timo Sirainen <tss@iki.fi>
9194
Added signature for changeset cf9d62fd0b14
9198
Added tag 2.1.13 for changeset cf9d62fd0b14
9201
* NEWS, configure.in:
9203
[cf9d62fd0b14] [2.1.13]
9205
2013-01-08 Timo Sirainen <tss@iki.fi>
9207
* src/doveadm/dsync/doveadm-dsync.c:
9208
dsync: Make remote's stderr fd nonblocking to avoid hanging.
9211
* src/doveadm/dsync/doveadm-dsync.c:
9212
dsync: Fixes to printing remote's stderr output.
9215
* src/doveadm/dsync/doveadm-dsync.c:
9216
dsync: Print remote's stderr line-buffered. Especially when
9217
debugging is enabled there can be a lot of output, which makes this
9221
* src/doveadm/dsync/dsync-brain-mails.c, src/doveadm/dsync/dsync-
9222
brain.c, src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync
9223
/dsync-ibc-private.h, src/doveadm/dsync/dsync-ibc-stream.c,
9224
src/doveadm/dsync/dsync-ibc.c, src/doveadm/dsync/dsync-ibc.h:
9225
dsync: Fixes to handling output stream buffering.
9228
* src/replication/replicator/doveadm-connection.c:
9229
replicator: Send only one sync command to doveadm-server per
9230
connection. This fixes setuid()/setgid() problems when multiple UIDs
9234
* src/doveadm/dsync/dsync-ibc-stream.c:
9235
dsync: Minor fix for talking with remote dsync.
9238
* src/doveadm/dsync/dsync-mailbox-import.c:
9239
dsync: Crashfix for handling expunges from end of mailbox.
9242
* src/doveadm/dsync/dsync-mailbox-import.c:
9243
dsync: Fixed syncing expunge for last mail in mailbox.
9246
* src/doveadm/dsync/dsync-mailbox-import.c:
9247
dsync: Avoid updating modseqs unnecessarily. lib-index perhaps
9248
should do this automatically as well.
9251
* src/doveadm/dsync/dsync-brain-mails.c:
9252
dsync: Avoid infinite looping.
9255
* src/doveadm/dsync/dsync-mailbox-export.c:
9256
dsync: Assert-crashfix for handling keywords.
9259
* src/lib-index/test-mail-transaction-log-append.c:
9260
lib-index: Fixed failing transaction log test.
9263
* src/lib-imap/test-imap-bodystructure.c:
9264
test-imap-bodystructure: Fixed the test to pass with new imap-quote
9269
run-test.sh didn't exit with failure code when the test failed
9272
* src/lib-http/Makefile.am:
9273
Makefile: Removed test-http-client from "make check". Not really a
9274
good idea to connect to remote servers (that might fail) during a
9278
2013-01-07 Timo Sirainen <tss@iki.fi>
9281
Added signature for changeset 86bccdf46d17
9285
Added tag 2.2.beta1 for changeset 86bccdf46d17
9289
Released v2.2.beta1.
9290
[86bccdf46d17] [2.2.beta1]
9292
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
9293
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
9294
transfer-chunked.c, src/lib-http/test-http-client.c:
9295
lib-http: Various fixes Patch by Stephan Bosch.
9298
2013-01-05 Timo Sirainen <tss@iki.fi>
9300
* .hgsigs, .hgtags, Makefile.am, NEWS, configure.ac, src/auth/auth-
9301
master-connection.c, src/auth/auth-request.c, src/auth/auth-
9302
stream.c, src/auth/auth-stream.h, src/auth/db-ldap.c,
9303
src/auth/mech.c, src/auth/password-scheme.c, src/auth/userdb-
9304
passwd.c, src/config/main.c, src/doveadm/client-connection.c,
9305
src/doveadm/doveadm-mail-server.c, src/doveadm/doveadm-mail.h,
9306
src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
9307
src/doveadm/doveadm-print-table.c, src/doveadm/server-connection.c,
9308
src/imap/cmd-append.c, src/imap/cmd-copy.c, src/imap/imap-sync.c,
9309
src/indexer/master-connection.c, src/lib-auth/auth-master.c, src
9310
/lib-auth/auth-master.h, src/lib-dict/dict-file.c, src/lib-index
9311
/mail-cache-compress.c, src/lib-index/mail-cache-fields.c, src/lib-
9312
index/mail-cache-private.h, src/lib-index/mail-cache-transaction.c,
9313
src/lib-index/mail-cache.c, src/lib-index/mail-index-alloc-cache.c,
9314
src/lib-index/mail-index-transaction-view.c, src/lib-lda/mail-
9315
deliver.c, src/lib-master/mountpoint-list.c, src/lib-ssl-iostream
9316
/iostream-openssl.c, src/lib-storage/index/dbox-multi/mdbox-map.c,
9317
src/lib-storage/index/dbox-multi/mdbox-save.c, src/lib-storage/index
9318
/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/index-
9319
sync.c, src/lib-storage/index/raw/raw-mail.c, src/lib-
9320
storage/index/shared/shared-storage.c, src/lib-storage/mail-
9321
storage.h, src/lib-storage/mail-user.c, src/lib-storage/mail-user.h,
9322
src/lib-storage/mailbox-list.c, src/lib/Makefile.am,
9323
src/lib/buffer.c, src/lib/buffer.h, src/lib/mkdir-parents.c, src/lib
9324
/mkdir-parents.h, src/lib/str.c, src/lib/test-lib.c, src/lib/test-
9325
lib.h, src/lib/unichar.c, src/lib/unichar.h, src/lib/var-expand.c,
9326
src/login-common/login-proxy.c, src/login-common/ssl-proxy-
9327
openssl.c, src/plugins/acl/acl-mailbox.c, src/plugins/expire
9328
/doveadm-expire.c, src/plugins/fts-solr/fts-backend-solr-old.c,
9329
src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-solr/solr-
9330
connection.c, src/plugins/fts/fts-api-private.h, src/plugins/fts
9331
/fts-build-mail.c, src/plugins/fts/fts-parser-script.c, src/plugins
9332
/lazy-expunge/lazy-expunge-plugin.c, src/plugins/mailbox-alias
9333
/mailbox-alias-plugin.c, src/plugins/quota/quota-storage.c,
9334
src/plugins/stats/stats-plugin.c, src/plugins/virtual/virtual-
9335
config.c, src/plugins/virtual/virtual-mail.c, src/stats/mail-
9337
Merged changes from v2.1 tree.
9340
* src/auth/auth-request.c, src/auth/auth-stream.c, src/auth/auth-
9342
auth: Fixed handling usernames with the same name as userdb extra
9343
fields. This is a bit kludgy fix, but pretty much guaranteed not to
9344
break anything. v2.2 has a cleaner fix, but it's a bit more
9348
* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
9349
lazy_expunge: Allow expunging from lazy_expunge namespace via
9350
virtual mailbox. (Instead of copying the message all over again to
9351
the lazy_expunge namespace.)
9354
2013-01-04 Timo Sirainen <tss@iki.fi>
9356
* src/plugins/quota/quota-storage.c:
9357
quota: Don't crash if shared namespace's owner doesn't have quota
9358
enabled (but you have).
9361
* src/lib/Makefile.am, src/lib/test-lib.c, src/lib/test-lib.h, src/lib
9362
/test-unichar.c, src/lib/unichar.c:
9363
uni_utf8_*(): Treat overlong UTF8 sequences as invalid.
9366
* src/plugins/acl/acl-storage.c:
9367
acl: Treat empty plugin { acl } setting the same as if it didn't
9368
exist. This allows using -o plugin/acl= to disable ACLs.
9372
DEBUG: Call buffer_verify_pool() on str_c*()
9375
* src/lib/buffer.c, src/lib/buffer.h:
9376
Added buffer_verify_pool()
9379
2013-01-03 Timo Sirainen <tss@iki.fi>
9381
* src/plugins/virtual/virtual-mail.c:
9382
virtual storage: get_first_header() always returned "doesn't exist",
9383
breaking SORT/THREAD.
9386
2012-12-07 lion <lion@ubuntu.ubuntu-domain>
9388
* src/lib-index/mail-index-transaction-view.c:
9389
lib-index: Optimized single sequence lookup of newly created mails
9390
in transaction view.
9393
* src/lib-index/mail-index-transaction-view.c:
9394
lib-index: Fixed sequence lookup of newly created mails in
9398
2012-12-19 Timo Sirainen <tss@iki.fi>
9400
* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache.c:
9401
lib-index: If map_with_read gets disabled, reset the cache buffers
9405
2012-12-18 Timo Sirainen <tss@iki.fi>
9407
* src/auth/password-scheme.c:
9408
auth: Added CLEAR as yet another alias to PLAIN/CLEARTEXT password
9409
scheme. This apparently is used by Sun LDAP server.
9412
* src/lib-index/mail-cache.c:
9413
lib-index: MAIL_INDEX_OPEN_FLAG_SAVEONLY was buggy when reading data
9414
near end of dovecot.index.cache. We assumed that we read as much as
9415
we requested, even if the file was smaller.
9418
* src/lib-index/mail-cache-fields.c:
9419
lib-index: Make sure a corrupted mail_cache_header_fields.size
9420
doesn't cause crashes.
9423
* src/lib-storage/index/raw/raw-mail.c:
9424
raw storage: Make sure "from envelope" isn't returned as NULL.
9427
* src/config/main.c:
9428
config: Notify process creation success to master only after parsing
9432
* doc/example-config/Makefile.am:
9433
example-config: Added missing dovecot-dict-auth.conf.ext
9436
* src/lib-index/mail-index-alloc-cache.c:
9437
lib-index: If sure mail_index_alloc_cache_destroy_unrefed() closes
9438
indexes it alone keeps open. This makes sure that all index files
9439
are closed within process when mailbox is deleted.
9442
* src/indexer/master-connection.c:
9443
indexer-worker: Don't assert-crash with some mailbox names in some
9444
configurations. Virtual mailbox name shouldn't be accessed directly
9445
using mailbox_list_*() functions, since they expect a storage name.
9446
In some configurations this could have caused assert-crashes with
9447
mailbox names that contained invalid characters.
9451
auth: When auto-loading auth mechanisms from plugins, generate the
9455
2012-12-13 Timo Sirainen <tss@iki.fi>
9457
* src/lib-dict/dict-file.c:
9458
dict-file: Automatically mkdir missing parent directories if they
9462
* src/lib-storage/mailbox-list.c:
9463
lib-storage: Use stat_first_parent() instead of doing it ourself.
9466
* src/lib/mkdir-parents.c, src/lib/mkdir-parents.h:
9467
Added stat_first_parent() helper function.
9470
2012-12-11 Timo Sirainen <tss@iki.fi>
9472
* src/plugins/virtual/virtual-config.c:
9473
virtual plugin: Don't fail if mailbox patterns don't match anything.
9476
2012-12-08 Timo Sirainen <tss@iki.fi>
9478
* src/lib-master/mountpoint-list.c:
9479
lib-master: Ignore /Volumes and /private/tmp mountpoints with OSX
9483
* src/lib-master/mountpoint-list.c:
9484
lib-master: Ignore mountpoints under /Volumes by default.
9487
* src/doveadm/doveadm-print-table.c:
9488
doveadm: table formatter supports now writing by streaming. This
9489
fixes it to work with doveadm server, which sometimes may use
9493
* src/imap/cmd-append.c, src/imap/cmd-copy.c, src/lib-storage/mail-
9494
storage.h, src/plugins/acl/acl-mailbox.c:
9495
imap: If mailbox doesn't have read ACL, hide APPENDUID/COPYUID resp-
9499
* src/plugins/fts-solr/solr-connection.c:
9500
fts-solr: Fixed memory leak
9503
2012-11-30 Timo Sirainen <tss@iki.fi>
9506
Added signature for changeset 75bfda4a7c6c
9510
Added tag 2.1.12 for changeset 75bfda4a7c6c
9513
* NEWS, configure.in:
9515
[75bfda4a7c6c] [2.1.12]
9517
* src/doveadm/client-connection.c, src/doveadm/doveadm-mail.h,
9518
src/plugins/expire/doveadm-expire.c:
9519
expire plugin: Don't crash when doveadm is run with proxying
9522
2012-11-29 Timo Sirainen <tss@iki.fi>
9525
Makefile: dovecot-config was missing quotes in LIBDOVECOT_LOGIN
9529
Added signature for changeset 741d800a192f
9533
Added tag 2.1.11 for changeset 741d800a192f
9536
* NEWS, configure.in:
9538
[741d800a192f] [2.1.11]
9540
* src/doveadm/doveadm-print-flow.c, src/doveadm/doveadm-print-pager.c,
9541
src/doveadm/doveadm-print-tab.c:
9542
doveadm: Don't truncate printed output that contain NUL bytes.
9543
doveadm fetch text output especially could have been truncated.
9546
2012-11-28 Timo Sirainen <tss@iki.fi>
9548
* src/stats/mail-session.c:
9549
stats: Log username and service for invalid UPDATE-SESSIONs
9552
* src/plugins/stats/stats-plugin.c:
9553
stats: Fixed crash when handling multiple users within same process.
9556
* src/lib-index/mail-cache.c:
9557
lib-index: Fixed assert-crash caused by recent cache file changes.
9560
* src/lib-index/mail-cache.c:
9561
lib-index: Fixed memory leak with MAIL_INDEX_OPEN_FLAG_SAVEONLY
9564
* src/doveadm/doveadm-mail-server.c:
9565
doveadm: Log better errors for failing passdb proxy lookups.
9568
* src/lib-auth/auth-master.c, src/lib-auth/auth-master.h:
9569
lib-auth: Added auth_master_get_socket_path()
9572
2012-11-27 Timo Sirainen <tss@iki.fi>
9574
* src/plugins/fts-solr/fts-backend-solr.c:
9575
fts-solr: XML-encode non-body fields as well
9578
* src/lib-storage/index/shared/shared-storage.c:
9579
lib-storage: Handle better when attempting to access shared
9580
mailboxes for nonexistent users.
9583
* src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
9584
lib-storage: Added struct mail_user.nonexistent flag, which is
9585
filled by userdb lookup.
9588
* src/plugins/fts/fts-parser-script.c:
9589
fts_parser: Minor error logging improvement
9592
* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
9593
/dbox-multi/mdbox-storage-rebuild.c:
9594
mdbox: When rebuilding storage, fsck the map index first to make
9595
sure it's valid. This fixes assert-crash when the map index
9596
contained records with UIDs in wrong order.
9599
* src/plugins/mailbox-alias/mailbox-alias-plugin.c:
9600
mailbox-alias plugin: Error handling fix.
9603
* src/lib-index/mail-cache-private.h, src/lib-index/mail-cache-
9605
lib-index: Added v2.2+ forwards compatibility to dovecot.index.cache
9608
* src/login-common/ssl-proxy-openssl.c:
9609
login: Reverted previous fix attempt for SSL_accept() busy-looping.
9610
Apparently didn't work. Probably this patch doesn't help anything
9611
then, so just remove the extra complexity.
9614
* src/auth/userdb-passwd.c:
9615
auth: userdb passwd lookups should have been done via worker
9616
processes by default.
9619
* src/plugins/fts-solr/fts-backend-solr.c:
9620
fts-solr: Removed deprecated waitFlush parameter from commit.
9623
* src/lib/unichar.c, src/lib/unichar.h, src/plugins/fts-solr/fts-
9624
backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
9625
src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-build-mail.c,
9626
src/plugins/fts/fts-parser.c, src/plugins/fts/fts-parser.h:
9627
Reversed recent "short utf8" changes. Solr code needs to parse the
9628
UTF8 input explicitly anyway to encode the XML characters. And all
9629
the character checks were already done in it.
9632
* src/doveadm/client-connection.c:
9633
doveadm-server: Reset headers in print output between running
9637
* src/doveadm/client-connection.c:
9638
doveadm-server: Avoid eating CPU when client disconnects before
9639
authentication is done.
9642
* src/doveadm/server-connection.c:
9643
doveadm: Don't disconnect from server too early while there are
9647
* src/doveadm/doveadm-mail-server.c:
9648
doveadm: Include username in internal errors and "no such user"
9649
errors when running via server.
9652
* src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
9653
/fts-backend-solr.c:
9654
fts-solr: Marked as FTS_BACKEND_FLAG_BUILD_SHORT_UTF8
9657
* src/plugins/fts/fts-api-private.h, src/plugins/fts/fts-build-mail.c,
9658
src/plugins/fts/fts-parser.c, src/plugins/fts/fts-parser.h:
9659
fts: Added FTS_BACKEND_FLAG_BUILD_SHORT_UTF8 to require sending only
9660
short UTF8 data to backend.
9663
* src/lib/unichar.c, src/lib/unichar.h:
9664
liblib: Added uni_utf8_short_*() for handling UTF8 data where
9665
[56]-byte sequences are invalid.
9668
* src/plugins/quota/quota-storage.c:
9669
quota: mailbox_get_status(STATUS_CHECK_OVER_QUOTA) returned wrong
9670
value on success. This fixes lmtp_rcpt_check_quota=yes
9673
* doc/man/doveadm-expunge.1.in:
9674
man: Added -d parameter to doveadm expunge. Patch by Pascal Volk.
9677
2012-11-23 Timo Sirainen <tss@iki.fi>
9679
* src/login-common/ssl-proxy-openssl.c:
9680
login: Try to avoid busy-looping on SSL_accept() when client doesn't
9684
* src/auth/db-ldap.c:
9685
auth: Added a way to set default values for nonexistent LDAP
9686
attributes. %{ldap:attrName:default_value} expands to default_value
9687
if attrName doesn't exist.
9690
2012-11-07 Timo Sirainen <tss@iki.fi>
9692
* src/auth/auth-master-connection.c:
9693
auth: Give a better error message for "client doesn't have lookup
9698
Makefile: Add -lssl to installed dovecot-config's LIBDOVECOT_LOGIN
9702
* src/lib/var-expand.c:
9703
var_expand*(): Don't use a data stack frame when expanding long
9704
%{variables} This avoids potential crashes if the destination string
9705
is also allocated from data stack and requires growing.
9708
* src/lib-storage/index/dbox-multi/mdbox-save.c:
9709
mdbox: Don't leave extra records to dovecot.map.index if mailbox
9710
index locking fails. Fixes errors such as: Corrupted dbox file
9711
/mdbox/storage/m.1 (around offset=2652): EOF reading msg header (got
9715
2012-11-06 Timo Sirainen <tss@iki.fi>
9717
* src/imap/imap-sync.c:
9718
imap: Avoid sending multiple unnecessary VANISHED lines when sync
9719
had lots of changes.
9722
2012-11-05 Timo Sirainen <tss@iki.fi>
9724
* src/lib-ssl-iostream/iostream-openssl.c:
9725
lib-ssl-iostream: [io]streams were added an unnecessary reference,
9726
causing memory leaks.
9729
2012-11-04 Timo Sirainen <tss@iki.fi>
9731
* src/lib-index/mail-cache.c:
9732
lib-index: MAIL_INDEX_OPEN_FLAG_SAVEONLY may have caused stale data
9733
to be read from cache.
9736
2012-11-03 Timo Sirainen <tss@iki.fi>
9738
* src/lib-index/mail-cache.c:
9739
lib-index: Recent cache file changes broke writing.
9742
2012-10-31 Timo Sirainen <tss@iki.fi>
9745
Makefile: Add -lssl to installed dovecot-config's LIBDOVECOT_STORAGE
9749
2012-10-30 Timo Sirainen <tss@iki.fi>
9751
* src/lib-lda/mail-deliver.c, src/lib-storage/index/index-sync.c:
9752
lib-lda: Avoid doing a costly mailbox sync when delivering mail to
9753
multiple recipients.
9756
2012-10-29 Timo Sirainen <tss@iki.fi>
9758
* src/login-common/login-proxy.c:
9759
login proxy: For connect() failures log also the used local IP:port
9763
2013-01-05 Timo Sirainen <tss@iki.fi>
9765
* src/auth/auth-master-connection.c, src/auth/auth-request-handler.c,
9766
src/auth/auth-request.c:
9767
auth: Don't keep username duplicated in userdb_reply string. This
9768
fixes bugs where userdb_reply is accessed via auth_stream_*()
9769
functions that remove/replace existing fields, which may have ended
9770
up removing/replacing the username.
9773
2013-01-04 Timo Sirainen <tss@iki.fi>
9775
* doc/example-config/dovecot.conf:
9776
example-config: Added a note about protocol/local/remote {}
9780
* configure.ac, src/plugins/fts-lucene/Makefile.am:
9781
configure: Use pkg-config with clucene if available.
9784
* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
9785
storage.c, src/plugins/mail-log/mail-log-plugin.c,
9786
src/plugins/virtual/virtual-mail.c:
9787
lib-storage: Bypass virtual storage when copying mail to allow
9788
optimizations. As a side effect this also causes all plugins to see
9789
the backend mail instead of the virtual mail. This probably isn't
9790
bad in most situations, but for those where it's unwanted
9791
mail_private.vmail can be used to access the virtual mail. mail_log
9792
plugin does this to log the original virtual mailbox name for copy
9796
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
9797
brain-mails.c, src/doveadm/dsync/dsync-ibc-stream.c,
9798
src/doveadm/dsync/dsync-mail.c, src/doveadm/dsync/dsync-mail.h,
9799
src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
9800
mailbox-export.h, src/doveadm/dsync/dsync-mailbox-import.c,
9801
src/doveadm/dsync/dsync-mailbox-import.h, src/doveadm/dsync/dsync-
9802
mailbox-state.c, src/doveadm/dsync/dsync-mailbox-state.h,
9803
src/doveadm/dsync/dsync-mailbox.h, src/doveadm/dsync/dsync-
9804
transaction-log-scan.c, src/doveadm/dsync/dsync-transaction-log-
9806
dsync: Use private modseqs to support syncing private flags in
9810
* src/lib-storage/fail-mail.c, src/lib-storage/index/cydir/cydir-
9811
mail.c, src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-
9812
storage/index/dbox-multi/mdbox-storage.c, src/lib-storage/index
9813
/dbox-single/sdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-
9814
storage.c, src/lib-storage/index/imapc/imapc-mail.c, src/lib-
9815
storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
9816
/lib-storage/index/index-status.c, src/lib-storage/index/index-
9817
storage.c, src/lib-storage/index/index-storage.h, src/lib-
9818
storage/index/index-sync-pvt.c, src/lib-storage/index/maildir
9819
/maildir-mail.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
9820
storage/index/pop3c/pop3c-mail.c, src/lib-storage/index/raw/raw-
9821
mail.c, src/lib-storage/mail-storage-private.h, src/lib-storage
9822
/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
9823
storage/mail.c, src/plugins/virtual/virtual-mail.c:
9824
lib-storage: Added support for "private modseqs" for INDEXPVT index.
9825
Used by dsync (next commit).
9828
2013-01-03 Timo Sirainen <tss@iki.fi>
9830
* src/doveadm/dsync/dsync-ibc-stream.c:
9831
dsync: Fixed parsing mailbox state from remote dsync.
9834
2012-12-28 Timo Sirainen <tss@iki.fi>
9837
configure: Use -lrt for check_gettime() only if needed.
9840
2012-12-19 Timo Sirainen <tss@iki.fi>
9842
* src/lib-http/http-client-host.c:
9843
lib-http: Compile fix for previous change.
9846
* src/lib/json-parser.c:
9847
json-parser: Fixed infinite looping in some situations.
9850
* src/lib-http/http-client-host.c:
9851
lib-http: Host entries were added to hash table using wrong hostname
9855
2012-12-18 Timo Sirainen <tss@iki.fi>
9858
auth: When auto-loading auth mechanisms from plugins, generate the
9862
* src/lib-http/http-client-request.c:
9863
lib-http: Fixed a crash when http_client_request_submit() failed
9867
* src/lib/uri-util.c:
9868
uri-util: Control characters weren't properly escaped. e.g. "%0a" is
9869
correct, "% a" is not.
9872
* src/lib-storage/index/index-mail-binary.c:
9873
lib-storage: Fixed assert-crash when trying to fetch a binary
9874
section for empty message.
9877
2012-12-15 Timo Sirainen <tss@iki.fi>
9879
* src/lib-storage/index/index-sync-pvt.c:
9880
lib-storage: Refresh private index before syncing to make sure we
9884
* src/lib-storage/index/maildir/maildir-storage.c:
9885
maildir: Fixed a crash caused by previous mailbox_update() change
9888
* src/doveadm/dsync/dsync-ibc-stream.c:
9889
dsync: Minor (probably unnecessary) fix for i_stream_read() API
9890
usage. Avoid the first read returning -2.
9893
* src/doveadm/dsync/dsync-ibc-stream.c:
9894
dsync: Fixed hang when sending mail stream to remote dsync.
9897
* src/doveadm/dsync/dsync-ibc-stream.c:
9898
dsync: Fixed remote syncing due to recent changes
9901
* src/doveadm/dsync/doveadm-dsync.c:
9902
dsync: Set doveadm exit codes properly on errors.
9905
* src/lib/istream.c:
9906
i_stream_close(): Set stream_errno to EPIPE instead of ENOENT.
9907
ENOENT implies that this stream pointed to a file that never
9908
existed. EPIPE isn't perfect either, but probably clearer than the
9912
* src/lib/istream.c:
9913
i_stream_next_line(): Don't reset stream_errno if stream is already
9917
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
9918
brain-mails.c, src/doveadm/dsync/dsync-brain-private.h:
9919
dsync: Don't start reading a mailbox until we know we actually need
9923
* src/lib-storage/index/mbox/mbox-storage.c:
9924
mbox: Removed assert that caused dsync to crash. This is valid:
9926
1. dsync opened an internal transaction and locked mbox 2. dsync
9927
opened an external transaction, which didn't lock mbox 3. dsync
9928
committed internal transaction <assert crash fixed> 4. dsync locks
9929
mbox with external transaction
9932
* src/lib-storage/index/mbox/mbox-storage.c:
9933
mbox: Mailbox GUID generation re-opened the mailbox using wrong
9934
name, possibly crashing.
9937
* src/lib-storage/index/mbox/mbox-storage.c:
9938
mbox: Mailbox GUID lookup unnecessarily always synced mbox.
9941
* src/lib-storage/index/mbox/mbox-storage.c:
9942
mbox: If mailbox_update() doesn't affect the mbox file, don't sync
9946
* src/lib-storage/index/maildir/maildir-storage.c:
9947
maildir: If mailbox_update() doesn't affect dovecot-uidlist file,
9951
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
9952
mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
9953
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
9954
src/doveadm/dsync/dsync-ibc-pipe.c, src/doveadm/dsync/dsync-ibc-
9955
stream.c, src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-
9956
mailbox-tree-fill.c, src/doveadm/dsync/dsync-mailbox-tree.h:
9957
dsync: Added back support for syncing only one mailbox (-m
9961
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
9963
dsync: Error handling fix when mailbox is unexpectedly lost.
9966
2012-12-14 Timo Sirainen <tss@iki.fi>
9968
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
9969
mailbox-tree.c, src/doveadm/dsync/dsync-brain-private.h,
9970
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
9971
src/doveadm/dsync/dsync-ibc-stream.c:
9972
dsync: Added -a parameter to sync all namespaces, not just the
9976
* src/doveadm/dsync/dsync-mailbox-tree.c:
9977
dsync: Mark mailbox tree memory pool as "growing" to avoid warnings.
9980
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
9981
dsync: Fixes to creating/renaming mailboxes This gets rid of
9982
unnecessary mailbox renames when they should have simply been
9983
created. The algorithm appears to work, but again really should be
9984
fully thought out later to figure out why exactly it works. I only
9985
wanted to get it working now for other tests..
9988
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
9989
dsync: Never try to create INBOX via temporary name and rename.
9992
* src/lib-storage/mailbox-list.c:
9993
lib-storage: Fixed vname -> storage name conversion for some
9994
nonexistent mailbox names. For example prefix=INBOX/ name=INBOX-foo
9995
would have converted the name to "" instead of keeping "INBOX-foo".
9998
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
9999
mails.c, src/doveadm/dsync/dsync-brain-private.h, src/doveadm/dsync
10000
/dsync-brain.c, src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync
10001
/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.h:
10002
dsync: Added debugging and rawlogging support.
10005
* src/doveadm/dsync/dsync-ibc-stream.c:
10006
dsync: Fixed hangs with remote dsyncing
10009
2012-12-13 Timo Sirainen <tss@iki.fi>
10011
* src/lib-storage/index/dbox-common/dbox-storage.c:
10012
dbox: dbox-alt-root symlink now points to the alt root directory,
10013
not to mailboxes dir. Existing mailboxes/ symlinks are silently
10014
changed to new ones. This also means that accessing the dbox with an
10015
older version will log a warning about the change.
10018
2012-12-12 Timo Sirainen <tss@iki.fi>
10020
* src/lib-http/http-client-request.c:
10021
lib-http: Fixed sending HTTP request's payload.
10024
2012-12-12 Stephan Bosch <stephan@rename-it.nl>
10026
* src/lib-http/http-client-connection.c, src/lib-http/http-client-
10027
private.h, src/lib-http/http-client-request.c, src/lib-http/http-
10028
response-parser.c, src/lib-http/http-transfer-chunked.c, src/lib-
10029
http/http-transfer.h, src/lib-http/test-http-client.c, src/lib-http
10030
/test-http-transfer.c:
10031
lib-http: Added support for chunked input/output streams and some
10035
2012-12-11 Timo Sirainen <tss@iki.fi>
10037
* src/plugins/quota/quota-storage.c:
10038
quota: Fixed quota calculation with mailbox_move().
10041
2012-12-08 Timo Sirainen <tss@iki.fi>
10043
* src/lib-storage/list/mailbox-list-index-backend.c:
10044
layout=index: If MAILBOX_LIST_FLAG_NO_MAIL_FILES is set, don't try
10045
to delete any mail files.
10048
* src/lib-storage/mail-storage.c, src/lib-storage/mailbox-list.h:
10049
lib-storage: Copy MAIL_STORAGE_CLASS_FLAG_NO_ROOT to
10050
MAILBOX_LIST_FLAG_NO_MAIL_FILES
10053
* src/lib-fs/fs-api.h:
10054
lib-fs: Added FS_PROPERTY_DIRECTORIES. This is a hint for fs API
10055
users if they should call fs_delete() for directories.
10058
2012-12-07 Timo Sirainen <tss@iki.fi>
10060
* src/lib/ostream-buffer.c:
10061
ostream-buffer: Fixed o_stream_sendv() with multiple iovs. Patch by
10065
2012-12-05 Timo Sirainen <tss@iki.fi>
10067
* src/lib-http/http-response-parser.c:
10068
lib-http: Parser didn't always fully skip over the previous
10072
2012-12-04 Timo Sirainen <tss@iki.fi>
10074
* src/lib-mail/istream-qp-decoder.c, src/lib-mail/message-decoder.c,
10075
src/lib-mail/message-header-decode.c, src/lib-mail/quoted-
10076
printable.c, src/lib-mail/quoted-printable.h, src/lib-mail/test-
10077
istream-qp-decoder.c, src/lib-mail/test-message-decoder.c, src/lib-
10078
mail/test-quoted-printable.c:
10079
lib-mail: Detect errors in quoted-printable input.
10082
* src/imap/cmd-idle.c:
10083
imap: Don't crash in IDLE if remote IP isn't known (PREAUTH)
10086
* src/doveadm/doveadm-mail.c, src/imap/cmd-fetch.c, src/imap/imap-
10087
commands-util.c, src/imap/imap-fetch-body.c, src/lib-storage/index
10088
/index-mail-binary.c, src/lib-storage/mail-error.h:
10089
imap: Fixed handling FETCH BINARY for broken content.
10092
* src/lib-mail/istream-qp-decoder.c:
10093
lib-mail: quoted-printable decoder istream shouldn't treat trailing
10097
* src/lib-storage/index/index-mail-binary.c:
10098
lib-storage: Set name for the "binary istream".
10101
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c:
10102
lib-fs: Added a default fs_read() implementation using the
10106
* src/lib-http/http-response-parser.c:
10107
lib-http: Increased initial memory pool size
10110
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c:
10111
lib-fs: Added a default fs_write() implementation using the
10112
fs_write_stream*().
10115
* src/lib-fs/fs-api.h:
10116
lib-fs: Comment update
10119
2012-12-03 Timo Sirainen <tss@iki.fi>
10122
Makefile: Added missing \
10125
2012-12-02 Timo Sirainen <tss@iki.fi>
10128
Makefile: Reordered directories to fix build failure
10131
2012-12-01 Timo Sirainen <tss@iki.fi>
10133
* .hgignore, src/lib-fs/Makefile.am, src/lib-fs/fs-test.c:
10134
lib-fs: Added fs-test to easily test FS API calls.
10137
* src/lib/json-parser.c, src/lib/json-parser.h:
10138
Added json_append_escaped()
10141
* src/lib-http/http-client-connection.c:
10142
lib-http: Don't free connection immediately in payload-destroyed
10143
callback. This caused a crash in
10144
http_client_connection_return_response() after the stream was
10148
2012-11-29 Timo Sirainen <tss@iki.fi>
10150
* src/lib/json-parser.c, src/lib/json-parser.h, src/lib/test-json-
10152
JSON parser: Added support for arrays. The parser should be complete
10156
* src/lib/json-parser.c, src/lib/json-parser.h, src/lib/test-json-
10158
JSON parser: Added json_parse_skip_next() to skip over unwanted
10162
* src/lib/Makefile.am, src/lib/istream-jsonstr.c, src/lib/istream-
10163
jsonstr.h, src/lib/json-parser.c, src/lib/json-parser.h, src/lib
10164
/test-json-parser.c:
10165
JSON parser: Added support for reading string value as istream.
10168
* src/lib/json-parser.c, src/lib/test-json-parser.c:
10172
* src/auth/db-dict.c, src/lib/Makefile.am, src/lib/json-parser.c,
10173
src/lib/json-parser.h, src/lib/test-json-parser.c, src/lib/test-
10174
lib.c, src/lib/test-lib.h:
10175
JSON parser supports now nested objects and parsing from non-
10176
blocking input stream.
10179
* src/lib/uri-util.h:
10180
uri-util.h always requires net.h to compile, #include it
10183
* src/lib-http/http-url.h:
10184
lib-http: http-url.h always requires net.h to compile, #include it
10187
* src/lib-http/http-url.c:
10188
lib-http: http_url_parse() didn't allocate all strings from the
10192
* src/lib-http/http-client-request.c, src/lib-http/http-url.c, src
10193
/lib-http/http-url.h, src/lib-http/test-http-url.c:
10194
lib-http: http_url_parse() now returns the http_url allocated from
10198
2012-11-28 Timo Sirainen <tss@iki.fi>
10200
* src/doveadm/dsync/dsync-mailbox-tree.c:
10201
dsync: Don't crash when syncing multiple namespaces.
10204
* src/lib-storage/index/index-sync-private.h, src/lib-storage/index
10205
/index-sync-pvt.c, src/lib-storage/index/index-sync.c:
10206
lib-storage: Notify about \Seen flag changes in private index. Some
10207
earlier "don't send unnecessary flag changes" optimizations caused
10211
* src/lib-storage/index/index-mail.c:
10212
lib-storage: When updating flags in private index and nothing
10213
changes, don't increase modseq.
10216
* src/lib-storage/index/index-status.c:
10217
lib-storage: Fixed assert-crash with private indexes when looking
10218
for first unseen msg.
10221
* src/imap-urlauth/imap-urlauth-worker.c, src/lib-index/mail-
10222
transaction-log-file.c:
10223
Make static analyzer happier
10226
* src/lib-index/mail-cache-transaction.c:
10227
lib-index: Fixed randomly failing to write to dovecot.index.cache
10231
* src/lib/ostream-rawlog.c:
10232
ostream-rawlog: Make sure rawlog logs only the data that got
10236
* src/lib/iostream-rawlog.c:
10237
iostream-rawlog: Buffered output kept logging the same data over and
10241
* src/lib-storage/index/index-mail-binary.c:
10242
lib-storage: Don't assert-crash when fetching BINARY contents for
10246
* src/lib-fs/fs-api.c:
10247
lib-fs: Don't crash when trying to initialize nonexistent fs driver.
10250
* src/lib/istream.c:
10251
i_stream_default_stat(): If we can't know the size, return -1
10252
instead of assert crash. This fixes a crash saving to mdbox when
10253
input stream's size wasn't known.
10256
2012-11-27 Timo Sirainen <tss@iki.fi>
10262
* dovecot-config.in.in:
10263
dovecot-config: LIBDOVECOT_INCLUDE was missing path to lib-http
10266
* src/lib-fs/Makefile.am, src/lib-fs/fs-api-private.h, src/lib-fs/fs-
10267
api.c, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs
10269
lib-fs: Automatically try to load missing driver as plugin.
10272
* src/lib/lib.c, src/lib/lib.h:
10273
liblib: Added lib_atexit() to register process deinit callbacks.
10276
* src/lib/module-dir.c, src/lib/module-dir.h:
10277
liblib: Added module_dir_find()
10280
2012-11-26 Timo Sirainen <tss@iki.fi>
10282
* src/doveadm/doveadm-dump-index.c:
10283
doveadm dump: Added support for "obox" index records.
10286
* src/lib-imap-storage/imap-msgpart.c:
10287
lib-imap-storage: When returning an error istream, give it a useful
10291
* src/lib-storage/list/mailbox-list-index-backend.c, src/lib-
10292
storage/list/mailbox-list-index-iter.c, src/lib-storage/list
10293
/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h,
10294
src/lib-storage/list/mailbox-list-none.c, src/lib-storage/mailbox-
10296
lib-storage: Fixes to LAYOUT=index backend.
10299
* src/lib-storage/mail-storage-private.h:
10300
lib-storage: Comment update for mail_prefetch()
10303
* src/lib-storage/mail-storage.c:
10304
lib-storage: If MAIL_STORAGE_CLASS_FLAG_NO_ROOT is set, don't even
10308
* src/lib-storage/index/index-sync.c:
10309
lib-storage: Don't crash when trying to sync private index, if
10310
syncing had already failed.
10313
* src/lib-storage/index/dbox-single/sdbox-storage.c:
10314
sdbox: Verify that mail_attachment_fs backend supports RENAME
10315
property. This isn't needed by mdbox.
10318
* src/lib-storage/index/dbox-common/dbox-save.h, src/lib-storage/index
10319
/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
10321
lib-storage: Code cleanup: dbox_save_context.cur_file doesn't need
10322
to be in dbox-common.
10325
* configure.ac, src/lib-dovecot/Makefile.am:
10326
Added libhttp to libdovecot.so
10329
* src/lib-http/Makefile.am:
10330
lib-http: Removed explicit safe-memset.lo links At least in all my
10331
systems they just complain about duplicates..
10334
* src/lib-dns/dns-lookup.h:
10335
lib-dns: Added DNS_CLIENT_SOCKET_NAME macro for the default socket
10339
* src/lib/unlink-directory.c, src/lib/unlink-directory.h:
10340
unlink_directory(): Added UNLINK_DIRECTORY_FLAG_FILES_ONLY
10343
* src/lib/Makefile.am, src/lib/iostream-temp.c, src/lib/iostream-
10345
Added iostream-temp for easily creating a temporary istream (to
10349
* src/lib/ioloop-epoll.c:
10350
liblib: Added assert-check to epoll code to make sure we don't wait
10351
infinitely with no events.
10354
* src/lib-fs/fs-api.h:
10355
lib-fs: Added a temp_dir setting that the caller can specify.
10358
* src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c:
10359
lib-fs: Added ITER and RELIABLEITER properties for backends.
10362
* src/lib-fs/fs-posix.c:
10363
lib-fs: Fixed iteration with POSIX backend.
10366
* src/lib-fs/fs-api.h, src/lib-fs/fs-posix.c:
10367
lib-fs: Iterating a nonexistent directory should be the same as
10368
iterating an empty directory.
10371
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
10372
api.h, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c:
10373
lib-fs: fs_wait_async() can now return an error.
10376
2012-11-24 Timo Sirainen <tss@iki.fi>
10378
* src/lib-http/Makefile.am, src/lib-http/http-client-host.c, src/lib-
10379
http/test-http-responses.c:
10380
lib-http: Compiler warning fixes
10383
2012-11-24 Stephan Bosch <stephan@rename-it.nl>
10385
* src/lib-http/Makefile.am, src/lib-http/http-client-connection.c, src
10386
/lib-http/http-client-host.c, src/lib-http/http-client-peer.c, src
10387
/lib-http/http-client-private.h, src/lib-http/http-client-request.c,
10388
src/lib-http/http-client.c, src/lib-http/http-client.h, src/lib-http
10389
/http-header-parser.c, src/lib-http/http-header-parser.h, src/lib-
10390
http/http-parser.c, src/lib-http/http-parser.h, src/lib-http/http-
10391
response-parser.c, src/lib-http/http-response-parser.h, src/lib-http
10392
/http-transfer-chunked.c, src/lib-http/http-transfer.h, src/lib-http
10393
/test-http-client.c, src/lib-http/test-http-header-parser.c, src
10394
/lib-http/test-http-response-parser.c, src/lib-http/test-http-
10395
responses.c, src/lib-http/test-http-transfer.c:
10396
lib-http: Added initial HTTP client implementation.
10399
2012-11-23 Timo Sirainen <tss@iki.fi>
10401
* src/auth/passdb-bsdauth.c:
10402
bsdauth: Use "auth-<service>" as the auth type.
10405
2012-11-16 Timo Sirainen <tss@iki.fi>
10407
* src/lib-imap/imap-quote.c:
10408
lib-imap: imap_append_string_for_humans() was broken for empty input
10412
2012-11-09 Timo Sirainen <tss@iki.fi>
10414
* src/lib/iostream-rawlog.c:
10415
iostream-rawlog: Don't assert-crash if trying to write 0 bytes.
10418
2012-11-06 Timo Sirainen <tss@iki.fi>
10420
* src/lib/module-dir.c:
10421
module_dir_unload(): Don't dlclose() modules if GDB environment is
10425
* src/lib-ssl-iostream/iostream-ssl.c:
10426
lib-ssl-iostream: Unload ssl_iostream_openssl plugin at exit.
10429
* src/lib/module-dir.c:
10430
module_dir_deinit(): If no modules were actually initialized, avoid
10431
doing memory allocation. This allows calling module_dir_unload()
10432
with atexit(), as long as the module doesn't need to call deinit().
10435
* src/auth/auth-token.c:
10436
auth: Require auth-token-secret.dat owner to be auth process's uid,
10437
not necessarily root.
10440
* src/imap/imap-sync.c:
10441
imap: Various fixes for handling expunges in mailbox sync.
10444
* src/lib/istream-seekable.c:
10445
istream-seekable: Underlying stream errors weren't handled
10449
* src/lib-ssl-iostream/iostream-ssl.c:
10450
lib-ssl-iostream: Compiler warning fix when compiling without ssl
10454
Makefile: Build lib-ssl-iostream before lib-http
10457
* src/lib-dovecot/Makefile.am:
10458
Makefile: Fixed building libdovecot.so
10461
* dovecot-config.in.in:
10462
dovecot-config: Removed LIBDOVECOT_SSL, which is no longer needed.
10465
* configure.ac, src/lib-storage/index/imapc/Makefile.am, src/lib-
10466
storage/index/imapc/imapc-list.c, src/lib-storage/index/imapc/imapc-
10467
list.h, src/lib-storage/index/imapc/imapc-plugin.c, src/lib-
10468
storage/index/imapc/imapc-plugin.h, src/lib-storage/index/imapc
10469
/imapc-setting-storage.c, src/lib-storage/index/imapc/imapc-
10470
settings.h, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
10471
storage/index/imapc/imapc-storage.h, src/lib-
10472
storage/index/pop3c/Makefile.am, src/lib-storage/index/pop3c/pop3c-
10473
plugin.c, src/lib-storage/index/pop3c/pop3c-plugin.h, src/lib-
10474
storage/index/pop3c/pop3c-setting-storage.c, src/lib-
10475
storage/index/pop3c/pop3c-settings.h, src/lib-storage/index/pop3c
10476
/pop3c-storage.c, src/lib-storage/index/pop3c/pop3c-storage.h:
10477
Reverted 269104a0821b (Build imapc and pop3c always as plugins.)
10478
This is no longer needed now that lib-ssl-iostream can be linked
10479
without linking openssl.
10482
* configure.ac, src/auth/Makefile.am, src/lib-dovecot/Makefile.am, src
10483
/lib-master/Makefile.am, src/lib-ssl-iostream/Makefile.am, src/lib-
10484
ssl-iostream/iostream-openssl-common.c, src/lib-ssl-iostream
10485
/iostream-openssl-context.c, src/lib-ssl-iostream/iostream-openssl-
10486
params.c, src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-
10487
iostream/iostream-openssl.h, src/lib-ssl-iostream/iostream-ssl-
10488
private.h, src/lib-ssl-iostream/iostream-ssl.c, src/lib-ssl-iostream
10489
/istream-openssl.c, src/lib-ssl-iostream/ostream-openssl.c, src
10490
/login-common/Makefile.am:
10491
lib-ssl-iostream now dynamically loads openssl library instead of
10492
linking to it. This allowed removing the separate libdovecot-ssl
10493
library. In future if GnuTLS/NSS support is added it would also
10494
allow switching between them dynamically.
10497
2012-11-05 Timo Sirainen <tss@iki.fi>
10499
* src/lib-ssl-iostream/iostream-openssl-context.c:
10500
lib-ssl-iostream: Call all of the OpenSSL deinit functions at exit
10503
* src/lib-ssl-iostream/iostream-openssl.c:
10504
lib-ssl-iostream: [io]streams were added an unnecessary reference,
10505
causing memory leaks.
10508
2012-11-04 Timo Sirainen <tss@iki.fi>
10510
* src/lib-ssl-iostream/istream-openssl.c:
10511
lib-ssl-iostream: Fixed potential assert-crash when reading.
10514
* src/lib-ssl-iostream/istream-openssl.c:
10515
lib-ssl-iostream: Copy the original istream's fd to the ssl istream.
10518
2012-11-03 Timo Sirainen <tss@iki.fi>
10520
* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache-
10521
compress.c, src/lib-index/mail-cache-private.h, src/lib-index/mail-
10522
cache-sync-update.c, src/lib-index/mail-cache-transaction.c, src
10523
/lib-index/mail-cache.c:
10524
lib-index: Replaced cache's deleted_space with deleted_record_count.
10525
This way when expunging messages we don't need to actually read
10526
through the cache file and calculate how many bytes will be freed,
10527
we can simply increase the deleted_record_count by 1. We'll still
10528
compress the cache file approximately after 20% of the space
10529
(records) has been deleted.
10531
This also converts the old "hole offset" header field to tracking
10532
the number of records in the cache file. Otherwise we'd have to
10533
assume that all of the messages in mailbox have a cache record, but
10534
that isn't true for users who have only temporary cache fields. This
10535
"hole offset" cannot be trusted completely, because nothing prevents
10536
old Dovecot version from simply writing a hole offset there and
10537
messing up the record counts. Because of this there are a couple of
10538
extra sanity checks for it. (Unfortunately there wasn't any easy way
10539
to simply add a new field to header without breaking backwards
10543
* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache-
10544
compress.c, src/lib-index/mail-cache-private.h, src/lib-index/mail-
10546
lib-index: Added minor version to dovecot.index.cache file header.
10549
* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-
10550
private.h, src/lib-index/mail-cache-transaction.c:
10551
lib-index: If a cache record is larger than 64 kB, don't add it to
10552
cache file. This shouldn't affect anything except mails that
10553
probably shouldn't exist in the first place.
10556
* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-
10557
private.h, src/lib-index/mail-cache-sync-update.c, src/lib-index
10558
/mail-cache-transaction.c, src/lib-index/mail-cache.c:
10559
lib-index: Cache record linking is now while writing new records,
10560
not later with pwrite(). This should make performance somewhat
10561
better. It also means that now the only overwrites to cache file are
10562
to the file header and the fields header. This means that we no
10563
longer have to invalidate file_cache (with mmap_disable=yes) except
10564
when reading the headers, which is always done anyway.
10566
It would be nice to move the overwritten fields in the headers to a
10567
cache header in dovecot.index file, but this is a bit tricky
10568
currently. When writing these headers the cache file needs to be
10569
locked to avoid race conditions. To avoid deadlocks the transaction
10570
log would have to be locked before the cache. The code to do all
10571
this would still be a bit complex, and to keep backwards
10572
compatibility with old Dovecot versions it would still have to do
10573
the overwriting until the backwards compatibility code is disabled.
10576
* src/lib-index/mail-index-transaction-view.c:
10577
lib-index: Transaction view shouldn't return ext records if the ext
10581
* src/lib-index/mail-cache.c:
10582
lib-index: Recent cache file changes broke writing.
10585
* src/lib-storage/mail-storage-service.c:
10586
lib-storage: Crashfix when doing userdb lookup.
10589
* src/lib-index/mail-transaction-log-append.c, src/lib-index/mail-
10590
transaction-log-file.c, src/lib-index/mail-transaction-log.h:
10591
lib-index: Write to transaction log using O_APPEND flag. Most OSes
10592
should do the writes atomically so that reads won't see partially
10593
written data. We don't currently rely on this, but it would be
10594
possible in future to remove locking entirely from writing to
10598
2012-11-01 Timo Sirainen <tss@iki.fi>
10600
* src/lib-storage/index/index-storage.c, src/lib-storage/index/index-
10602
lib-storage: Error logging fixes.
10605
2012-10-31 Timo Sirainen <tss@iki.fi>
10607
* src/lib/hostpid.c:
10608
hostpid_init(): Don't allow gethostname() to fail. Be more strict
10609
about what chars it can contain.
10612
* src/lib-storage/mail-storage.h:
10613
lib-storage: Don't require mailbox to be synced for
10614
MAILBOX_METADATA_GUID lookup None of the mailbox formats currently
10615
require it, and lib-lda code assert-crashes with it since syncing is
10616
done with a transaction already open.
10619
* src/lib-storage/index/index-status.c:
10620
lib-storage: When mailbox_get_status/metadata() auto-syncs mailbox,
10621
use MAILBOX_SYNC_FLAG_FAST
10624
2012-10-31 Stephan Bosch <stephan@rename-it.nl>
10626
* src/lib-dns/dns-lookup.c, src/lib-dns/dns-lookup.h:
10627
lib-dns: Added dns_lookup_switch_ioloop()
10630
2012-10-31 Timo Sirainen <tss@iki.fi>
10632
* src/auth/auth-token.c:
10633
auth: Don't assert-crash in auth-token writing if process isn't
10637
2012-10-29 Timo Sirainen <tss@iki.fi>
10639
* src/doveadm/dsync/doveadm-dsync.c:
10640
doveadm sync/backup: Added -s parameter to usage string.
10644
Added signature for changeset f5941f3ac762
10648
Added tag 2.2.alpha1 for changeset f5941f3ac762
10651
* NEWS, TODO, configure.ac:
10652
Released v2.2.alpha1.
10653
[f5941f3ac762] [2.2.alpha1]
10655
* src/anvil/penalty.c:
10656
anvil: Added a comment to remind what the anvil checksums are all
10660
* configure.ac, src/doveadm/doveadm-mail-copymove.c, src/doveadm
10661
/doveadm-mail-import.c, src/doveadm/doveadm-mail-mailbox.c,
10662
src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-list-iter.c,
10663
src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain.c,
10664
src/imap/cmd-list.c, src/imap/imap-commands-util.c, src/indexer
10665
/master-connection.c, src/lib-imap-storage/imap-msgpart-url.c, src
10666
/lib-lda/mail-deliver.c, src/lib-storage/fail-mail-storage.c, src
10667
/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h, src
10668
/lib-storage/mail-storage.c, src/plugins/acl/acl-mailbox-list.c,
10669
src/plugins/acl/doveadm-acl.c, src/plugins/autocreate/autocreate-
10670
plugin.c, src/plugins/pop3-migration/pop3-migration-plugin.c,
10671
src/plugins/quota/quota-storage.c, src/plugins/snarf/snarf-plugin.c,
10672
src/plugins/trash/trash-plugin.c, src/pop3/pop3-client.c:
10673
If prefix="" namespace isn't defined, autocreate it as an unusable
10674
namespace. This avoids having to handle mail_namespace_find() errors
10675
all over the place. Instead now the mailbox accesses will simply
10679
* src/lib-storage/mail-namespace.h, src/plugins/autocreate/autocreate-
10681
lib-storage: Use const pointers for
10682
mail_namespace.(set|unexpanded_set)
10685
* src/plugins/autocreate/autocreate-plugin.c:
10686
autocreate plugin logs now a "deprecated" warning at startup
10689
* src/lib-dict/dict-file.c, src/lib-index/mail-transaction-log.c:
10690
Make static analyzer happier.
10693
* src/lib/iostream-rawlog.c:
10694
iostream-rawlog: Avoid crashing more if write() to rawlog fails.
10697
* src/director/director-connection.c, src/director/director-test.c,
10698
src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
10699
src/lib-index/mail-cache-transaction.c, src/lib-index/mail-
10700
transaction-log.c, src/lib-mail/message-parser.c:
10701
Make static analyzer happier.
10704
* src/lib-storage/index/maildir/maildir-util.c:
10705
maildir: Fixed potential crash when maildir suddenly loses some
10709
* src/lib-storage/list/mailbox-list-index-backend.c:
10710
layout=index: Fixed a crash in mailbox_rename() race condition.
10713
* src/lib/iostream-rawlog.c:
10714
iostream-rawlog: Avoid crashing if write() to rawlog fails.
10717
* src/imap-login/imap-login-settings.c, src/imap/imap-settings.c:
10718
imap: imap_id_send default changed to send name=Dovecot to client.
10721
* src/doveadm/doveadm-auth.c:
10722
doveadm user: Removed -m parameter and made it default. Added -u for
10724
-u meaning "userdb lookup only".
10727
* src/doveadm/doveadm-auth.c:
10728
doveadm user -m: Show all returned userdb fields.
10731
* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
10733
lib-storage: Added mail_storage_service_save_userdb_fields()
10736
* src/lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index
10737
/dbox-common/dbox-storage.c, src/lib-storage/index/dbox-multi/mdbox-
10738
storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.c,
10739
src/lib-storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index
10740
/dbox-single/sdbox-storage.c, src/lib-storage/index/dbox-single
10741
/sdbox-sync.c, src/lib-storage/index/imapc/imapc-mailbox.c, src/lib-
10742
storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
10743
/imapc-sync.c, src/lib-storage/index/index-storage.c, src/lib-
10744
storage/index/index-sync-pvt.c, src/lib-storage/index/index-sync.c,
10745
src/lib-storage/index/index-transaction.c, src/lib-
10746
storage/index/maildir/maildir-sync-index.c, src/lib-
10747
storage/index/maildir/maildir-sync.c, src/lib-storage/index/mbox
10748
/mbox-mail.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
10749
storage/index/pop3c/pop3c-sync.c, src/lib-storage/index/raw/raw-
10750
sync.c, src/lib-storage/mail-storage-private.h, src/lib-storage
10751
/mail-storage.c, src/plugins/virtual/virtual-sync.c:
10752
lib-storage: Renamed mail_storage_set_index_error() to
10753
mailbox_set_index_error()
10756
* src/lib-storage/index/cydir/cydir-storage.c, src/lib-
10757
storage/index/cydir/cydir-storage.h, src/lib-storage/index/dbox-
10758
common/dbox-storage.c, src/lib-storage/index/dbox-common/dbox-
10759
storage.h, src/lib-storage/index/dbox-multi/mdbox-storage.c, src
10760
/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
10761
storage/index/imapc/imapc-storage.c, src/lib-storage/index/imapc
10762
/imapc-storage.h, src/lib-storage/index/maildir/maildir-storage.c,
10763
src/lib-storage/index/maildir/maildir-storage.h, src/lib-
10764
storage/index/mbox/mbox-storage.c, src/lib-storage/index/mbox/mbox-
10765
storage.h, src/lib-storage/index/pop3c/pop3c-storage.c, src/lib-
10766
storage/index/pop3c/pop3c-storage.h, src/lib-storage/mail-storage-
10767
private.h, src/plugins/virtual/virtual-storage.c,
10768
src/plugins/virtual/virtual-storage.h:
10769
Replaced *_INDEX_PREFIX macros with a common MAIL_INDEX_PREFIX.
10772
* src/master/master-settings.c, src/master/service.c:
10773
master: Ignore service {} blocks with empty executable settings.
10776
* src/master/service.c:
10777
master: Removed unnecessary code duplication. The settings parsing
10781
* TODO, configure.ac, configure.in:
10782
Renamed configure.in to configure.ac. Apparently automakes in future
10783
won't support configure.in anymore.
10786
* configure.in, src/auth/auth-request-handler.c, src/director
10787
/director-connection.c, src/director/director.c,
10788
src/director/director.h, src/director/main.c, src/director/user-
10789
directory.c, src/doveadm/doveadm-mail-altmove.c, src/doveadm/server-
10790
connection.c, src/imap/cmd-list.c, src/lib-dict/dict-client.c, src
10791
/lib-dict/dict-redis.c, src/lib-index/mail-cache-compress.c, src
10792
/lib-index/mail-cache-fields.c, src/lib-index/mail-cache-lookup.c,
10793
src/lib-index/mail-cache-private.h, src/lib-index/mail-cache-
10794
transaction.c, src/lib-index/mail-cache.c, src/lib-index/mail-index-
10795
view-sync.c, src/lib-index/mail-index.h, src/lib-index/mail-
10796
transaction-log-file.c, src/lib-index/mail-transaction-log-
10797
private.h, src/lib-index/mail-transaction-log.c, src/lib-master
10798
/master-instance.c, src/lib-master/master-service-settings-cache.c,
10799
src/lib-master/master-service.c, src/lib-storage/index/dbox-common
10800
/dbox-file.c, src/lib-storage/index/dbox-common/dbox-save.c, src
10801
/lib-storage/index/dbox-common/dbox-storage.c, src/lib-storage/index
10802
/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
10803
storage-rebuild.c, src/lib-storage/index/dbox-single/sdbox-save.c,
10804
src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
10805
storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
10806
/lib-storage/index/index-storage.c, src/lib-storage/list/mailbox-
10807
list-fs-iter.c, src/lib-storage/list/mailbox-list-iter.c, src/lib-
10808
storage/list/mailbox-list-subscriptions.c, src/lib-storage/mail-
10809
search.c, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-
10810
list.c, src/lib/ipwd.c, src/lmtp/lmtp-proxy.c, src/login-common
10811
/client-common.c, src/login-common/client-common.h, src/master
10812
/master-settings.c, src/plugins/fts-lucene/lucene-wrapper.cc,
10813
src/plugins/lazy-expunge/lazy-expunge-plugin.c, src/plugins/quota
10814
/quota-dict.c, src/plugins/quota/quota-dirsize.c, src/plugins/quota
10815
/quota-fs.c, src/plugins/quota/quota-maildir.c, src/plugins/quota
10816
/quota-private.h, src/plugins/quota/quota-storage.c,
10817
src/plugins/stats/stats-plugin.c:
10818
Merged changes from v2.1 tree.
10821
* src/lib-dict/dict-client.c:
10822
lib-dict: Abort async transaction commits if client gets
10823
disconnected from dict server.
10826
2012-10-26 Timo Sirainen <tss@iki.fi>
10828
* src/lib-storage/list/mailbox-list-fs-iter.c:
10829
lib-storage: Fixed listing layout=fs when namespace prefix part
10830
included wildcards.
10833
* src/plugins/stats/stats-plugin.c:
10834
stats: Refresh user statistics during long maildir syncs.
10837
* src/lib-index/mail-cache-fields.c, src/lib-index/mail-cache.c:
10838
lib-index: Optimize cache file reads with
10839
MAIL_INDEX_OPEN_FLAG_SAVEONLY
10842
* src/lib-index/mail-cache.c:
10843
lib-index: After recent cache changes, cache was often wrongly being
10844
thought of as unusable
10847
* src/lib-index/mail-cache-lookup.c:
10848
lib-index: If cache file unexpectedly shrinks in header lookup, log
10852
* src/lib-storage/list/mailbox-list-fs-iter.c:
10853
Increased initial memory pool size
10856
* src/lib-storage/list/mailbox-list-fs-iter.c:
10857
lib-storage: Listing multiple mailbox patterns may have returned
10858
duplicates with fs layout.
10861
2012-10-22 Timo Sirainen <tss@iki.fi>
10863
* src/auth/auth-request-handler.c:
10864
auth: Log a nicer message if client timeouts authentication in the
10868
* src/plugins/fts/decode2text.sh:
10869
decode2text.sh: Assume xmlunzip exists in the same directory as this
10870
script. This avoids hardcoding /usr/local/libexec/dovecot/ path in
10874
* src/director/director-connection.c, src/director/director-request.c,
10875
src/director/director.c, src/director/director.h,
10876
src/director/main.c:
10877
director: -D parameter now enables extensive debug logging.
10880
* src/director/notify-connection.c:
10881
director: Don't remove user's weak flag from notify connection. If
10882
notify connection worked properly, the weak flag should never have
10883
been set in the first place. And if it's just suddenly removed, it
10884
won't finish the pending requests properly.
10887
* src/director/director-connection.c:
10888
director: Minor code cleanup
10891
* src/director/director-request.c, src/director/user-directory.c:
10892
director: If user's weak-flag appears to have gotten stuck, unset
10896
* src/director/director-request.c:
10897
director: Log more clearly why a request timeouts.
10900
* src/director/director.c, src/director/director.h:
10901
director: Don't handle pending requests from all around the code.
10902
I'm not sure if this actually fixes any bugs, but it definitely
10903
makes the state cleaner.
10906
* src/director/director-connection.c:
10907
director: Fixed previous broken change for handling USER-WEAK
10911
2012-10-21 Timo Sirainen <tss@iki.fi>
10913
* src/lib-dict/dict-redis.c:
10914
redis dict: Log an error if we get disconnected unexpectedly.
10917
2012-10-18 Timo Sirainen <tss@iki.fi>
10919
* src/lib-index/mail-cache.c:
10920
lib-index: Crashfix for MAIL_INDEX_OPEN_FLAG_SAVEONLY change.
10923
* src/login-common/client-common.c, src/login-common/client-common.h:
10924
login_log_format_elements: Added %{real_rip} variable. It differs
10925
from %r when Dovecot proxy sends an updated client IP address. Patch
10929
* src/lib-index/mail-transaction-log-file.c:
10930
lib-index: Fixed handling of finding a duplicate dovecot.index.log
10931
file_seq Previously we assumed that the already opened file was
10932
always the wrong one, but more common was that the newly opened file
10933
was .log.2 which should have been deleted.
10936
* src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
10937
transaction-log-private.h, src/lib-index/mail-transaction-log.c:
10938
lib-index: Handle better race condition there dovecot.index.log and
10939
.log.2 are the same link.
10942
* src/lib-storage/index/index-storage.c:
10943
lib-storage: Open index with MAIL_INDEX_OPEN_FLAG_SAVEONLY if
10944
mailbox has MAILBOX_FLAG_SAVEONLY
10947
* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-
10948
private.h, src/lib-index/mail-cache.c, src/lib-index/mail-index.h:
10949
lib-index: Added MAIL_INDEX_OPEN_FLAG_SAVEONLY to do only minimal
10950
reads from cache file.
10953
* src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
10954
private.h, src/lib-index/mail-cache.c:
10955
lib-index: Code cleanup: Removed mail_cache.data
10958
* src/lib-index/mail-cache-compress.c, src/lib-index/mail-cache-
10959
fields.c, src/lib-index/mail-cache-lookup.c, src/lib-index/mail-
10960
cache-private.h, src/lib-index/mail-cache-transaction.c, src/lib-
10961
index/mail-cache.c:
10962
lib-index: mail_cache_map() API cleanup
10965
2012-10-16 Timo Sirainen <tss@iki.fi>
10967
* src/plugins/quota/quota-dict.c, src/plugins/quota/quota-dirsize.c,
10968
src/plugins/quota/quota-fs.c, src/plugins/quota/quota-maildir.c,
10969
src/plugins/quota/quota-private.h, src/plugins/quota/quota-
10971
dict quota: Fixed a potential crash if quota recalculation was
10972
triggered at deinit.
10975
* src/lib-master/master-service.c:
10976
lib-master: Fixed -i <instance name> parameter handling. It
10977
previously worked only if the default config socket wasn't usable.
10980
2012-10-12 Timo Sirainen <tss@iki.fi>
10983
configure: Make sure MYSQL_LIBS has -lmysqlclient even if it's not
10987
* src/lib-storage/list/mailbox-list-subscriptions.c:
10988
lib-storage: Fixed crash when attempting to remove subscriptions for
10989
nonexistent shared users.
10992
* src/lib-index/mail-transaction-log-private.h, src/lib-index/mail-
10994
lib-index: Log a warning if locking transaction log takes longer
10998
* src/lib-storage/index/dbox-common/dbox-storage.c:
10999
sdbox: Make sure mail_attachment_fs=sis-queue isn't attempted to be
11000
used. It could be fixed, but nobody seems to have used it so far..
11003
* src/lib-storage/index/dbox-single/sdbox-storage.c:
11004
sdbox: Class didn't have MAIL_STORAGE_CLASS_FLAG_FILE_PER_MSG set
11005
This currently only meant that mail_prefetch_count setting wasn't
11009
2012-10-08 Timo Sirainen <tss@iki.fi>
11011
* src/master/master-settings.c:
11012
master: If service { protocol } is set and not included in
11013
"protocols", ignore its settings
11016
* src/plugins/fts-lucene/lucene-wrapper.cc:
11017
fts-lucene: doveadm fts rescan crashed with mailbox_list_index=yes
11020
2012-10-05 Timo Sirainen <tss@iki.fi>
11022
* src/lib-storage/mail-search.c:
11023
lib-storage: Don't crash when searching multiple keywords. Fixed by
11024
simply removing the keyword merging code.
11025
mail_search_args_simplify() is called before
11026
mail_search_args_init(), so the keywords are still NULL and merging
11027
can't be done. Alternative fix would have been to add string array
11028
to mail_search_arg.value containing the keywords, but all of this is
11029
a pretty unnecessary optimization.
11032
2012-10-03 Timo Sirainen <tss@iki.fi>
11034
* src/lib-storage/mail-storage.c:
11035
lib-storage: Fixed potential memory leak when
11036
mailbox_transaction_commit_get_changes() failed
11039
* src/lib-storage/mailbox-list-iter.c:
11040
lib-storage: When configuring mailbox INBOX {}, make sure INBOX is
11044
* src/lib-index/mail-index-view-sync.c:
11045
lib-index: Fix for handling view syncing for already deleted
11046
transaction logs. The sync changes' hidden-flag was set randomly,
11047
which could have caused flag changes to get lost.
11050
* src/imap/cmd-list.c:
11051
imap: LIST (SPECIAL-USE) shouldn't send INBOX reply.
11054
* src/lib-storage/index/dbox-single/sdbox-save.c:
11055
sdbox: Fix to handling transactions with partially failed saves.
11058
* src/lib-storage/index/dbox-common/dbox-file.c:
11059
mdbox: Fix to handling transactions with partially failed saves.
11062
* src/lib-storage/mail-storage.c:
11063
lib-storage: mailbox_save_cancel() now makes sure that dest_mail is
11064
reset. This fixes e.g. doveadm import, which continues import even
11065
though some messages couldn't be saved.
11068
* src/lib-storage/index/index-mail.c, src/lib-storage/index/index-
11070
lib-storage: struct mail.close() now clears all of its data.
11073
* src/lib-storage/index/dbox-common/dbox-save.c, src/lib-storage/index
11074
/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-single/sdbox-
11076
dbox: Small code cleanup.
11079
2012-10-02 Timo Sirainen <tss@iki.fi>
11081
* src/lib-storage/mailbox-list.c:
11082
lib-storage: When index mkdir() fails with EPERM, create the dir
11083
anyway with 0700 mode. This avoids failing entirely when
11084
/var/mail/user has 0660 permissions and we don't have access to the
11085
group. The error message is still logged.
11088
* src/lib-master/master-service-settings-cache.c:
11089
lib-master: Fixed crashes with settings cache.
11092
* src/doveadm/server-connection.c:
11093
doveadm: Fixed printing large input from doveadm-server.
11096
* src/lib-storage/mailbox-list.c:
11097
mbox: Fixed getting filesystem permissions when parent dir has
11098
setgid-bit enabled.
11101
* src/lmtp/lmtp-proxy.c:
11102
lmtp: Fixed hanging on proxying if remote server was down. Patch by
11106
2012-09-28 Timo Sirainen <tss@iki.fi>
11108
* src/lib/compat.h:
11109
Compiling fix for HURD
11112
* src/lib-storage/index/dbox-common/dbox-storage.c:
11113
Avoid using PATH_MAX.
11116
* src/lib-master/master-instance.c, src/lib-storage/index/dbox-common
11118
Avoid using PATH_MAX.
11121
2012-09-27 Timo Sirainen <tss@iki.fi>
11123
* src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c:
11124
mdbox: Don't crash in storage rebuild if mail's "original mailbox"
11125
metadata is missing.
11128
* src/doveadm/doveadm-mail-altmove.c:
11129
doveadm altmove: Make sure all storages get purged (and not more
11133
2012-09-26 Timo Sirainen <tss@iki.fi>
11136
i_getpwnam(): Ignore EINVAL errors silently. At least FreeBSD
11137
returns it when attempting to lookup user@domain.
11140
* src/plugins/lazy-expunge/lazy-expunge-plugin.c:
11141
lazy-expunge: Fixed handling non-default namespace separator.
11144
2012-10-29 Timo Sirainen <tss@iki.fi>
11146
* src/lib-fs/fs-posix.c:
11147
lib-fs: Compile fix for OSes that don't support
11148
posix_fadvise(POSIX_FADV_WILLNEED)
11155
* src/lib-storage/index/shared/shared-storage.c:
11156
lib-storage: Handle better when attempting to access shared
11157
mailboxes for nonexistent users.
11160
* src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
11161
lib-storage: Added struct mail_user.nonexistent flag, which is
11162
filled by userdb lookup.
11165
* src/lib-storage/index/index-attribute.c, src/lib-storage/index
11166
/index-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
11167
storage/mail-user.c, src/lib-storage/mail-user.h:
11168
lib-storage: Fixes to handling separation of private/shared
11172
* src/lib-index/mail-index-transaction.c:
11173
lib-index: Fixes to replacing message's keywords.
11176
* src/lib-storage/index/index-mail-headers.c:
11177
lib-storage: Crashfix to previous stream error checking change.
11180
* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
11181
/dbox-common/dbox-storage.c, src/lib-storage/index/imapc/imapc-
11182
storage.c, src/lib-storage/index/index-attribute.c, src/lib-
11183
storage/index/index-storage.c, src/lib-storage/index/index-
11184
storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
11185
storage/index/mbox/mbox-storage.c, src/lib-storage/index/pop3c
11186
/pop3c-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
11187
storage/index/shared/shared-storage.c, src/lib-storage/mail-storage-
11188
private.h, src/lib-storage/mail-storage.c,
11189
src/plugins/pop3-migration/pop3-migration-plugin.c,
11190
src/plugins/virtual/virtual-storage.c:
11191
lib-storage: Moved mail attribute dict to struct mail_storage. This
11192
also means that index_storage_destroy() must always be called, so
11193
removed now unnecessary mail_storage.destroy=NULL checks.
11196
* src/lib-index/mail-index-view-sync.c, src/lib-index/mail-index.h,
11197
src/lib-storage/index/index-sync.c:
11198
Treat modseq updates explicitly instead of as if they were flag
11202
* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
11203
storage/list/mailbox-list-index-sync.c, src/lib-storage/list
11204
/mailbox-list-index.c:
11205
lib-storage: Mailbox list indexes are now enabled also for
11206
shared/public mailboxes.
11209
* src/lib-storage/mail-storage.c:
11210
lib-storage: Allow calling mailbox_get_private_flags_mask() without
11211
mailbox being open. Most importantly used by mailbox list indexes to
11212
determine if it can optimize a STATUS (UNSEEN) call.
11215
* src/imap/imap-sync.c:
11216
imap: Commit temporary mail's transaction before finishing sync.
11217
Fixes assert-crash with mailbox list indexes.
11220
* src/lib-storage/list/mailbox-list-index-status.c, src/lib-
11221
storage/list/mailbox-list-index.h:
11222
lib-storage: Avoid assert-crashing when updating mailbox list index.
11225
* src/lib-storage/index/index-mail-headers.c, src/lib-storage/index
11226
/index-mail.c, src/lib-storage/index/index-mail.h, src/lib-
11227
storage/index/index-search.c:
11228
lib-storage: Check and log stream errors when parsing/searching
11232
* src/lib-storage/index/index-status.c, src/lib-storage/mail-
11234
lib-storage: Make sure mailbox was synced at least once when getting
11238
* src/doveadm/dsync/dsync-mailbox-tree-fill.c:
11239
dsync: Make sure we're not trying to use uidvalidity=0 for existing
11243
* src/lib-index/mail-index-transaction-update.c:
11244
lib-index: MAIL_INDEX_TRANSACTION_FLAG_AVOID_FLAG_UPDATES didn't
11245
work well enough for keywords. Removed the code that attempted to
11246
optimize some CPU usage at the cost of writing too many changes.
11249
* src/lib-index/mail-index-transaction-update.c:
11250
lib-index: Avoid assert-crashing when syncing an old "keyword reset"
11251
from transaction log.
11254
* src/plugins/acl/acl-mailbox.c:
11255
acl: Avoid assert-crashing when trying to access shared namespace
11259
2012-10-26 Timo Sirainen <tss@iki.fi>
11261
* src/lib-storage/index/dbox-common/dbox-attachment.c:
11262
dbox: Log a better error if we have external attachments, but
11263
mail_attachment_dir is unset.
11266
* src/doveadm/dsync/dsync-mailbox-tree-sync.c:
11267
doveadm backup: Don't assert-crash trying to delete noselect-
11268
mailboxes too early.
11271
* src/lib-index/mail-index-transaction.c:
11272
lib-index: mail_index_transaction_lookup_latest_keywords() didn't
11273
work properly. It wasn't actually looking up the latest keywords.
11276
2012-10-24 Timo Sirainen <tss@iki.fi>
11278
* src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
11279
mailbox-import.c, src/doveadm/dsync/dsync-mailbox-import.h:
11280
doveadm backup: Revert all local changes.
11283
* src/doveadm/dsync/dsync-transaction-log-scan.c:
11284
dsync: Crashfix for scanning keyword changes in transaction log.
11291
* src/lib-storage/mailbox-list.c:
11292
lib-storage: When mkdir()ing home, copy permissions from parent if
11293
it has setgid-bit and we're using %h/~. When using %d/%n instead of
11294
%h in the location directories, use the earlier methods.
11297
* src/lib-storage/mailbox-list.c:
11298
lib-storage: When creating user directory under domain, set its
11299
setgid-bit on. The previous mkdir_parents_chown() change changed
11300
this behavior. I'm not entirely sure if the setgid-bit is a good
11301
idea or not in here, but we'll just continue the existing behavior.
11304
* src/lib/mkdir-parents.c, src/lib/mkdir-parents.h:
11305
mkdir_parents_chown(): If gid is set, make sure setgid-bit isn't
11306
copied from parent.
11309
* src/lib-storage/index/raw/raw-storage.c:
11310
raw storage: Don't set NAMESPACE_FLAG_INBOX_USER for the created
11314
* src/lib-imap/imap-envelope.c, src/lib-imap/imap-quote.c, src/lib-
11316
lib-imap: Replaced last traces of imap_quote*() with
11317
imap_append_string_for_humans() Also the imap_append_*string()
11318
functions now decide whether to use quoted-string or literal based
11319
on the output string length (if both would work).
11322
* src/lib-imap/imap-envelope.c:
11323
lib-imap: ENVELOPE parsing/writing no longer strips whitespace from
11324
machine readable fields.
11327
* src/lib-imap/imap-bodystructure.c:
11328
lib-imap: bodystructure parsing now uses imap_append_string()
11329
instead of imap_quote*() Some of the fields are parsed through
11330
rfc822_*() which guarantees that they contain proper clean input.
11331
Other fields are also machine-readable and don't benefit from having
11332
whitespace compressed or of any other things that
11333
imap_quote*(fix_text=TRUE) did.
11335
None of the fields in
11338
* src/imap/cmd-list.c, src/imap/cmd-notify.c, src/imap/imap-fetch.c,
11339
src/imap/imap-notify.c, src/imap/imap-status.c, src/plugins/imap-acl
11340
/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c:
11341
Use imap_append_astring() instead of imap_append_string() where
11345
* src/lib-imap/imap-quote.c, src/lib-imap/imap-quote.h:
11346
lib-imap: Added imap_append_astring()
11349
* src/lib-imap/imap-arg.h, src/lib-imap/imap-parser.c, src/lib-storage
11350
/mailbox-keywords.c:
11351
lib-imap: Changed public IS_ATOM*() macros to match RFC 3501
11352
exactly. Move the imap-parser specific "atom plus some more" parsing
11353
macro inside imap-parser.c so it's not used by anyone else.
11356
* src/imap-login/imap-proxy.c, src/imap/cmd-list.c, src/imap/cmd-
11357
namespace.c, src/imap/cmd-notify.c, src/imap/imap-fetch.c, src/imap
11358
/imap-notify.c, src/imap/imap-search.c, src/imap/imap-status.c,
11359
src/imap/imap-sync.c, src/lib-imap/imap-id.c, src/plugins/imap-acl
11360
/imap-acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c:
11361
Use imap_append_*string() instead of imap_quote_append*() where
11362
possible. This makes it clearer what types of output should be sent.
11365
* src/lib-imap/imap-quote.c, src/lib-imap/imap-quote.h:
11366
lib-imap: Added imap_append_string() and imap_append_nstring()
11369
* src/imap/imap-fetch-body.c, src/lib-imap-client/imapc-connection.c,
11370
src/lib-imap/imap-id.c, src/lib-imap/imap-quote.c, src/lib-imap
11372
lib-imap: Renamed imap_dquote_append() to imap_append_quoted()
11375
* src/imap/imap-fetch-body.c:
11376
imap: Avoid double-quoting non-atom header field
11379
2012-10-23 Timo Sirainen <tss@iki.fi>
11381
* src/lib-storage/list/mailbox-list-index.c:
11382
mailbox_list_index=yes: Fixed refreshing list index after mailbox
11386
* src/lib-storage/index/maildir/maildir-storage.c:
11387
maildir: Don't assert-crash on mailbox creation.
11390
* src/lib-imap-storage/imap-msgpart.c:
11391
imap: Another fix for handling partial FETCHes.
11394
* src/lib-imap-storage/imap-msgpart.c, src/lib-mail/message-binary-
11395
part.c, src/lib-mail/message-binary-part.h, src/lib-storage/fail-
11396
mail.c, src/lib-storage/index/index-mail-binary.c, src/lib-
11397
storage/index/index-mail.h, src/lib-storage/mail-storage-private.h,
11398
src/lib-storage/mail-storage.h, src/lib-storage/mail.c:
11399
imap: URLFETCH BINARY BODYPARTSTRUCTURE returns binary-decoded line
11403
* src/lib/istream-seekable.c:
11404
istream-seekable: When read() reaches EOF, unreference underlying
11405
streams. This was already done when the stream was kept in memory,
11406
but not when when the stream was written to temporary file.
11409
* src/imap/cmd-urlfetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.c,
11410
src/lib-imap-urlauth/imap-urlauth-fetch.h:
11411
imap: URLFETCH error handling fixes.
11414
* src/lib/connection.c, src/lib/connection.h:
11415
connection API: Track the number of connections.
11418
* src/doveadm/dsync/dsync-mailbox-import.c:
11419
dsync: Use mailbox_move() to reassign UIDs instead of copy+expunge.
11422
2012-10-21 Timo Sirainen <tss@iki.fi>
11424
* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/doveadm-dsync.c,
11425
src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
11426
brain-private.h, src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync
11427
/dsync-brain.h, src/doveadm/dsync/dsync-mailbox-export.c,
11428
src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
11429
mailbox-state-export.h, src/doveadm/dsync/dsync-mailbox-state.c,
11430
src/doveadm/dsync/dsync-mailbox-state.h, src/doveadm/dsync/dsync-
11431
mailbox-tree.c, src/doveadm/dsync/dsync-mailbox-tree.h:
11432
doveadm sync/backup: Added -s <state> parameter to do a fast
11433
stateful sync. Initially use an empty string for the input state.
11434
The output state is written to stdout.
11437
* src/doveadm/dsync/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-
11438
mailbox-tree-sync.c, src/doveadm/dsync/dsync-brain-mailbox-tree.c,
11439
src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
11440
brain-mails.c, src/doveadm/dsync/dsync-brain-private.h,
11441
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-brain.h,
11442
src/doveadm/dsync/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.h,
11443
src/doveadm/dsync/dsync-mailbox-tree-fill.c, src/doveadm/dsync
11444
/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-mailbox-tree.c,
11445
src/doveadm/dsync/dsync-mailbox-tree.h, src/doveadm/dsync/test-
11446
dsync-mailbox-tree-sync.c:
11447
doveadm: "backup" command is working again.
11450
* src/lib-storage/index/index-attribute.c:
11451
lib-storage: Fixed deleting mailbox when mail_attribute_dict wasn't
11455
* src/lib-fs/fs-api.c, src/lib-fs/fs-api.h:
11456
lib-fs: Fixes to async APIs.
11459
2012-10-18 Timo Sirainen <tss@iki.fi>
11461
* src/lib-imap-urlauth/imap-urlauth.c:
11462
lib-imap-urlauth: Minor fix to avoiding timing attacks against
11463
mailbox existence. random_fill() is slightly slower than
11464
random_fill_weak(). Probably even better way to handle timing
11465
attacks would be to always add a short random pause before returning
11466
verification failure.
11469
* src/imap-urlauth/imap-urlauth-worker.c, src/imap/main.c, src/lib-
11470
imap-urlauth/imap-urlauth.c:
11471
Moved random_init() from lib-imap-urlauth to imap/imap-urlauth
11472
main(). This way if the processes are chrooted they are still able
11473
to open /dev/urandom.
11476
2012-10-13 Timo Sirainen <tss@iki.fi>
11478
* src/lib-storage/index/index-attribute.c:
11479
lib-storage: Added missing file from previous mailbox attribute
11483
* doc/example-config/conf.d/20-imap.conf, src/imap-urlauth/imap-
11484
urlauth-worker-settings.c, src/imap-urlauth/imap-urlauth-worker-
11485
settings.h, src/imap-urlauth/imap-urlauth-worker.c, src/imap/imap-
11486
client.c, src/imap/imap-settings.c, src/imap/imap-settings.h, src
11487
/lib-imap-urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-
11488
urlauth-backend.h, src/lib-imap-urlauth/imap-urlauth-private.h, src
11489
/lib-imap-urlauth/imap-urlauth.c, src/lib-imap-urlauth/imap-
11491
imap-urlauth: Store urlauth keys to the new mailbox attributes.
11494
* src/lib-storage/fail-mailbox.c, src/lib-storage/index/Makefile.am,
11495
src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
11496
/dbox-multi/mdbox-storage.c, src/lib-storage/index/dbox-single
11497
/sdbox-storage.c, src/lib-storage/index/imapc/imapc-storage.c, src
11498
/lib-storage/index/index-storage.c, src/lib-storage/index/index-
11499
storage.h, src/lib-storage/index/maildir/maildir-storage.c, src/lib-
11500
storage/index/mbox/mbox-storage.c, src/lib-storage/index/pop3c
11501
/pop3c-storage.c, src/lib-storage/index/raw/raw-storage.c, src/lib-
11502
storage/mail-storage-private.h, src/lib-storage/mail-storage-
11503
settings.c, src/lib-storage/mail-storage-settings.h, src/lib-storage
11504
/mail-storage.c, src/lib-storage/mail-storage.h, src/plugins/virtual
11505
/virtual-storage.c:
11506
lib-storage: Added support to get/set/iterate mailbox attributes.
11507
The attributes are stored in a dict specified by mail_attribute_dict
11508
setting. The idea is to use this as storage for extensions that
11509
require per-mailbox key=value pairs, such as METADATA.
11512
* src/dict/dict-commands.c, src/dict/dict-connection.h:
11513
dict: If DICT_ITERATE_FLAG_NO_VALUE is set, don't send values to
11517
* src/lib-dict/dict-sql.c, src/lib-dict/dict.h:
11518
lib-dict: Added DICT_ITERATE_FLAG_NO_VALUE This allows iterating
11519
dictionary without wasting extra time on returning values that
11523
* src/imap/cmd-resetkey.c, src/lib-imap-urlauth/imap-urlauth-
11524
backend.c, src/lib-imap-urlauth/imap-urlauth-backend.h, src/lib-
11525
imap-urlauth/imap-urlauth.c:
11526
imap-urlauth: Use mailbox GUID instead of mailbox name for dict keys
11529
* doc/example-config/conf.d/20-imap.conf:
11530
example-config: Added imap_urlauth_* settings
11533
* src/imap-urlauth/imap-urlauth-worker.c, src/imap/imap-client.c, src
11534
/lib-imap-urlauth/imap-urlauth.c:
11535
imap urlauth: Don't autofill imap_urlauth_host. Use "*" value to
11539
* src/auth/db-dict.c, src/dict/dict-connection.c, src/lib-dict/dict-
11540
client.c, src/lib-dict/dict-file.c, src/lib-dict/dict-memcached-
11541
ascii.c, src/lib-dict/dict-memcached.c, src/lib-dict/dict-private.h,
11542
src/lib-dict/dict-redis.c, src/lib-dict/dict-sql-settings.c, src
11543
/lib-dict/dict-sql-settings.h, src/lib-dict/dict-sql.c, src/lib-
11544
dict/dict.c, src/lib-dict/dict.h, src/lib-imap-urlauth/imap-urlauth-
11545
backend.c, src/lib-storage/list/mailbox-list-fs-iter.c,
11546
src/plugins/acl/acl-lookup-dict.c, src/plugins/expire/doveadm-
11547
expire.c, src/plugins/expire/expire-plugin.c, src/plugins/quota
11549
lib-dict: dict_init() now returns error string instead of logging it
11552
* src/auth/db-dict.c, src/auth/db-ldap.c, src/auth/db-sql.c, src/lib-
11553
dict/dict-sql-settings.c, src/lib-settings/settings.c, src/lib-
11554
settings/settings.h:
11555
lib-settings: settings_read*() now returns an error string instead
11559
* src/doveadm/Makefile.am, src/doveadm/doveadm-dump.c, src/doveadm
11560
/doveadm-dump.h, src/doveadm/doveadm-zlib.c, src/doveadm/doveadm.c,
11561
src/doveadm/doveadm.h, src/plugins/zlib/Makefile.am,
11562
src/plugins/zlib/doveadm-zlib.c:
11563
Moved doveadm zlib commands from zlib plugin to doveadm directly.
11564
Previously it was a plugin, because the istream-zlib existed only in
11565
zlib plugin. Now there's a lib-compression that implements it.
11568
* src/lib/istream-private.h, src/lib/istream.c:
11569
istream: Added internal try_alloc_limit to limit size returned by
11570
i_stream_try_alloc() This was required by the previous SSL change.
11573
* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
11574
/iostream-openssl.h, src/lib-ssl-iostream/istream-openssl.c:
11575
lib-ssl-iostream: Make the input buffering behave the same as in
11576
file-istream Previously i_stream_read(ssl_input) could have still
11577
left some data buffered into the underlying file-istream, which
11578
meant that I/O loop didn't detect any new input from the fd and the
11579
connection got stuck.
11582
2012-10-12 Timo Sirainen <tss@iki.fi>
11584
* src/config/settings-get.pl:
11585
config: Added lib-master's settings parsers back to config's
11589
* src/lib-index/mail-index-lock.c, src/lib-index/mail-index-map-
11590
read.c, src/lib-index/mail-index-map.c, src/lib-index/mail-index-
11591
private.h, src/lib-index/mail-index-sync-update.c, src/lib-index
11593
lib-index: dovecot.index file is no longer overwritten, so it
11594
doesn't need to be locked.
11597
* src/lib-storage/index/maildir/maildir-storage.c:
11598
maildir: If INDEXPVT is set, assume private \Seen flags even if
11599
dovecot-shared doesn't exist.
11602
* src/lib-storage/index/imapc/imapc-list.c, src/lib-
11603
storage/index/imapc/imapc-storage.h, src/lib-storage/mailbox-list.c,
11604
src/lib-storage/mailbox-list.h:
11605
lib-storage: Added support for "broken_char" setting for escaping
11606
invalid mailbox names. This is currently enabled only for imapc
11607
backend, where '~' character is used for it.
11609
Most importantly this allows migrating mailboxes from other IMAP
11610
servers that contain mailbox names that Dovecot's imapc backend
11611
couldn't otherwise access.
11614
* src/lib-storage/index/imapc/imapc-list.c, src/lib-
11615
storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
11616
list-fs.c, src/lib-storage/list/mailbox-list-index-backend.c, src
11617
/lib-storage/list/mailbox-list-maildir.c, src/lib-storage/list
11618
/mailbox-list-none.c, src/lib-storage/mailbox-list-private.h, src
11619
/lib-storage/mailbox-list.c:
11620
lib-storage: Added optional mailbox_list.init(), which can check for
11621
failure. "index" backend now gives a nice error message instead of
11622
crashing when mailbox_list_index=no
11625
* configure.in, src/lib-storage/index/imapc/Makefile.am, src/lib-
11626
storage/index/imapc/imapc-list.c, src/lib-storage/index/imapc/imapc-
11627
list.h, src/lib-storage/index/imapc/imapc-plugin.c, src/lib-
11628
storage/index/imapc/imapc-plugin.h, src/lib-storage/index/imapc
11629
/imapc-setting-storage.c, src/lib-storage/index/imapc/imapc-
11630
settings.h, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
11631
storage/index/imapc/imapc-storage.h, src/lib-
11632
storage/index/pop3c/Makefile.am, src/lib-storage/index/pop3c/pop3c-
11633
plugin.c, src/lib-storage/index/pop3c/pop3c-plugin.h, src/lib-
11634
storage/index/pop3c/pop3c-setting-storage.c, src/lib-
11635
storage/index/pop3c/pop3c-settings.h, src/lib-storage/index/pop3c
11636
/pop3c-storage.c, src/lib-storage/index/pop3c/pop3c-storage.h:
11637
Build imapc and pop3c always as plugins. This avoids having to link
11638
openssl library to all binaries that use lib-storage. It appears
11639
that simply by linking with openssl causes each such process to use
11640
100-200 kB of more memory. With 10k imap processes this is 1-2 GB of
11643
The imapc and pop3c are still registered as stubs, and their plugins
11644
are automatically loaded when needed.
11647
* src/lib-storage/index/shared/shared-storage.c, src/lib-storage/mail-
11648
storage.c, src/lib-storage/mail-user.c, src/lib-storage/mail-user.h:
11649
lib-storage: Added mail_user_get_storage_class(), which auto-loads
11650
storage plugins. The auto-loading is done only if there's already a
11651
stub storage registered.
11655
Makefile: Added cc-wrapper.sh.in missing from last commit
11658
* .hgignore, cc-wrapper.sh.in, configure.in, src/doveadm/Makefile.am,
11659
src/indexer/Makefile.am, src/lda/Makefile.am, src/lmtp/Makefile.am,
11660
src/pop3/Makefile.am:
11661
--without-shared-libs: Link Dovecot libraries with --whole-archive
11662
flag for binaries. This removes the need for the ugly unused_objects
11663
lists for binaries, which were needed to avoid plugins from failing
11664
because they were missing some functions.
11666
Apparently there's no easy way to use --whole-archive properly with
11667
libtool, so there's now a rather ugly cc-wrapper.sh that does it.
11668
Also this is done only when GNU ld is deted. Most people are going
11669
to use --with-shared-libs though, so I don't think any of this is
11670
going to be a real problem.
11674
config: Don't include lib-master/*.c files in all-settings.c lib-
11675
master is already being linked to the binaries anyway.
11679
imap: Don't waste data stack memory at startup.
11682
* src/lib/hostpid.c:
11683
hostpid_init(): Don't waste memory from data stack. Even though it's
11684
only a few bytes, it was being wasted permanently for all processes.
11687
* src/doveadm/doveadm-mail.c, src/doveadm/dsync/doveadm-dsync.c, src
11688
/imap-urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-
11689
worker.c, src/lib-master/master-login.c, src/lib-master/master-
11690
service.c, src/lib-storage/mail-storage-service.c,
11691
src/lib/failures.c, src/lib/failures.h, src/lmtp/commands.c, src/log
11692
/log-connection.c, src/master/main.c:
11693
i_set_failure_prefix() now takes printf-like parameters. This avoids
11694
using t_strdup_printf() with it, which was done very commonly.
11697
* src/lib-index/mail-cache-transaction.c:
11698
lib-index: Error handling fix to cache transaction flushing.
11701
* configure.in, src/auth/main.c, src/config/config-parser.c,
11702
src/dict/main.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-
11703
util.c, src/lib-sql/driver-mysql.c, src/lib-sql/driver-pgsql.c, src
11704
/lib-sql/driver-sqlite.c, src/lib-storage/mail-storage-service.c,
11705
src/lib/module-dir.c, src/lib/module-dir.h, src/plugins/acl/acl-
11706
plugin.c, src/plugins/acl/doveadm-acl.c, src/plugins/expire/doveadm-
11707
expire.c, src/plugins/expire/expire-plugin.c, src/plugins/fts-lucene
11708
/doveadm-fts-lucene.c, src/plugins/fts-lucene/fts-lucene-plugin.c,
11709
src/plugins/fts-solr/fts-solr-plugin.c, src/plugins/fts-squat/fts-
11710
squat-plugin.c, src/plugins/fts/doveadm-fts.c, src/plugins/fts/fts-
11711
plugin.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-
11712
quota/imap-quota-plugin.c, src/plugins/imap-stats/imap-stats-
11713
plugin.c, src/plugins/imap-zlib/imap-zlib-plugin.c, src/plugins
11714
/lazy-expunge/lazy-expunge-plugin.c, src/plugins/listescape
11715
/listescape-plugin.c, src/plugins/mailbox-alias/mailbox-alias-
11716
plugin.c, src/plugins/notify/notify-plugin.c,
11717
src/plugins/pop3-migration/pop3-migration-plugin.c,
11718
src/plugins/quota/doveadm-quota.c, src/plugins/quota/quota-plugin.c,
11719
src/plugins/snarf/snarf-plugin.c, src/plugins/stats/stats-plugin.c,
11720
src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
11721
plugin.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/zlib-
11723
Plugin ABI version checking improvements. Previously the plugin
11724
version was checked against the version string returned by the
11725
currently running Dovecot master process, not necessarily the same
11726
as the binary. Also version_ignore=yes setting skipped the version
11729
Now there's a new DOVECOT_ABI_VERSION macro that can (at least in
11730
theory) be updated only when the ABI actually changes. The version
11731
is in format "2.2.ABIv1(2.2.15)", where the (2.2.15) would be the
11732
actual Dovecot version number that gets ignored when comparing the
11735
Also now the plugin version is compared to the actually running
11736
binary's ABI, not the master's version, and it can't be ignored with
11740
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
11741
api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-common.c, src/lib-fs
11742
/fs-sis-common.h, src/lib-fs/fs-sis-queue.c, src/lib-fs/fs-sis.c,
11743
src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
11744
storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/dbox-
11745
single/sdbox-file.c, src/lib-storage/index/index-attachment.c:
11746
lib-fs API cleanups and improvements
11749
2012-10-11 Timo Sirainen <tss@iki.fi>
11751
* src/lib-http/http-url.c:
11752
Compiler warning fix.
11755
2012-10-10 Stephan Bosch <stephan@rename-it.nl>
11757
* src/lib-http/Makefile.am, src/lib-http/http-date.c, src/lib-http
11758
/http-date.h, src/lib-http/test-http-date.c, src/lib-http/test-http-
11760
Add HTTP date parsing support.
11763
* configure.in, src/Makefile.am, src/lib-http/Makefile.am, src/lib-
11764
http/http-url.c, src/lib-http/http-url.h, src/lib-http/test-http-
11766
Adds HTTP URL parse support.
11769
* src/lib-imap/imap-url.c, src/lib-imap/test-imap-url.c:
11770
Adjust IMAP URL parser to changes in uri-util.
11773
* src/lib/uri-util.c:
11774
uri-util: Fix handling of '..' and '.' segments in URI paths. As
11775
specified by RFC 3986
11778
2012-10-08 Timo Sirainen <tss@iki.fi>
11780
* src/plugins/fts-lucene/lucene-wrapper.cc:
11781
fts-lucene: Compile fix for previous unlink_directory() change
11784
* src/lib-storage/list/mailbox-list-delete.c, src/lib/unlink-
11785
directory.c, src/lib/unlink-directory.h:
11786
unlink_directory(): Added UNLINK_DIRECTORY_FLAG_SKIP_DOTFILES flag.
11789
2012-10-04 Timo Sirainen <tss@iki.fi>
11791
* src/doveadm/doveadm-dump-index.c, src/lib-index/mail-cache-
11792
compress.c, src/lib-index/mail-cache-private.h, src/lib-index/mail-
11793
cache-transaction.c, src/lib-index/mail-cache.c:
11794
lib-index: Simplified writing to dovecot.index.cache file. The old
11795
method was basically:
11796
- write max. 32 kB to internal buffer
11797
- flush it by writing to reserved areas (with no locks)
11799
The reserved areas were acquired by doing (whenever needed):
11800
- lock dovecot.index.cache
11801
- reserve data from dovecot.index.cache for writing, potentially
11802
increasing the file size by writing 0 bytes. the reserved area size
11804
- unlock dovecot.index.cache
11806
This worked, but if multiple processes were writing to the cache
11807
file it could have left incomplete reserved areas as holes. The
11808
holes were attempted to be filled if they were large enough.
11811
- write max. 256 kB to internal buffer
11812
- lock dovecot.index.cache
11813
- append the buffer to dovecot.index.cache
11814
- unlock dovecot.index.cache
11816
No reserved areas, holes or anything else weird going on.
11818
Ideally no data would be overwritten in the dovecot.index.cache
11819
file, only appended. Unfortunately currently some data is still
11821
- mail_cache_header.{deleted_space,continued_record_count}
11822
- mail_cache_header_fields.next_offset when writing a new one
11823
- mail_cache_header_fields.{last_used,decision}
11824
- mail_cache_record.prev_offset
11826
The changing headers could eventually be moved to dovecot.index.
11827
This however is a backwards-incompatible change. The record's
11828
prev_offset could maybe simply just not be written in those
11829
(somewhat rare) problematic situations.
11832
* src/lib-storage/index/index-rebuild.c:
11833
dbox: Index rebuilding didn't open dovecot.index.backup file. Recent
11834
changes broke it, and it was attemting to use dovecot.index/.backup
11838
* AUTHORS, src/doveadm/doveadm-pw.c, src/lib-imap/test-imap-url.c, src
11839
/lib-sql/driver-sqlite.c, src/lib/ioloop-epoll.c,
11840
src/lib/iso8601-date.c, src/lib/primes.c, src/lib/test-
11841
iso8601-date.c, src/master/capabilities-posix.c, src/plugins/notify
11842
/notify-plugin.c, src/plugins/notify/notify-storage.c:
11843
Added/updated some copyright comments.
11846
2012-10-03 Timo Sirainen <tss@iki.fi>
11848
* src/auth/auth-client-connection.c, src/auth/auth-master-
11849
connection.c, src/auth/auth-penalty.c, src/auth/auth-postfix-
11850
connection.c, src/auth/auth-request-handler.c, src/auth/auth-
11851
request.h, src/auth/auth-worker-client.c, src/auth/auth-worker-
11852
server.c, src/auth/db-ldap.c, src/auth/main.c, src/auth/passdb-
11853
pam.c, src/config/config-filter.h, src/config/settings-get.pl,
11854
src/director/auth-connection.c, src/director/director-connection.c,
11855
src/director/director-host.h, src/director/director.h, src/director
11856
/doveadm-connection.c, src/director/login-connection.c, src/director
11857
/mail-host.h, src/doveadm/doveadm-director.c, src/doveadm/doveadm-
11858
kick.c, src/doveadm/doveadm-mail-index.c, src/doveadm/doveadm-
11859
penalty.c, src/doveadm/doveadm-stats.c, src/doveadm/doveadm-util.c,
11860
src/doveadm/doveadm-who.c, src/doveadm/server-connection.c, src
11861
/imap-login/client-authenticate.c, src/imap-login/client.h, src
11862
/imap-urlauth/imap-urlauth-client.c, src/imap-urlauth/imap-urlauth-
11863
login.c, src/imap-urlauth/imap-urlauth-worker.c, src/imap/cmd-
11864
idle.c, src/imap/cmd-urlfetch.c, src/imap/imap-client.c, src/lib-
11865
auth/auth-client.h, src/lib-auth/auth-master.c, src/lib-auth/auth-
11866
master.h, src/lib-auth/auth-server-connection.c, src/lib-dict/dict-
11867
client.c, src/lib-dns/dns-lookup.c, src/lib-imap-client/imapc-
11868
connection.c, src/lib-imap-storage/imap-msgpart-url.c, src/lib-imap-
11869
urlauth/imap-urlauth-connection.c, src/lib-imap-urlauth/imap-
11870
urlauth-fetch.c, src/lib-imap/imap-url.c, src/lib-imap/test-imap-
11871
url.c, src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h, src
11872
/lib-master/anvil-client.c, src/lib-master/ipc-client.c, src/lib-
11873
master/ipc-server.c, src/lib-master/master-auth.h, src/lib-master
11874
/master-login-auth.c, src/lib-master/master-service-settings.h, src
11875
/lib-master/master-service.h, src/lib-settings/settings-parser.c,
11876
src/lib-storage/index/pop3c/pop3c-client.c, src/lib-storage/mail-
11877
storage-service.h, src/lib-storage/mail-user.c, src/lib/Makefile.am,
11878
src/lib/connection.c, src/lib/connection.h, src/lib/failures.c,
11879
src/lib/fd-close-on-exec.c, src/lib/ioloop-notify-inotify.c, src/lib
11880
/istream-file.c, src/lib/net.c, src/lib/net.h, src/lib/network.c,
11881
src/lib/network.h, src/lib/ostream-file.c, src/lib/sendfile-util.c,
11882
src/lib/test-network.c, src/lib/unix-socket-create.c, src/lib/uri-
11883
util.c, src/lmtp/client.h, src/lmtp/lmtp-proxy.h, src/login-common
11884
/access-lookup.c, src/login-common/client-common.h, src/login-common
11885
/login-proxy-state.c, src/login-common/login-proxy.h, src/login-
11886
common/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c,
11887
src/master/master-settings.c, src/master/service-listen.c,
11888
src/master/service.h, src/plugins/fts/fts-indexer.c, src/plugins/fts
11889
/fts-parser-script.c, src/plugins/quota/quota.c,
11890
src/plugins/replication/replication-plugin.c, src/plugins/stats
11891
/stats-connection.c, src/plugins/zlib/doveadm-zlib.c,
11892
src/pop3-login/client.h, src/pop3/pop3-client.c,
11893
src/replication/aggregator/notify-connection.c,
11894
src/replication/aggregator/replicator-connection.c,
11895
src/replication/replicator/doveadm-connection.c, src/stats/client-
11896
export.c, src/stats/mail-stats.h, src/util/rawlog.c:
11897
Renamed network.[ch] to net.[ch]. The function prefixes already
11898
started with net_ instead of network_. And icecap wants to use
11899
network.h for other purpose. :)
11902
* src/auth/mech-scram-sha1.c, src/auth/password-scheme-scram.c,
11903
src/auth/password-scheme.h:
11904
auth: More error checking and cleanups to SCRAM-SHA-1.
11907
* src/lib-storage/index/maildir/maildir-sync-index.c:
11908
maildir: Fixed crash with mailbox_list_index=yes
11911
* src/lib-dict/dict-file.c, src/lib-dict/dict-memcached-ascii.c, src
11912
/lib-dict/dict-memcached.c, src/lib-dict/dict-redis.c:
11913
lib-dict: Fixed error handling on initialization.
11916
* src/lib-master/master-service.c:
11917
lib-master: Fixed crashing with -i <instance> parameter handling.
11920
* src/lib-index/mail-transaction-log-file.c, src/lib-index/mail-
11921
transaction-log-private.h, src/lib-index/mail-transaction-log.c:
11922
Typofix: s/TRANSCATION/TRANSACTION/
11925
2012-09-19 Florian Zeitz <florob@babelmonkeys.de>
11927
* src/auth/Makefile.am, src/auth/mech-scram-sha1.c, src/auth/password-
11928
scheme-scram.c, src/auth/password-scheme.c, src/auth/password-
11930
auth: Add and use SCRAM-SHA-1 password scheme
11933
2012-10-03 Timo Sirainen <tss@iki.fi>
11935
* src/imap/cmd-close.c, src/imap/cmd-expunge.c:
11936
imap: If CLOSE/EXPUNGE fails with "permission denied", return tagged
11940
* src/plugins/acl/acl-mailbox.c:
11941
acl: Don't silently ignore permission error on expunge.
11944
* src/imap/cmd-expunge.c, src/imap/imap-client.h, src/imap/imap-
11946
imap: Removed unnecessary code.
11949
* src/lib-imap-storage/imap-msgpart.c:
11950
imap: Fixed partial FETCHes.
11953
* src/lib-mail/Makefile.am, src/lib-mail/message-send.c, src/lib-mail
11954
/message-send.h, src/lib-mail/message-size.c, src/lib-mail/message-
11956
lib-mail: Moved message_skip_virtual() to message-size.[ch] and
11960
* src/imap/imap-fetch-body.c, src/imap/imap-fetch.c:
11961
imap: Removed unnecessary #includes
11964
2012-09-30 Timo Sirainen <tss@iki.fi>
11966
* src/lib/istream.c, src/lib/istream.h, src/lib/ostream.c,
11968
Added [io]_stream_create_error() for creating streams that always
11972
2012-10-03 Timo Sirainen <tss@iki.fi>
11974
* src/auth/auth-request-handler.c, src/auth/auth-request.c, src/auth
11976
auth: Don't add proxy/pass fields when we're only authenticating
11977
(not logging in). For example SMTP server doesn't need these fields
11978
when doing SMTP AUTH.
11981
2012-08-30 Florian Zeitz <florob@babelmonkeys.de>
11983
* src/auth/auth-token.c, src/auth/mech-cram-md5.c, src/auth/mech-
11984
scram-sha1.c, src/auth/password-scheme.c, src/lib-imap-urlauth/imap-
11985
urlauth.c, src/lib-ntlm/ntlm-encrypt.c, src/lib/Makefile.am, src/lib
11986
/hmac-cram-md5.c, src/lib/hmac-cram-md5.h, src/lib/hmac-md5.c,
11987
src/lib/hmac-md5.h, src/lib/hmac-sha1.c, src/lib/hmac-sha1.h,
11988
src/lib/hmac.c, src/lib/hmac.h:
11989
lib: Generalize hmac to be hash independent
11992
2012-10-02 Timo Sirainen <tss@iki.fi>
11994
* src/lib-imap/imap-url.c:
11995
lib-imap: Minor fix to imap_url_parse()
11998
2012-09-28 Timo Sirainen <tss@iki.fi>
12000
* src/lib-storage/index/dbox-common/dbox-storage.c:
12001
Compiler warning fix for previous change
12004
* src/lib-master/master-instance.c, src/lib-storage/index/dbox-common
12006
Avoid using PATH_MAX.
12009
* src/lib-storage/index/maildir/maildir-storage.c:
12010
maildir: Directories were created without execute-permissions Broken
12014
* configure.in, src/lib-storage/list/Makefile.am, src/lib-storage/list
12015
/mailbox-list-delete.c, src/lib-storage/list/mailbox-list-delete.h,
12016
src/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list
12017
/mailbox-list-index-backend.c, src/lib-storage/list/mailbox-list-
12018
index-iter.c, src/lib-storage/list/mailbox-list-index-notify.c, src
12019
/lib-storage/list/mailbox-list-index-status.c, src/lib-storage/list
12020
/mailbox-list-index-storage.h, src/lib-storage/list/mailbox-list-
12021
index-sync.c, src/lib-storage/list/mailbox-list-index-sync.h, src
12022
/lib-storage/list/mailbox-list-index.c, src/lib-storage/list
12023
/mailbox-list-index.h, src/lib-storage/list/mailbox-list-maildir.c:
12024
lib-storage: Added initial implementation for layout=index. The idea
12025
is that all of the mailbox names only exist in the mailbox list
12026
index. Storage directories use mailbox GUIDs. This avoids all kinds
12027
of race conditions with mailbox renames. mailbox_list_index=yes is
12028
required for this layout to work.
12030
There are probably still some race conditions within the indexing
12031
code itself. Also error recovery is missing.
12034
* src/lib-storage/mail-storage.c:
12035
lib-storage: Do mailbox autocreation elsewhere also besides just
12039
* src/lib-storage/mail-storage.c:
12040
lib-storage: If trying to rename mailbox over itself, fail early.
12043
2012-09-27 Timo Sirainen <tss@iki.fi>
12045
* src/doveadm/doveadm-dump-index.c:
12046
doveadm dump -t index: Added support for mailbox list index records.
12049
2012-09-26 Timo Sirainen <tss@iki.fi>
12051
* src/doveadm/dsync/doveadm-dsync.c, src/indexer/master-connection.c,
12052
src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
12053
storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-
12054
multi/mdbox-storage.c, src/lib-storage/index/dbox-single/sdbox-
12055
file.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src/lib-
12056
storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
12057
storage/index/imapc/imapc-list.c, src/lib-storage/index/index-
12058
rebuild.c, src/lib-storage/index/index-storage.c, src/lib-
12059
storage/index/index-sync-pvt.c, src/lib-storage/index/index-sync.c,
12060
src/lib-storage/index/maildir/maildir-keywords.c, src/lib-
12061
storage/index/maildir/maildir-storage.c, src/lib-
12062
storage/index/maildir/maildir-uidlist.c, src/lib-
12063
storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
12064
/mbox-lock.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
12065
storage/index/mbox/mbox-sync.c, src/lib-storage/index/shared/shared-
12066
list.c, src/lib-storage/index/shared/shared-storage.c, src/lib-
12067
storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
12068
list-fs-flags.c, src/lib-storage/list/mailbox-list-fs-iter.c, src
12069
/lib-storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-
12070
list-index.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
12071
storage/list/mailbox-list-none.c, src/lib-storage/mail-storage-
12072
private.h, src/lib-storage/mail-storage.c, src/lib-storage/mailbox-
12073
list-private.h, src/lib-storage/mailbox-list.c, src/lib-storage
12074
/mailbox-list.h, src/plugins/acl/acl-backend-vfile-acllist.c,
12075
src/plugins/acl/acl-backend-vfile.c, src/plugins/acl/doveadm-acl.c,
12076
src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-squat
12077
/fts-backend-squat.c, src/plugins/fts/fts-storage.c, src/plugins
12078
/mailbox-alias/mailbox-alias-plugin.c, src/plugins/quota/quota-
12079
dirsize.c, src/plugins/quota/quota-fs.c, src/plugins/quota/quota-
12080
maildir.c, src/plugins/quota/quota.c:
12081
lib-storage: mailbox_get_path() and friends can now return an error.
12082
An upcoming "index" mailbox_list backend uses mailbox GUIDs as the
12083
directory names. Doing a name => GUID lookup may fail, so the path
12086
This is a somewhat annoying change and perhaps it can be removed in
12087
future, but for now it looks like it can't be avoided.
12090
* NEWS, configure.in, src/auth/auth-request.c, src/auth/auth-
12091
request.h, src/auth/db-ldap.c, src/auth/userdb-static.c, src/config
12092
/config-parser.c, src/director/director-connection.c,
12093
src/director/director.c, src/director/director.h,
12094
src/doveadm/Makefile.am, src/doveadm/doveadm-settings.c, src/doveadm
12095
/doveadm-settings.h, src/doveadm/doveadm.c, src/imap/cmd-list.c, src
12096
/lib-imap-client/imapc-client.h, src/lib-imap-client/imapc-
12097
connection.c, src/lib-imap/imap-parser.c, src/lib-imap/imap-
12098
parser.h, src/lib-master/master-service-settings-cache.c, src/lib-
12099
settings/settings-parser.c, src/lib-storage/index/dbox-common/dbox-
12100
storage.c, src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-
12101
storage/index/dbox-multi/mdbox-map-private.h, src/lib-storage/index
12102
/dbox-multi/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-
12103
storage.c, src/lib-storage/index/dbox-single/sdbox-storage.c, src
12104
/lib-storage/index/index-status.c, src/lib-storage/index/maildir
12105
/maildir-storage.c, src/lib-storage/index/mbox/mbox-storage.c, src
12106
/lib-storage/index/pop3c/pop3c-mail.c, src/lib-storage/list/mailbox-
12107
list-fs-iter.c, src/lib-storage/list/mailbox-list-maildir-iter.c,
12108
src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
12109
private.h, src/lib-storage/mail-storage-service.c, src/lib-storage
12110
/mail-storage-settings.c, src/lib-storage/mail-storage-settings.h,
12111
src/lib-storage/mail-storage.h, src/lib-storage/mail-user.c, src
12112
/lib-storage/mail-user.h, src/lib-storage/mailbox-guid-cache.c, src
12113
/lib-storage/mailbox-list-iter.h, src/lib-storage/mailbox-list-
12114
private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
12115
list.h, src/lib/hash.c, src/lib/unichar.h, src/lmtp/client.c,
12116
src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
12117
settings.h, src/plugins/acl/acl-lookup-dict.c, src/plugins/fts-
12118
lucene/Snowball.cc, src/plugins/fts-lucene/lucene-wrapper.cc,
12119
src/plugins/fts-solr/fts-backend-solr.c, src/plugins/mailbox-alias
12120
/mailbox-alias-plugin.c, src/plugins/quota/quota-count.c,
12121
src/plugins/quota/quota-maildir.c, src/plugins/quota/quota-
12122
private.h, src/plugins/quota/quota-storage.c,
12123
src/plugins/quota/quota.c:
12124
Merged changes from v2.1 tree.
12127
2012-09-24 Timo Sirainen <tss@iki.fi>
12129
* src/auth/auth-request.c, src/auth/db-ldap.c:
12130
auth ldap: Previous change broke %$ variable.
12133
* src/auth/auth-request.c, src/auth/auth-request.h, src/auth/db-
12135
ldap auth: Update %variables after each field update. The previous
12136
behavior was a bit confusing. "uid=user" at the beginning updated
12137
the %u variable, but if it was after templates it didn't update it.
12138
Also "=user=%{uid}" that was supposed to be equivalent wasn't. Now
12139
the behavior is consistent across all ways to set the fields.
12142
* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-storage
12143
/mailbox-list.c, src/lib-storage/mailbox-list.h:
12144
lib-storage: Added ALTNOCHECK option to mail_location. By default
12145
Dovecot verifies that $rootdir/dbox-alt-root symlink matches the ALT
12146
directory location, and logs an error if not. This is mainly to
12147
avoid accidents during initial configuration when for example alt
12148
dir was set in global mail_location but was forgotten to be set in
12149
userdb reply's mail_location. The ALTNOCHECK setting simply doesn't
12150
check or create this symlink, giving a (very) small performance
12154
* doc/example-config/conf.d/20-lmtp.conf, src/lmtp/commands.c,
12155
src/lmtp/lmtp-settings.c, src/lmtp/lmtp-settings.h:
12156
lmtp: Added lmtp_rcpt_check_quota setting to check quota already on
12160
* src/lib-storage/mail-storage.h, src/plugins/quota/quota-storage.c:
12161
lib-storage: Added STATUS_CHECK_OVER_QUOTA for checking if user is
12165
* src/lib-storage/index/imapc/imapc-settings.c:
12166
imapc: And another compile fix.. Using the macro would have required
12167
config/all-settings.c to include imapc-client.h, which is a bit too
12168
much trouble just for this.
12171
* src/lib-storage/index/imapc/imapc-settings.c:
12172
imapc: Compile fix for previous change.
12175
* src/auth/passdb-imap.c:
12176
auth: passdb imap assert-crashed always
12179
* src/lib-imap-client/imapc-client.h, src/lib-storage/index/imapc
12181
imapc: Added IMAPC_DEFAULT_MAX_IDLE_TIME macro.
12184
2012-09-22 Timo Sirainen <tss@iki.fi>
12186
* src/lib-lda/mail-deliver.c:
12187
lib-lda: After auto-creating mailbox only open it, don't bother
12191
2012-09-21 Timo Sirainen <tss@iki.fi>
12193
* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
12194
/dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi
12196
mdbox: Delay getting permissions for map/message files. This avoids
12197
a stat() if no mailbox is opened.
12200
* src/lmtp/commands.c:
12201
lmtp: After successful proxying RCPT TO, the second one to
12202
nonexistent user gave tempfail error. Instead of "unknown user" it
12203
gave "Can't handle mixed proxy/non-proxy destinations".
12206
* src/lmtp/client.c:
12207
lmtp: RSET/LHLO should reset any pending proxy connections.
12210
* src/config/config-parser.c:
12211
config: Don't ignore invalid network/mask in local/remote blocks
12214
2012-09-18 Timo Sirainen <tss@iki.fi>
12217
Added signature for changeset 1a6c3b4e92e4
12221
Added tag 2.1.10 for changeset 1a6c3b4e92e4
12224
* NEWS, configure.in:
12226
[1a6c3b4e92e4] [2.1.10]
12228
* src/plugins/fts-lucene/lucene-wrapper.cc:
12229
fts-lucene: Compiling fix for previous change
12232
* src/director/director-request.c:
12233
director: Fixed weak-user handling when there is only one director.
12236
* src/plugins/fts-lucene/Snowball.cc, src/plugins/fts-
12237
lucene/SnowballAnalyzer.h, src/plugins/fts-lucene/SnowballFilter.h,
12238
src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
12239
/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-wrapper.cc:
12240
fts-lucene: Added "normalize" option to put data through user's
12241
normalizer function.
12244
* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-user.c,
12245
src/lib-storage/mail-user.h, src/lib/unichar.h:
12246
Backported parts of normalizer_func_t changes from v2.2 tree.
12249
* src/lib-storage/mailbox-list.c:
12250
lib-storage: Compiling fix for previous alias symlink change
12253
* src/auth/userdb-static.c:
12254
auth: userdb static used auth caching wrong when verifying user
12255
existence with passdb lookup. Cache entries were being looked/added
12256
for userdbs instead of passdbs. This caused problems at least with:
12258
a) Multiple userdbs (where static userdb was the last). Passdb
12259
results were added as cache entries to the first userdbs, possibly
12260
causing some confusion.
12262
b) Multiple passdbs, because the first passdb result was added to
12263
cache and used for the rest of the passdbs.
12266
* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
12267
quota: Allow negative percentage rules up to -99%
12270
* configure.in, src/plugins/Makefile.am, src/plugins/mailbox-
12271
alias/Makefile.am, src/plugins/mailbox-alias/mailbox-alias-plugin.c,
12272
src/plugins/mailbox-alias/mailbox-alias-plugin.h:
12273
Added mailbox-alias plugin. Aliases can be created like:
12275
plugin { mailbox_alias_old = Sent mailbox_alias_new = Sent Messages
12276
mailbox_alias_old2 = Sent mailbox_alias_new2 = Sent Items }
12278
When creating an alias, the original mailbox is also created. The
12279
alias itself is a symlink to the original. Deleting an alias deletes
12280
the symlink. The original mailbox can't be deleted or renamed while
12281
it has aliases. Aliases cannot be renamed. Aliases are skipped when
12282
recalculating quota.
12284
If a mailbox with the alias's name was already created before the
12285
aliasing was enabled, it's not treated as alias until it's first
12289
* src/plugins/fts-solr/fts-backend-solr.c:
12290
fts-solr: Skip alias symlinks when rescanning.
12293
* src/plugins/quota/quota-count.c, src/plugins/quota/quota-maildir.c:
12294
quota: Skip alias symlinks when calculating quota
12297
* src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage/list
12298
/mailbox-list-maildir-iter.c, src/lib-storage/mailbox-guid-cache.c,
12299
src/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-
12300
list.c, src/lib-storage/mailbox-list.h:
12301
lib-storage: MAILBOX_LIST_ITER_SKIP_ALIASES now skips also "alias
12302
symlinks" An "alias symlink" is a symlink that points to the same
12303
directory. These can safely be skipped when iterating through all
12304
mails in all mailboxes (unlike other symlinks that may point to
12305
external storages).
12308
2012-09-14 Timo Sirainen <tss@iki.fi>
12310
* src/lib-storage/index/pop3c/pop3c-mail.c:
12311
pop3c: Fetching message size could have returned wrong value
12314
2012-09-12 Timo Sirainen <tss@iki.fi>
12316
* src/director/director-connection.c, src/director/director-
12317
connection.h, src/director/director.c, src/director/director.h:
12318
director: Improved logging related to disconnections.
12321
* src/director/director-connection.c:
12322
director: Already seen USER-WEAK command caused director to
12326
2012-09-11 Timo Sirainen <tss@iki.fi>
12328
* src/lib-imap-client/imapc-connection.c:
12329
imapc: Fixed parsing "text" input after OK/NO/BAD/BYE.
12332
* src/lib-imap/imap-parser.c, src/lib-imap/imap-parser.h:
12333
lib-imap: Added IMAP_PARSE_FLAG_SERVER_TEXT that fixes parsing input
12337
2012-09-11 Dafan Zhai <dafan.zhai@securepoint.de>
12339
* src/lib-storage/index/index-status.c:
12340
lib-storage: Fixed memory leak getting MAILBOX_METADATA_VIRTUAL_SIZE
12341
Function virtual_size_add_new forgets to free the 'search_args'
12342
object after it searches the mails.
12343
--- src/lib-storage/index/index-status.c | 1 + 1 files changed, 1
12344
insertions(+), 0 deletions(-)
12347
2012-09-11 Timo Sirainen <tss@iki.fi>
12349
* src/lib-imap/imap-parser.c, src/lib-settings/settings-parser.c, src
12350
/lib-storage/mail-storage-service.c, src/lib/hash.c:
12351
Decrease minimum memory allocations. This is mainly to avoid wasting
12352
settings-related memory for IMAP processes. Probably something more
12353
radical should be done at some point.
12356
* src/lib-master/master-service-settings-cache.c:
12357
lib-master: Decrease initial memory pool size
12360
* src/plugins/acl/acl-lookup-dict.c:
12361
acl: Don't add sameuser -> sameuser entries to ACL dict.
12364
2012-09-06 Timo Sirainen <tss@iki.fi>
12366
* src/doveadm/Makefile.am, src/doveadm/doveadm-settings.c, src/doveadm
12367
/doveadm-settings.h, src/doveadm/doveadm.c:
12368
doveadm: Added exec command to easily execute commands from
12369
libexec_dir. For example: doveadm exec imap -u user@domain
12372
2012-09-04 Timo Sirainen <tss@iki.fi>
12374
* src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
12375
settings.c, src/lib-storage/mail-storage-settings.h:
12376
lib-storage: Added "disabled" setting for namespaces.
12379
2012-09-02 Timo Sirainen <tss@iki.fi>
12381
* src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-fs-iter.c:
12382
Various fixes to listing mailboxes. Some of these are a bit kludgy,
12383
v2.2 has a larger rewrite of the code to implement them more nicely.
12386
2012-08-31 Timo Sirainen <tss@iki.fi>
12388
* src/lib-storage/index/mbox/mbox-storage.c:
12389
mbox: Fix to previous public namespace location detection crashfix.
12392
* src/lib-storage/index/dbox-multi/mdbox-storage.c, src/lib-
12393
storage/index/dbox-single/sdbox-storage.c, src/lib-
12394
storage/index/maildir/maildir-storage.c, src/lib-storage/index/mbox
12396
lib-storage: Don't crash when trying to detect public namespace's
12397
mail_location. Public namespaces have no owner.
12400
2012-09-26 Timo Sirainen <tss@iki.fi>
12402
* src/lib-storage/index/index-storage.c, src/lib-storage/mail-
12404
lib-storage: Cleanup, use the new mailbox_*() instead of
12405
mailbox_list_*() when possible.
12408
* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
12409
storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index/dbox-
12410
multi/mdbox-map.c, src/lib-storage/index/index-storage.c, src/lib-
12411
storage/index/index-sync-pvt.c, src/lib-storage/index/maildir
12412
/maildir-util.c, src/lib-storage/list/subscription-file.c, src/lib-
12413
storage/mail-storage-private.h, src/lib-storage/mail-storage.c, src
12414
/lib-storage/mailbox-list-private.h, src/lib-storage/mailbox-list.c,
12415
src/lib-storage/mailbox-list.h, src/plugins/acl/acl-backend-vfile-
12416
acllist.c, src/plugins/fts-lucene/fts-backend-lucene.c:
12417
lib-storage: Cleanups to mailbox mkdir() related functions.
12420
* src/lib-storage/index/index-storage.c:
12421
lib-storage: Make sure permissions are refreshed after creating
12425
* src/lib-storage/index/index-storage.c:
12426
lib-storage: Fixed creating selectable mailbox when it was already
12430
* src/lib-storage/index/dbox-multi/mdbox-file.c, src/lib-storage/index
12431
/dbox-multi/mdbox-map-private.h, src/lib-storage/index/dbox-multi
12432
/mdbox-map.c, src/lib-storage/list/mailbox-list-fs.c, src/lib-
12433
storage/list/subscription-file.c, src/lib-storage/mailbox-list-
12434
private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
12435
list.h, src/lib-storage/mailbox-uidvalidity.c, src/plugins/acl/acl-
12436
backend-vfile-acllist.c, src/plugins/quota/quota-maildir.c:
12437
lib-storage: mailbox_list_get_root_permissions() now returns struct
12438
mailbox_permissions.
12441
* src/lib-storage/list/mailbox-list-subscriptions.c:
12442
lib-storage: Invalid subscription entries weren't removed always
12443
with subscriptions=no namespaces.
12446
* src/lib-storage/mail-storage.c:
12447
lib-storage: Allow mailbox name to begin with separator if
12448
mail_full_filesystem_access=yes
12451
* src/lib-storage/index/cydir/cydir-storage.c, src/lib-storage/index
12452
/dbox-common/dbox-storage.c, src/lib-storage/index/imapc/imapc-
12453
list.c, src/lib-storage/index/index-storage.c, src/lib-storage/index
12454
/index-storage.h, src/lib-storage/index/maildir/maildir-storage.c,
12455
src/lib-storage/index/mbox/mbox-storage.c, src/lib-
12456
storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
12457
list-fs.c, src/lib-storage/list/mailbox-list-index.c, src/lib-
12458
storage/list/mailbox-list-maildir.c, src/lib-storage/list/mailbox-
12459
list-none.c, src/lib-storage/mail-storage.c, src/lib-storage
12460
/mailbox-list-private.h, src/plugins/acl/acl-mailbox-list.c:
12461
lib-storage: Removed mailbox_list.create_mailbox_dir() virtual
12462
function. It really didn't need to be virtual. Some storages didn't
12463
care about it, others wanted it to work basically the same.
12466
* src/lib-storage/index/maildir/maildir-storage.c:
12467
maildir: Minor fixes and code cleanup to mailbox creation.
12470
* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
12471
lib-storage: Improved mailbox_list_mkdir() error handling.
12474
2012-09-25 Timo Sirainen <tss@iki.fi>
12476
* src/lib-storage/index/maildir/maildir-storage.c, src/lib-
12477
storage/list/mailbox-list-maildir.c:
12478
lib-storage: Create "maildirfolder" file only with maildir storage.
12479
Previously it was created for all storages, as long as they used
12480
LAYOUT=maildir++. The file is mainly meant for MDAs that want to
12481
update maildirsize quota, but that's only available for Maildir
12485
* src/lib-storage/list/mailbox-list-maildir.c, src/lib-storage
12486
/mailbox-list-private.h:
12487
lib-storage: Removed unused MAILBOX_DIR_CREATE_TYPE_ONLY_NOSELECT
12490
* src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/lib-storage/list
12491
/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-fs.c, src
12492
/lib-storage/list/mailbox-list-subscriptions.c, src/lib-storage
12493
/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-storage
12494
/mailbox-list.c, src/lib-storage/mailbox-list.h, src/plugins/acl
12495
/acl-backend-vfile.c:
12496
Various cleanups to checking if mailbox name is valid.
12499
* src/lib-storage/index/shared/shared-list.c, src/lib-storage/list
12500
/mailbox-list-subscriptions.c:
12501
lib-storage: Fixed shared namespace autocreation after previous
12502
mailbox list changes. mailbox_list_is_valid_existing_name() no
12503
longer goes all the way through to shared-list backend, but
12504
mailbox_list_join_refpattern() does.
12507
* src/lib-fs/fs-api.c:
12508
lib-fs: Fix to previous change
12511
* src/lib-storage/index/imapc/imapc-list.c, src/lib-
12512
storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
12513
list-fs.c, src/lib-storage/list/mailbox-list-fs.h, src/lib-
12514
storage/list/mailbox-list-maildir.c, src/lib-storage/list/mailbox-
12515
list-maildir.h, src/lib-storage/list/mailbox-list-none.c, src/lib-
12516
storage/mail-storage.c, src/lib-storage/mailbox-list-private.h, src
12517
/lib-storage/mailbox-list.c:
12518
lib-storage: Removed mailbox list backend-specific mailbox
12519
name/pattern validation. The virtual name validity is independent of
12520
the backend. The physical name is always used for paths in
12521
filesystem, so it can also be verified with common code. Backend's
12522
mailbox_dir and storage's internal directories can also be checked.
12523
There's nothing else left really.
12526
* src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-list.h:
12527
lib-storage: Removed unused mailbox_list_create_dir()
12530
* src/lib-storage/mailbox-list.c:
12531
lib-storage: If list escape_char is set, allow ".", ".." and "dbox-
12532
Mails" mailbox names.
12535
* src/lib-storage/mail-storage.c:
12536
lib-storage: Added asserts to make sure mailbox_open() is called
12540
* src/indexer/Makefile.am, src/indexer/master-connection.c, src/lib-
12541
storage/index/cydir/cydir-mail.c, src/lib-storage/index/cydir/cydir-
12542
save.c, src/lib-storage/index/cydir/cydir-sync.c, src/lib-
12543
storage/index/dbox-common/dbox-storage.c, src/lib-storage/index
12544
/dbox-single/sdbox-file.c, src/lib-storage/index/dbox-single/sdbox-
12545
sync-rebuild.c, src/lib-storage/index/index-rebuild.c, src/lib-
12546
storage/index/index-storage.c, src/lib-storage/index/index-sync-
12547
pvt.c, src/lib-storage/index/index-sync.c, src/lib-
12548
storage/index/maildir/maildir-keywords.c, src/lib-
12549
storage/index/maildir/maildir-sync-index.c, src/lib-
12550
storage/index/maildir/maildir-uidlist.c, src/lib-
12551
storage/index/maildir/maildir-util.c, src/lib-storage/index/mbox
12552
/mbox-storage.c, src/lib-storage/mail-storage-private.h, src/lib-
12553
storage/mail-storage.c, src/plugins/acl/doveadm-acl.c, src/plugins
12554
/fts-squat/fts-backend-squat.c, src/plugins/quota/quota-fs.c:
12555
lib-storage: Added mailbox_get_path_to() wrapper for
12556
mailbox_list_get_path(). Changed the code to use as much of
12557
mailbox_get_path_to() and mailbox_get_path() as possible.
12560
* src/lib-fs/fs-api.c:
12561
lib-fs: Minor code cleanup
12564
* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
12566
lib-storage: Added mail_storage_copy_error()
12569
* src/lib-index/mail-transaction-log-file.c:
12570
lib-index: Transaction log creation crashed if required extension
12571
name length wasn't divisible by 4.
12574
* src/lib-storage/index/Makefile.am, src/lib-storage/index/dbox-
12575
common/Makefile.am, src/lib-storage/index/dbox-common/dbox-sync-
12576
rebuild.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.h,
12577
src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
12578
storage/index/dbox-single/sdbox-sync-rebuild.c, src/lib-
12579
storage/index/index-rebuild.c, src/lib-storage/index/index-
12581
lib-storage: Moved dbox-sync-rebuild API to more generic index-
12585
* src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
12586
storage/index/dbox-common/dbox-storage.h, src/lib-storage/index
12587
/dbox-common/dbox-sync-rebuild.c, src/lib-storage/index/dbox-common
12588
/dbox-sync-rebuild.h, src/lib-storage/index/dbox-multi/mdbox-
12589
storage-rebuild.c, src/lib-storage/index/dbox-single/sdbox-sync-
12591
dbox: Renamed dbox_sync_rebuild_verify_alt_storage() to
12592
dbox_verify_alt_storage()
12595
2012-09-24 Timo Sirainen <tss@iki.fi>
12597
* src/doveadm/Makefile.am:
12598
doveadm: Install doveadm-settings.h header
12601
2012-09-22 Timo Sirainen <tss@iki.fi>
12603
* src/lib-lda/mail-deliver.c:
12604
lib-lda: After auto-creating mailbox only open it, don't bother
12608
* src/lib-storage/index/imapc/imapc-save.c:
12609
imapc: Fixed crash when saving/copying messages.
12612
2012-09-20 Timo Sirainen <tss@iki.fi>
12614
* src/config/config-connection.c, src/config/config-request.c,
12615
src/config/doveconf.c:
12616
config: Fixes to previous module change.
12619
2012-09-19 Timo Sirainen <tss@iki.fi>
12621
* src/lib-storage/mail-storage-service.c:
12622
lib-storage: Verify that the shared library's version matches the
12626
* src/imap/cmd-fetch.c, src/imap/cmd-select.c, src/imap/imap-fetch.c,
12627
src/imap/imap-fetch.h, src/imap/imap-search-args.c, src/imap/imap-
12629
imap: Fixed crashing in QRESYNC SELECT.
12632
* src/auth/auth-settings.c, src/lib-master/master-service-private.h,
12633
src/lib-master/master-service-settings.c, src/lib-master/master-
12634
service-settings.h, src/lib-master/master-service-ssl-settings.c,
12635
src/lib-master/master-service.c, src/lib-master/master-service.h,
12636
src/lib-storage/mail-storage-service.c, src/lmtp/lmtp-settings.c,
12637
src/login-common/login-settings.c, src/login-common/main.c:
12638
Read SSL settings only if service has SSL sockets or
12639
MASTER_SERVICE_FLAG_USE_SSL_SETTINGS.
12642
* src/config/config-connection.c, src/config/config-filter.c,
12643
src/config/config-filter.h, src/config/config-parser-private.h,
12644
src/config/config-parser.c, src/config/config-parser.h, src/config
12645
/config-request.c, src/config/config-request.h,
12646
src/config/doveconf.c, src/config/main.c:
12647
config: Support looking up config for multiple modules at the same
12651
2012-09-18 Timo Sirainen <tss@iki.fi>
12653
* src/lib-fs/fs-api.c:
12654
lib-fs: Fix to previous API change
12657
2012-09-17 Timo Sirainen <tss@iki.fi>
12659
* src/lib-fs/fs-api-private.h, src/lib-fs/fs-api.c, src/lib-fs/fs-
12660
api.h, src/lib-fs/fs-posix.c, src/lib-fs/fs-sis-queue.c, src/lib-fs
12661
/fs-sis.c, src/lib-storage/index/dbox-common/dbox-storage.c:
12662
lib-fs: fs_init() API changed to allow returning an error.
12665
* src/lib-storage/index/dbox-single/sdbox-storage.h:
12666
sdbox: Removed unnecessary code line.
12669
2012-09-16 Timo Sirainen <tss@iki.fi>
12671
* src/plugins/fts-squat/Makefile.am:
12672
Makefile: Fixed building fts-squat
12675
* src/doveadm/Makefile.am, src/doveadm/dsync/Makefile.am, src/lib-
12676
dict/Makefile.am, src/lib-imap/Makefile.am, src/lib-
12677
index/Makefile.am, src/lib-mail/Makefile.am, src/lib-
12678
storage/Makefile.am, src/plugins/fts/Makefile.am:
12679
Makefile: Again changes to handling test program dependencies. .la
12680
libraries need to link .lo files, .a libraries need to link .o
12681
files. Changed dsync to be .la library for consistency.
12684
* src/auth/passdb-cache.h, src/config/config-request.h, src/config
12685
/old-set-parser.h, src/doveadm/doveadm-mail-index.c, src/doveadm
12686
/doveadm-mail-iter.h, src/doveadm/doveadm-mail.c, src/doveadm
12687
/doveadm-mail.h, src/doveadm/doveadm-mailbox-list-iter.h,
12688
src/doveadm/dsync/dsync-mailbox-tree-fill.c, src/imap/cmd-list.c,
12689
src/imap/cmd-notify.c, src/imap/imap-notify.c, src/lib-imap/imap-
12690
util.h, src/lib-index/mail-index-modseq.h, src/lib-lda/mail-
12691
deliver.h, src/lib-storage/Makefile.am, src/lib-storage/index/imapc
12692
/imapc-sync.h, src/lib-storage/index/maildir/maildir-sync.h, src
12693
/lib-storage/list/mailbox-list-delete.h, src/lib-storage/list
12694
/mailbox-list-index.h, src/lib-storage/list/mailbox-list-
12695
subscriptions.h, src/lib-storage/mailbox-list-iter.h, src/lib-
12696
storage/mailbox-list-private.h, src/lib-storage/mailbox-list.h,
12697
src/plugins/notify/notify-plugin.h, src/plugins/quota/quota-count.c,
12698
src/plugins/virtual/virtual-config.c:
12699
Removed all the "enum foo;" declarations. They didn't seem to be
12700
very standard. Old gcc versions warn about them and C++ code doesn't
12704
* src/director/user-directory.c, src/doveadm/dsync/dsync-mailbox-tree-
12705
sync.c, src/lib-storage/index/dbox-common/dbox-storage.c, src/lib-
12706
storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index/maildir
12707
/maildir-storage.c, src/lib-storage/list/mailbox-list-index.c,
12708
src/lib/json-parser.c:
12709
Compiler warning fixes for 32bit systems.
12712
* src/anvil/main.c, src/auth/auth-request-handler.c, src/auth/userdb-
12713
passwd.c, src/director/director-test.c, src/imap/imap-fetch-body.c,
12714
src/lib-index/mail-index-alloc-cache.c, src/lib-storage/index/index-
12715
search.c, src/lib/lib-signals.c,
12716
src/replication/replicator/replicator.c:
12717
Fixed compiling with OSes where NULL isn't defined as void pointer
12721
2012-09-16 Stephan Bosch <stephan@rename-it.nl>
12723
* src/imap-urlauth/imap-urlauth-worker.c:
12724
imap-urlauth: Fixed crashes when destroying client
12727
* src/imap-urlauth/imap-urlauth-worker.c, src/lib-imap-urlauth/imap-
12729
imap-urlauth: Treat internal errors in URL fetching differently from
12733
* src/imap-urlauth/imap-urlauth-worker.c, src/imap/imap-client.c, src
12734
/lib-imap-urlauth/imap-urlauth-private.h, src/lib-imap-urlauth/imap-
12735
urlauth.c, src/lib-imap-urlauth/imap-urlauth.h:
12736
imap-urlauth: Fixes to handling anonymous user
12739
* src/lib-dict/dict-file.c:
12740
lib-dict: Previous API change broke dict_init()
12743
2012-09-16 Timo Sirainen <tss@iki.fi>
12745
* src/anvil/Makefile.am, src/auth/Makefile.am,
12746
src/director/Makefile.am, src/doveadm/dsync/Makefile.am, src/lib-
12747
dict/Makefile.am, src/lib-imap/Makefile.am, src/lib-
12748
index/Makefile.am, src/lib-mail/Makefile.am, src/lib-
12749
storage/Makefile.am, src/plugins/fts-squat/Makefile.am,
12750
src/plugins/fts/Makefile.am:
12751
Makefile: Fixed test program dependencies Explicit dependencies on
12752
.o or .lo files didn't seem to work properly and with high enough
12753
make -j value the build failed. Depending on the entire library
12754
guarantees that all the individual .o files have been built.
12757
* src/lib-dovecot/Makefile.am:
12758
Makefile: Link libdovecot-ssl with libdovecot. This fixes linking
12762
* src/imap-urlauth/Makefile.am:
12763
Makefile: Fixed dependencies for imap-urlauth
12766
* src/imap-urlauth/Makefile.am:
12767
Makefile: Fixed imap-urlauth library dependencies
12770
* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart.c, src
12771
/lib-imap-storage/imap-msgpart.h:
12772
lib-imap-storage: imap_msgpart_size() should return size as uoff_t,
12776
* src/imap/imap-client.c:
12777
imap: Assert-crashfix for URLFETCH command.
12780
* src/anvil/connect-limit.c, src/anvil/penalty.c, src/auth/auth-
12781
master-connection.c, src/auth/auth-stream.c, src/auth/checkpassword-
12782
reply.c, src/doveadm/doveadm-mail-index.c, src/doveadm/doveadm-mail-
12783
server.c, src/doveadm/doveadm-print-server.c, src/doveadm/dsync
12784
/dsync-ibc-stream.c, src/doveadm/dsync/dsync-serializer.c, src/imap-
12785
urlauth/imap-urlauth-client.c, src/indexer/worker-connection.c, src
12786
/lib-auth/auth-client-request.c, src/lib-auth/auth-master.c, src
12787
/lib-imap-urlauth/imap-urlauth-connection.c, src/lib-master/master-
12788
instance.c, src/lib-master/master-login.c, src/lib/strescape.c,
12789
src/lib/strescape.h, src/log/doveadm-connection.c, src/master
12790
/service-process.c, src/plugins/replication/replication-plugin.c,
12791
src/plugins/stats/stats-connection.c, src/replication/replicator
12792
/doveadm-connection.c, src/replication/replicator/replicator-
12793
queue.c, src/stats/client-export.c, src/util/script-login.c:
12794
Renamed str_tabescape_write() to str_append_tabescaped()
12797
* src/auth/db-dict.c, src/dict/dict-connection.c, src/lib-dict/dict-
12798
client.c, src/lib-dict/dict-db.c, src/lib-dict/dict-file.c, src/lib-
12799
dict/dict-memcached-ascii.c, src/lib-dict/dict-memcached.c, src/lib-
12800
dict/dict-private.h, src/lib-dict/dict-redis.c, src/lib-dict/dict-
12801
sql.c, src/lib-dict/dict.c, src/lib-dict/dict.h, src/lib-imap-
12802
urlauth/imap-urlauth-backend.c, src/plugins/acl/acl-lookup-dict.c,
12803
src/plugins/expire/doveadm-expire.c, src/plugins/expire/expire-
12804
plugin.c, src/plugins/quota/quota-dict.c:
12805
dict_init() API changed to return int.
12808
2012-09-15 Stephan Bosch <stephan@rename-it.nl>
12810
* .hgignore, README, configure.in, src/Makefile.am, src/imap-
12811
urlauth/Makefile.am, src/imap-urlauth/imap-urlauth-client.c, src
12812
/imap-urlauth/imap-urlauth-client.h, src/imap-urlauth/imap-urlauth-
12813
common.h, src/imap-urlauth/imap-urlauth-login-settings.c, src/imap-
12814
urlauth/imap-urlauth-login-settings.h, src/imap-urlauth/imap-
12815
urlauth-login.c, src/imap-urlauth/imap-urlauth-settings.c, src/imap-
12816
urlauth/imap-urlauth-settings.h, src/imap-urlauth/imap-urlauth-
12817
worker-settings.c, src/imap-urlauth/imap-urlauth-worker-settings.h,
12818
src/imap-urlauth/imap-urlauth-worker.c, src/imap-urlauth/imap-
12819
urlauth.c, src/imap/Makefile.am, src/imap/cmd-genurlauth.c, src/imap
12820
/cmd-resetkey.c, src/imap/cmd-urlfetch.c, src/imap/imap-client.c,
12821
src/imap/imap-client.h, src/imap/imap-commands.c, src/imap/imap-
12822
commands.h, src/imap/imap-settings.c, src/imap/imap-settings.h,
12823
src/imap/main.c, src/lib-imap-urlauth/Makefile.am, src/lib-imap-
12824
urlauth/imap-urlauth-backend.c, src/lib-imap-urlauth/imap-urlauth-
12825
backend.h, src/lib-imap-urlauth/imap-urlauth-connection.c, src/lib-
12826
imap-urlauth/imap-urlauth-connection.h, src/lib-imap-urlauth/imap-
12827
urlauth-fetch.c, src/lib-imap-urlauth/imap-urlauth-fetch.h, src/lib-
12828
imap-urlauth/imap-urlauth-private.h, src/lib-imap-urlauth/imap-
12829
urlauth.c, src/lib-imap-urlauth/imap-urlauth.h:
12830
Added support for IMAP URLAUTH and URLAUTH=BINARY extensions
12832
Extends imap service with URLAUTH and URLAUTH=BINARY support:
12833
- Adds new commands URLFETCH, GENURLAUTH and RESETKEY.
12835
Creates imap-urlauth service in src/imap-urlauth.
12837
Functionality common to both the imap and imap-urlauth services is
12838
located in src/lib-imap-urlauth.
12841
- use mailbox GUIDs instead of names
12842
- doveadm command to delete stale urlauth entries?
12843
- add delay when attempting to access nonexistent user
12844
- create urlauth-worker queue, similar to how indexer-worker works
12845
(could we share code?..)
12848
2012-09-15 Timo Sirainen <tss@iki.fi>
12850
* src/lib-imap-storage/imap-msgpart.c:
12851
lib-imap-storage: imap_msgpart_bodypartstructure() returned freed
12855
* src/lib-index/mail-index-sync.c, src/lib-index/mail-index.h, src
12856
/lib-storage/index/cydir/cydir-sync.c, src/lib-storage/index/imapc
12857
/imapc-sync.c, src/lib-storage/index/index-sync-changes.c,
12858
src/plugins/virtual/virtual-sync.c:
12859
lib-index: Removed MAIL_INDEX_SYNC_TYPE_APPEND. No backend cares
12863
* src/lib-index/mail-index-private.h, src/lib-index/mail-index-
12864
transaction-export.c, src/lib-index/mail-index.c, src/lib-index
12865
/mail-index.h, src/lib-storage/index/cydir/cydir-storage.c, src/lib-
12866
storage/index/dbox-common/dbox-storage.c:
12867
lib-index: Changed mail_index_set_fsync_mode() to use a separate
12871
* src/lib-imap/imap-bodystructure.c, src/lib-imap/test-imap-
12873
lib-imap: Fixed Content-Language parsing from BODYSTRUCTURE
12876
* src/lib-imap/imap-bodystructure.h:
12877
imap-bodystructure.h comment fix
12880
* src/lib-imap/imap-bodystructure.h:
12881
imap-bodystructure.h comment update
12884
* src/lib-imap/test-imap-bodystructure.c:
12885
lib-imap: Updated test-imap-bodystructure
12888
* src/lib-imap-storage/imap-msgpart-url.c, src/lib-imap-storage/imap-
12889
msgpart-url.h, src/lib-imap-storage/imap-msgpart.c, src/lib-imap-
12890
storage/imap-msgpart.h:
12891
lib-imap-storage: Added support for getting BODYPARTSTRUCTURE Based
12892
on patch by Stephan Bosch.
12895
* src/lib-imap/Makefile.am, src/lib-imap/imap-bodystructure.c, src
12896
/lib-imap/imap-bodystructure.h, src/lib-imap/test-imap-
12898
lib-imap: Added support for parsing IMAP BODYSTRUCTURE and writing
12899
out a modified version.
12902
* src/lib-imap/imap-bodystructure.c, src/lib-imap/imap-
12903
bodystructure.h, src/lib-storage/index/index-mail.c:
12904
imap_body_parse_from_bodystructure() now returns the error instead
12908
* src/lib-storage/index/dbox-common/dbox-mail.c, src/lib-
12909
storage/index/imapc/imapc-mail.c, src/lib-storage/index/index-mail-
12910
binary.c, src/lib-storage/index/index-mail-headers.c, src/lib-
12911
storage/index/index-mail.c, src/lib-storage/index/index-mail.h, src
12912
/lib-storage/index/index-search.c, src/lib-storage/index/maildir
12913
/maildir-mail.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
12914
storage/mail-storage-private.h, src/plugins/virtual/virtual-mail.c:
12915
lib-storage: Moved index_mail.data_pool to mail_private.data_pool
12918
* src/plugins/fts-lucene/Snowball.cc, src/plugins/fts-
12919
lucene/SnowballAnalyzer.h, src/plugins/fts-lucene/SnowballFilter.h,
12920
src/plugins/fts-lucene/fts-lucene-plugin.c, src/plugins/fts-lucene
12921
/fts-lucene-plugin.h, src/plugins/fts-lucene/lucene-wrapper.cc:
12922
fts-lucene: Added "normalize" option to put data through
12926
* src/doveadm/doveadm-mail-fetch.c, src/lib-charset/charset-iconv.c,
12927
src/lib-charset/charset-utf8.c, src/lib-charset/charset-utf8.h, src
12928
/lib-imap/imap-base-subject.c, src/lib-mail/message-decoder.c, src
12929
/lib-mail/message-decoder.h, src/lib-mail/message-header-decode.c,
12930
src/lib-mail/message-header-decode.h, src/lib-mail/message-search.c,
12931
src/lib-mail/message-search.h, src/lib-mail/test-message-decoder.c,
12932
src/lib-mail/test-message-header-decode.c, src/lib-storage/index
12933
/index-search.c, src/lib-storage/mail-storage-private.h, src/lib-
12934
storage/mail-user.c, src/lib-storage/mail-user.h, src/lib/unichar.h,
12935
src/plugins/fts-squat/fts-backend-squat.c, src/plugins/fts/fts-api-
12936
private.h, src/plugins/fts/fts-api.c, src/plugins/fts/fts-build-
12938
Replaced "decomposed titlecase" conversions with more generic
12939
normalizer function. Plugins can now change
12940
mail_user.default_normalizer. Specific searches can also use
12941
different normalizers by changing mail_search_context.normalizer.
12944
* src/lib-storage/index/index-sort.c, src/lib/unichar.c,
12946
uni_utf8_to_decomposed_titlecase(): Require input length to be exact
12947
now. Most of the callers did that already anyway
12950
2012-09-14 Timo Sirainen <tss@iki.fi>
12952
* src/auth/auth-settings.c, src/login-common/login-common.h:
12953
Use "tokenlogin" socket name (instead of "token-login") after all.
12954
Auth code has special checks for '-', which breaks "token-login" and
12955
fixing it is rather annoying.
12959
auth: Auth workers don't need to read token secret.
12962
2012-09-14 Stephan Bosch <stephan@rename-it.nl>
12964
* src/auth/Makefile.am, src/auth/auth-client-connection.c, src/auth
12965
/auth-client-connection.h, src/auth/auth-master-connection.c,
12966
src/auth/auth-request-handler.c, src/auth/auth-request-handler.h,
12967
src/auth/auth-request.c, src/auth/auth-request.h, src/auth/auth-
12968
settings.c, src/auth/auth-token.c, src/auth/auth-token.h,
12969
src/auth/main.c, src/auth/mech-dovecot-token.c, src/auth/mech.h,
12970
src/imap/main.c, src/lib-master/master-login-auth.c, src/lib-master
12971
/master-login-auth.h, src/lib-master/master-login.c, src/lib-master
12972
/master-login.h, src/lib-storage/mail-storage-service.c, src/lib-
12973
storage/mail-user.h, src/login-common/client-common-auth.c, src
12974
/login-common/client-common.c, src/login-common/login-common.h, src
12975
/login-common/main.c, src/master/master-settings.c:
12976
Added support to perform token-based service process authentication.
12978
Creates hidden SASL method DOVECOT-TOKEN. This method is not
12979
available on the normal auth login socket and thus never presented
12982
Creates new auth socket type 'tokenlogin'. This otherwise normal
12983
login socket only offers authentication using the DOVECOT-TOKEN
12986
Creates new token-login directory in base_dir to separate token
12987
logins from normal logins. This directory is otherwise completely
12988
identical to the normal login dir, i.e. it contains sockets for the
12989
service backends, used to chroot login processes to, etc.
12991
Makes default login socket configurable.
12993
Performs some minor changes to src/login-common to build very sparse
12994
protocols, e.g. avoid the need to implement methods that are not
12998
2012-09-14 Timo Sirainen <tss@iki.fi>
13000
* src/lib/hmac-sha1.c, src/lib/hmac-sha1.h:
13001
hmac_sha1_init(): Use void pointer for the key.
13004
2012-09-14 Stephan Bosch <stephan@rename-it.nl>
13006
* src/imap/cmd-append.c, src/lib-imap-storage/imap-msgpart-url.c, src
13007
/lib-imap-storage/imap-msgpart-url.h:
13008
lib-imap-storage: Changed imap_msgpart_url API.
13010
Adds enum mail_error return value to
13011
imap_msgpart_url_open_mailbox().
13013
Now parses msgpart at the beginning and adds function to access
13014
underlying imap_msgpart object directly.
13017
* src/imap-login/client-authenticate.c:
13018
Fixes IMAP LOGIN REFERRAL to properly encode IMAP URL.
13021
* src/lib-imap/imap-url.c, src/lib-imap/imap-url.h, src/lib-imap/test-
13022
imap-url.c, src/lib/uri-util.c, src/lib/uri-util.h:
13023
Added support for creating IMAP URLs.
13026
2012-09-13 Timo Sirainen <tss@iki.fi>
13028
* src/lib-storage/index/index-mail.c:
13029
lib-storage: Message size/sent date could have been set as 0 in some
13030
cases. It doesn't look like it ever happened with the current
13031
storage backends or use cases.
13034
* src/lib-storage/mailbox-list-private.h:
13035
lib-storage: Allow #including mailbox-list-private.h from C++ code
13038
* dovecot-config.in.in:
13039
dovecot-config: Added lib-storage/list to be in
13040
LIBDOVECOT_STORAGE_INCLUDE
13043
* src/lib-storage/mail-storage-private.h, src/lib-storage/mail-
13044
storage.c, src/plugins/acl/acl-mailbox.c, src/plugins/lazy-expunge
13045
/lazy-expunge-plugin.c, src/plugins/notify/notify-storage.c:
13046
lib-storage API change to allow using it from C++ code
13049
* src/lib-storage/list/mailbox-list-index.c, src/lib-storage/mail-
13050
storage-private.h, src/lib-storage/mail-storage-settings.c, src/lib-
13051
storage/mail-storage-settings.h, src/lib-storage/mail-storage.c:
13052
lib-storage: Moved mail_storage_settings_to_index_flags to mail-
13053
storage-private.h This is mainly to allow #including mail-storage-
13054
settings.h from C++ code without having to #include mail-index.h
13055
from mail-storage-settings.h
13058
2012-09-11 Timo Sirainen <tss@iki.fi>
13061
i_get(pw|gr)(nam|uid): Use small initial buffer sizes. For processes
13062
that need to do only a single lookup there's no point in wasting a
13063
lot of memory for the maximum buffer size.
13066
2012-09-10 Timo Sirainen <tss@iki.fi>
13068
* src/doveadm/doveadm-mail-mailbox.c, src/doveadm/dsync/dsync-brain-
13069
mailbox-tree-sync.c, src/imap/cmd-rename.c, src/lib-storage/fail-
13070
mailbox.c, src/lib-storage/index/imapc/imapc-list.c, src/lib-
13071
storage/index/index-storage.c, src/lib-storage/index/index-
13072
storage.h, src/lib-storage/index/shared/shared-list.c, src/lib-
13073
storage/list/mailbox-list-fs.c, src/lib-storage/list/mailbox-list-
13074
index.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
13075
storage/list/mailbox-list-none.c, src/lib-storage/mail-storage-
13076
private.h, src/lib-storage/mail-storage.c, src/lib-storage/mail-
13077
storage.h, src/lib-storage/mailbox-list-private.h, src/plugins/acl
13078
/acl-mailbox.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
13079
src/plugins/mail-log/mail-log-plugin.c, src/plugins/notify/notify-
13080
plugin-private.h, src/plugins/notify/notify-plugin.c,
13081
src/plugins/notify/notify-plugin.h, src/plugins/notify/notify-
13082
storage.c, src/plugins/replication/replication-plugin.c:
13083
lib-storage: Removed rename_children parameter from mailbox_rename()
13084
The children are now always renamed. The only reason this feature
13085
was added in the first place was to make dsync's job easier, but
13086
this is no longer needed.
13089
2012-09-07 Timo Sirainen <tss@iki.fi>
13091
* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/doveadm-dsync.c,
13092
src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
13093
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
13094
src/doveadm/dsync/dsync-brain-private.h, src/doveadm/dsync/dsync-
13095
brain.c, src/doveadm/dsync/dsync-brain.h, src/doveadm/dsync/dsync-
13096
ibc-pipe.c, src/doveadm/dsync/dsync-ibc-private.h, src/doveadm/dsync
13097
/dsync-ibc-stream.c, src/doveadm/dsync/dsync-ibc.c,
13098
src/doveadm/dsync/dsync-ibc.h, src/doveadm/dsync/dsync-slave-pipe.c,
13099
src/doveadm/dsync/dsync-slave-private.h, src/doveadm/dsync/dsync-
13100
slave-stream.c, src/doveadm/dsync/dsync-slave.c, src/doveadm/dsync
13102
dsync: Renamed "slave" to "ibc" (= inter-brain communicator)
13105
* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/doveadm-dsync.c,
13106
src/doveadm/dsync/dsync-slave-io.c, src/doveadm/dsync/dsync-slave-
13107
stream.c, src/doveadm/dsync/dsync-slave.h:
13108
dsync: Renamed "io" slave to "stream".
13111
2012-09-06 Timo Sirainen <tss@iki.fi>
13113
* src/doveadm/dsync/Makefile.am, src/doveadm/dsync/dsync-brain-
13114
mailbox-tree.c, src/doveadm/dsync/dsync-mailbox-tree-fill.c,
13115
src/doveadm/dsync/dsync-mailbox-tree-private.h, src/doveadm/dsync
13116
/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-mailbox-tree.c,
13117
src/doveadm/dsync/dsync-mailbox-tree.h, src/doveadm/dsync/dsync-
13118
slave-io.c, src/doveadm/dsync/test-dsync-mailbox-tree-sync.c:
13119
dsync: Rewritten syncing for mailbox renames. A few things didn't go
13120
as I originally intended in the algorithm, but it appears to give
13121
consistent results now. :) But the algorithm should probably be
13122
looked at more closely at some point.
13125
* src/auth/auth-master-connection.c, src/auth/mech-digest-md5.c,
13126
src/imap/main.c, src/lib-index/mail-index-modseq.c, src/lib-index
13127
/mail-index-sync-keywords.c, src/lib-index/mail-index-transaction-
13128
export.c, src/lib-index/mail-transaction-log-append.c, src/lib-index
13129
/mail-transaction-log-file.c, src/lib-index/mail-transaction-log-
13130
view.c, src/lib-mail/istream-binary-converter.c, src/lib-mail
13131
/istream-qp-decoder.c, src/lib-mail/test-message-header-encode.c,
13132
src/lib-otp/otp-parse.c, src/lib-storage/index/index-mail.c, src
13133
/lib-storage/index/maildir/maildir-save.c, src/lib-storage/mail.c,
13134
src/lib/askpass.c, src/lib/buffer.c, src/lib/buffer.h,
13135
src/lib/guid.c, src/lib/iostream-rawlog.c, src/lib/istream-
13136
base64-decoder.c, src/lib/istream-base64-encoder.c, src/lib/str.c,
13137
src/login-common/sasl-server.c, src/plugins/fts-lucene/Snowball.cc,
13138
src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins/fts-lucene
13139
/lucene-wrapper.cc, src/plugins/fts/fts-expunge-log.c,
13140
src/pop3-login/client.c, src/pop3/main.c:
13141
Renamed buffer_create_*data() to buffer_create_from_*data() for
13142
consistency. Especially i_stream_create_from_data() was a very
13143
similar function, which made it difficult to remember which one
13144
should have "from" and which one shouldn't.
13147
* src/lib/buffer.c:
13148
buffer_create_data(): Clear the memory area immediately.
13152
str_*printfa(): Avoid (harder!) growing underlying buffer if
13153
possible. The previous change for this didn't work properly.
13156
2012-09-04 Timo Sirainen <tss@iki.fi>
13158
* src/doveadm/doveadm-dump-mailboxlog.c:
13159
doveadm dump -t mailboxlog: Added support for
13160
MAILBOX_LOG_RECORD_CREATE_DIR
13167
* src/imap/cmd-notify.c, src/imap/imap-notify.c:
13168
NOTIFY: Fixed "subscribed" mailbox filter to actually work.
13171
* src/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
13172
lib-storage: Added mailbox_is_subscribed()
13175
* src/imap/imap-notify.c, src/lib-storage/list/mailbox-list-index-
13176
notify.c, src/lib-storage/list/mailbox-list-index.c, src/lib-
13177
storage/list/mailbox-list-index.h, src/lib-storage/list/mailbox-
13178
list-iter.c, src/lib-storage/mailbox-list-notify.h, src/lib-storage
13179
/mailbox-list-private.h, src/lib-storage/mailbox-tree.c, src/lib-
13180
storage/mailbox-tree.h:
13181
NOTIFY: Implemented SubscriptionChange
13184
* src/lib-index/mailbox-log.h, src/lib-storage/mailbox-list.c:
13185
lib-storage: Log mailbox directory creations to mailbox log.
13188
* src/lib-storage/mail-namespace.c, src/lib-storage/mail-storage-
13189
settings.c, src/lib-storage/mail-storage-settings.h:
13190
lib-storage: Added "disabled" setting for namespaces.
13193
* src/lmtp/commands.c:
13194
lmtp proxying: Don't auto-set mail_max_lock_timeout higher than it
13198
* src/lib-storage/mail-storage-service.c, src/lib-storage/mail-
13200
lib-storage: Added mail_storage_service_user_get_mail_set()
13203
* src/lib-storage/list/mailbox-list-index-iter.c:
13204
mailbox_list_index=yes: Fixed listing nonexistent subscribed
13208
* src/lib-mail/istream-attachment-extractor.c:
13212
* src/lib-storage/list/mailbox-list-iter.c, src/lib-storage/mail-
13213
namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage
13215
imap: Fixed LIST (SPECIAL-USE RECURSIVEMATCH) to actually return
13219
* src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-iter.c:
13220
LIST: Fixes to handling subscriptions
13223
* src/lib-storage/Makefile.am, src/lib-storage/list/Makefile.am, src
13224
/lib-storage/list/mailbox-list-iter.c, src/lib-storage/mailbox-list-
13226
lib-storage: Moved mailbox-list-iter.c to list/
13229
* src/lib-storage/list/mailbox-list-index-sync.c:
13230
mailbox_list_index: Assert-crashfix when seeing a new mailbox with
13234
* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
13235
storage.c, src/plugins/quota/quota.c:
13236
quota: Removed quota_ignore_save_errors setting and made it enabled
13240
2012-09-03 Timo Sirainen <tss@iki.fi>
13242
* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
13244
lib-imap-client: Added support for NAMESPACE capability Required by
13245
previous imapc commit
13248
2012-09-02 Timo Sirainen <tss@iki.fi>
13250
* src/lib-storage/index/imapc/imapc-storage.c, src/lib-
13251
storage/index/imapc/imapc-storage.h, src/lib-storage/index/index-
13252
status.c, src/lib-storage/mail-storage.h:
13253
lib-storage: Added MAILBOX_METADATA_BACKEND_NAMESPACE
13256
* src/lib-storage/mail-storage.h:
13260
* src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
13261
index.c, src/doveadm/doveadm-mail.c, src/doveadm/doveadm-mailbox-
13262
list-iter.c, src/imap/cmd-list.c, src/imap/cmd-namespace.c, src/imap
13263
/cmd-notify.c, src/lib-storage/index/maildir/maildir-storage.c, src
13264
/lib-storage/index/shared/shared-storage.c, src/lib-storage/list
13265
/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-index.c,
13266
src/lib-storage/list/mailbox-list-subscriptions.c, src/lib-storage
13267
/mail-namespace.c, src/lib-storage/mail-namespace.h, src/lib-storage
13268
/mail-storage.c, src/lib-storage/mailbox-list-iter.c, src/lib-
13269
storage/mailbox-list.c, src/lib-storage/mailbox-list.h,
13270
src/plugins/acl/acl-mailbox-list.c, src/plugins/acl/acl-shared-
13271
storage.c, src/plugins/acl/doveadm-acl.c, src/plugins/imap-acl/imap-
13272
acl-plugin.c, src/plugins/lazy-expunge/lazy-expunge-plugin.c,
13273
src/plugins/quota/quota-maildir.c, src/plugins/virtual/virtual-
13275
Renamed enum namespace_type to enum mail_namespace_type
13278
* src/imap/cmd-copy.c:
13279
imap: MOVE didn't send EXPUNGE when delay-newmail workaround was
13283
* src/lib-imap-storage/imap-msgpart-url.c:
13284
imap-msgpart-url: Attempt to reuse selected mailbox instead of
13285
reallocating a new one. Besides giving slightly better performace,
13286
this also fixes CATENATE for mbox when source and destination
13287
mailboxes are the same.
13290
* src/imap/imap-commands-util.c, src/imap/imap-commands-util.h, src
13291
/lib-storage/mail-storage.c, src/lib-storage/mail-storage.h:
13292
Moved mailbox_equals() to lib-storage.
13295
* src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
13296
/mbox-lock.h, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
13297
storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
13298
storage.c, src/lib-storage/index/mbox/mbox-storage.h:
13299
mbox: Added support for copy/move/catenate within same mailbox.
13302
2012-08-31 Timo Sirainen <tss@iki.fi>
13304
* src/lib/istream-chain.c, src/lib/istream-concat.c:
13305
istream-chain/concat: Various fixes. Also made the chain code look
13306
more like concat code. They should be merged at some point.
13309
* src/lib-storage/mailbox-list-iter.c:
13310
lib-storage: Fixed listing list=children namespaces that had child
13314
2012-08-30 Timo Sirainen <tss@iki.fi>
13316
* configure.in, src/auth/auth-client-connection.c, src/auth/auth-
13317
master-connection.c, src/auth/auth-request-handler.c,
13318
src/auth/mech.c, src/doveadm/Makefile.am, src/doveadm/doveadm-mail-
13319
copymove.c, src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-
13320
mail.c, src/doveadm/doveadm-mail.h, src/imap/cmd-list.c, src/imap
13321
/imap-commands-util.c, src/lib-dict/dict-file.c, src/lib-dict/dict-
13322
redis.c, src/lib-imap-client/imapc-client.c, src/lib-imap-client
13323
/imapc-connection.c, src/lib-storage/index/imapc/imapc-list.c, src
13324
/lib-storage/index/index-storage.c, src/lib-storage/list/mailbox-
13325
list-fs-iter.c, src/lib-storage/mail-storage-settings.c, src/lib
13326
/istream-concat.c, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c,
13327
src/lmtp/lmtp-proxy.h:
13328
Merged changes from v2.1 tree.
13331
* src/lib-storage/list/mailbox-list-fs-iter.c:
13332
layout=fs mailbox listing: Fix to prefix=INBOX/ handling
13335
2012-08-28 Timo Sirainen <tss@iki.fi>
13337
* src/lib-storage/index/imapc/imapc-list.c:
13338
imapc: If imapc_list_prefix=INBOX, don't treat INBOX/INBOX as the
13342
* src/lib-dict/dict-file.c:
13343
dict file: Fixed corruption with large values. Patch by Ewald
13347
* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
13349
imapc: max_idle_time setting didn't actually work.
13352
* src/lmtp/commands.c, src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-proxy.h:
13353
lmtp proxy: Include session ID string in timeout reply text.
13356
2012-08-26 Timo Sirainen <tss@iki.fi>
13358
* src/lib-dict/dict-redis.c:
13359
dict-redis: Fixed infinite looping
13362
2012-08-21 Timo Sirainen <tss@iki.fi>
13364
* src/lib-dict/dict-redis.c:
13365
dict redis: Fixed dict_lookup() to skip all previous pending
13369
2012-08-24 Timo Sirainen <tss@iki.fi>
13371
* src/auth/auth-request-handler.c:
13372
auth: Don't add "master" to passdb reply if the passdb itself
13376
* src/auth/auth-client-connection.c, src/auth/auth-master-
13378
auth: Make it clearer in debug messages if the replies are passdb or
13382
2012-08-23 Timo Sirainen <tss@iki.fi>
13384
* src/doveadm/doveadm-mail-copymove.c, src/doveadm/doveadm-mail.c,
13385
src/doveadm/doveadm-mail.h:
13386
doveadm copy/move: Added "user" parameter to specify the source
13390
* src/imap/cmd-list.c, src/imap/cmd-namespace.c, src/imap/imap-
13392
imap: Fixes to handling UTF-8 namespace prefixes
13395
* src/lib-storage/mail-storage-settings.c:
13396
lib-storage: Verify that namespace prefix is valid UTF8 string.
13399
* src/lib-storage/list/mailbox-list-fs-iter.c:
13400
mbox: Fixed listing mailboxes under INBOX directory.
13403
* src/doveadm/Makefile.am, src/doveadm/doveadm-mail-copymove.c,
13404
src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail.c,
13405
src/doveadm/doveadm-mail.h:
13406
doveadm: Added "copy" command.
13409
* src/lib-storage/index/index-storage.c:
13410
lib-storage: Make sure a save context doesn't leak metadata to the
13414
2012-08-22 Timo Sirainen <tss@iki.fi>
13417
configure: Removed OpenBSD /dev/arandom checking. Patch by Brad
13420
"The use of arandom was never a requirement for Dovecot and I had
13421
submitted the use of arandom due to ports policy to do so anyway."
13424
* src/lib/istream-concat.c:
13425
istream-concat bugfixes
13429
auth: Unregister SCRAM-SHA-1 at deinit.
13432
2012-08-30 Timo Sirainen <tss@iki.fi>
13434
* src/imap/cmd-list.c, src/lib-storage/list/mailbox-list-fs-iter.c,
13435
src/lib-storage/mailbox-list-iter.c, src/lib-storage/mailbox-list.h:
13436
Moved most of the IMAP LIST code to lib-storage. Also removed
13437
MAILBOX_LIST_ITER_SHOW_EXISTING_PARENT flag, since there wasn't any
13438
clearly good way to handle it. Some clients got confused when they
13439
saw that foo/ mailbox was returned with \Noselect flag. Either they
13440
thought that the mailbox was named foo/ or that foo was \Noselect.
13441
Pretty much the only sane way to handle this would be to not make
13442
return \Noselect and to treat foo and foo/ as equivalent in all
13443
commands, but that might cause trouble with ACLs and similar
13447
* src/imap/cmd-append.c:
13448
imap: Fixed MULTIAPPEND CATENATE that contained only URLs
13451
2012-08-29 Timo Sirainen <tss@iki.fi>
13453
* src/imap/cmd-append.c:
13457
* src/imap/cmd-append.c:
13458
imap: Don't hang with zero size CATENATE TEXT parts.
13461
* src/lib-imap/imap-parser.c:
13462
imap-parser: Fixed imap_parser_read_last_literal() to work again
13469
* src/imap/cmd-append.c:
13470
imap: Allow very long MULTIAPPEND CATENATE lines that contain only
13474
* src/lib-imap/imap-parser.c:
13475
imap-parser: Allow calling imap_parser_read_args() multiple times
13476
with larger count parameter.
13479
* src/lib-imap/imap-parser.c:
13480
imap-parser: Removed filling missing parameters with NILs. No code
13481
was relying on this behavior.
13484
* src/imap/cmd-thread.c:
13485
imap: Fixed crashes in THREAD=ORDEREDSUBJECT
13488
* src/imap/cmd-append.c:
13492
* src/lib/istream-chain.c:
13493
istream-chain: Unreference also the last stream when it reaches EOF.
13496
* src/imap/cmd-append.c:
13497
imap: More APPEND error handling fixes.
13500
* src/imap/cmd-cancelupdate.c, src/imap/cmd-uid.c, src/imap/imap-
13501
commands-util.c, src/imap/imap-status.c:
13502
imap: Send BAD replies with client_send_command_error()
13505
* src/imap/cmd-append.c:
13506
imap: Various fixes to APPEND error handling.
13509
* src/imap/imap-client.c, src/imap/imap-client.h:
13510
imap: Added asserts to make sure a tagline isn't sent twice to the
13514
* src/lib-storage/index/dbox-common/dbox-save.c:
13515
dbox: Don't try to finish saving attachments if saving has already
13516
failed. Fixes an assert crash with failed CATENATE.
13519
* src/imap/cmd-append.c:
13520
imap CATENATE: Do one more mailbox_save_continue() after adding EOF
13521
to stream. Fixes a crash with external mail attachments
13522
(mail_attachment_dir).
13525
* src/lib/iostream-rawlog.c:
13526
iostream_rawlog_create_path(): Avoid double-closing the rawlog fd
13529
* src/lib/iostream-rawlog-private.h, src/lib/iostream-rawlog.c,
13530
src/lib/iostream-rawlog.h, src/lib/istream-rawlog.c, src/lib
13531
/istream-rawlog.h, src/lib/ostream-rawlog.c, src/lib/ostream-
13533
iostream-rawlog: Added possibility to save input/output to the same
13538
str_*printfa(): Avoid growing underlying buffer if possible.
13541
* src/lib/hash-decl.h, src/lib/hash.h:
13542
Reverted some of the last hash table changes. They caused hash table
13543
operations to dereference pointers, which caused a compiler error if
13544
the type wasn't known.
13547
2012-08-28 Timo Sirainen <tss@iki.fi>
13549
* src/lib-compression/istream-bzlib.c, src/lib-compression/istream-
13550
zlib.c, src/lib-fs/fs-sis.c, src/lib-mail/istream-header-filter.c,
13551
src/lib-storage/index/maildir/maildir-mail.c, src/lib-
13552
storage/index/mbox/istream-raw-mbox.c, src/lib-storage/index/mbox
13553
/mbox-sync.c, src/lib-storage/index/raw/raw-mail.c, src/lib-
13554
storage/list/subscription-file.c, src/lib/istream-chain.c, src/lib
13555
/istream-concat.c, src/lib/istream-file.c, src/lib/istream-limit.c,
13556
src/lib/istream-mmap.c, src/lib/istream-private.h, src/lib/istream-
13557
seekable.c, src/lib/istream-sized.c, src/lib/istream-tee.c,
13558
src/lib/istream.c, src/lib/istream.h:
13559
i_stream_stat() API changed. This fixes also one missing error
13563
* src/lib/ostream-file.c:
13564
o_stream_send_istream(): Get input stream size with
13565
i_stream_get_size() instead of _stat().
13568
* src/lib/istream-chain.c:
13569
istream-chain: Removed default get_size() implementation and
13570
panicing on stat() This works around crashes in mdbox/quota code.
13571
Patch by Stephan Bosch.
13574
* src/lib-storage/index/dbox-multi/mdbox-save.c:
13575
mdbox: Replaced non-error-checking i_stream_stat() with potentially
13576
faster i_stream_get_size().
13579
* src/lib-lda/lmtp-client.c, src/lib-lda/lmtp-client.h,
13580
src/lmtp/client.h, src/lmtp/commands.c, src/lmtp/lmtp-proxy.c:
13581
lmtp proxy: Forward proxy_timeout to backend and set
13582
mail_max_lock_timeout based on it. This automatically avoids
13583
duplicate mail deliveries caused by long lock waits.
13586
2012-08-25 Timo Sirainen <tss@iki.fi>
13588
* src/lib/istream-concat.c:
13589
istream-concat: Bugfix
13592
2012-08-24 Pascal Volk <user@localhost.localdomain.org>
13594
* src/imap/cmd-idle.c:
13595
imap IDLE: Added back fc00::/7 (RFC 4193) to private networks. This
13596
time the check is done correctly.
13599
2012-08-24 Timo Sirainen <tss@iki.fi>
13601
* src/imap/cmd-idle.c:
13602
imap IDLE: Reverted the IPv6 change, it doesn't work like that.
13605
2012-08-23 Pascal Volk <user@localhost.localdomain.org>
13607
* src/imap/cmd-idle.c:
13608
imap IDLE: Add also fc00::/7 (RFC 4193) to private networks.
13611
2012-08-23 Timo Sirainen <tss@iki.fi>
13613
* src/imap/cmd-idle.c:
13614
imap IDLE: Add also 172.168/12 to private networks.
13617
* src/imap/cmd-idle.c:
13618
imap IDLE: Time "still here" packet sends based on client IP address
13622
* src/lib/istream-concat.c:
13623
Compiler warning fix
13626
* src/lib-storage/index/cydir/cydir-save.c, src/lib-storage/index
13627
/dbox-common/dbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
13628
save.c, src/lib-storage/index/dbox-single/sdbox-copy.c, src/lib-
13629
storage/index/dbox-single/sdbox-save.c, src/lib-storage/index/imapc
13630
/imapc-save.c, src/lib-storage/index/index-attachment.c, src/lib-
13631
storage/index/index-mail.c, src/lib-storage/index/index-storage.c,
13632
src/lib-storage/index/maildir/maildir-save.c, src/lib-
13633
storage/index/mbox/mbox-save.c, src/lib-storage/mail-copy.c, src
13634
/lib-storage/mail-storage-private.h, src/lib-storage/mail-storage.c,
13635
src/plugins/acl/acl-mailbox.c, src/plugins/lazy-expunge/lazy-
13636
expunge-plugin.c, src/plugins/virtual/virtual-save.c,
13637
src/plugins/zlib/zlib-plugin.c:
13638
lib-storage: Moved per-mail data in struct mail_save_context to
13639
separate struct. This fixes previous save leaking metadata to the
13643
* src/lib-mail/istream-attachment-extractor.c:
13644
Increased initial memory pool size
13647
2012-08-22 Timo Sirainen <tss@iki.fi>
13649
* src/config/Makefile.am, src/doveadm/doveadm-instance.c, src/doveadm
13650
/doveadm-mount.c, src/doveadm/doveadm-settings.c, src/doveadm
13651
/doveadm-settings.h, src/doveadm/doveadm.c, src/lib-master/master-
13652
instance.h, src/lib-master/master-service-settings.c, src/lib-master
13653
/master-service-settings.h, src/lib-master/master-service-ssl.c, src
13654
/lib-master/master-service.c, src/login-common/ssl-proxy-openssl.c,
13655
src/master/main.c, src/master/master-settings.c, src/master/master-
13656
settings.h, src/replication/replicator/replicator.c, src/ssl-
13658
Made PKG_STATEDIR configurable with state_dir setting. Based on
13659
patch by Chris Webb.
13661
Normally this isn't needed, since the data in the state_dir can be
13662
shared across multiple Dovecot instances, but in some specific use
13663
cases this may be useful (e.g. users running their own Dovecots).
13666
* src/lib-storage/mail-copy.c, src/lib-storage/mail-copy.h:
13667
lib-storage: Added mail_save_copy_default_metadata()
13670
* src/lib/istream-base64-decoder.c, src/lib/istream-base64-encoder.c:
13671
istream-base64: Fixed returning -2 too early.
13674
* src/lib/istream-concat.c:
13675
istream-concat bugfixes
13678
* src/lib-mail/test-istream-attachment.c:
13679
Added a test for istream-attachment-extractor hash size
13682
* src/lib-mail/istream-attachment-extractor.c:
13683
istream-attachment-extractor didn't return hash strings correctly.
13686
* src/lib-mail/istream-attachment-connector.c:
13687
istream-attachment-connector: Avoid seeking in the base stream, it
13688
may not be seekable.
13691
* src/lib/istream-limit.c, src/lib/istream.h:
13692
Added i_stream_create_range()
13695
2012-08-21 Timo Sirainen <tss@iki.fi>
13697
* src/imap/cmd-idle.c, src/imap/imap-client.c, src/imap/imap-client.h,
13698
src/imap/imap-fetch.c, src/imap/imap-sync.c, src/imap/main.c:
13699
imap: Fixed command output locking.
13702
* src/lib-dict/dict-redis.c:
13703
dict redis: Fixed dict_lookup() to skip all previous pending
13707
2012-08-20 Timo Sirainen <tss@iki.fi>
13709
* src/lib/istream-seekable.c:
13710
i_stream_create_seekable_path() created memory corruption
13713
* configure.in, src/doveadm/doveadm-mail-server.c, src/doveadm/dsync
13714
/dsync-brain.c, src/imap/cmd-list.c, src/imap/cmd-thread.c, src/lib-
13715
imap-client/imapc-connection.c, src/lib-storage/index/imapc/imapc-
13716
storage.c, src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-
13717
storage/mail-namespace.h, src/lib-storage/mail-storage.h, src/lib-
13718
storage/mailbox-list.c, src/lib/ioloop.c, src/replication/aggregator
13719
/replicator-connection.c:
13720
Merged changes from v2.1 tree.
13723
2012-08-19 Timo Sirainen <tss@iki.fi>
13725
* src/replication/aggregator/replicator-connection.c:
13726
replicator: Crashfix
13729
2012-08-17 Timo Sirainen <tss@iki.fi>
13731
* src/doveadm/doveadm-mail-server.c:
13732
doveadm: Improved "passdb lookup failed" error message.
13735
* src/doveadm/dsync/dsync-brain.c:
13736
doveadm backup: Fixed "is source empty" check. In POP3 boxes there
13737
is only INBOX, and it's possible that source becomes empty while
13738
backup has mails. The check is now "has source always been empty?"
13741
2012-08-15 Timo Sirainen <tss@iki.fi>
13743
* configure.in, src/imap/cmd-thread.c, src/lib-storage/mail-thread.c:
13744
imap: Implemented THREAD=ORDEREDSUBJECT extension.
13747
* src/lib-storage/mail-storage.h:
13748
lib-storage: MAX_SORT_PROGRAM_SIZE was too small
13751
2012-08-14 Timo Sirainen <tss@iki.fi>
13753
* src/lib-imap-client/imapc-client.h, src/lib-imap-client/imapc-
13754
connection.c, src/lib-storage/index/imapc/imapc-settings.c, src/lib-
13755
storage/index/imapc/imapc-settings.h, src/lib-storage/index/imapc
13757
imapc: Added imapc_max_idle_time setting to force activity on
13758
connection. Reducing this from the default 29 minutes should help
13759
when there's a stateful firewall between imapc and the backend
13763
* src/lib-storage/list/mailbox-list-fs-iter.c:
13764
fs layout: Kludge to show INBOX/INBOX mailbox when necessary. This
13765
happens with one prefix="" namespace and another prefix=INBOX/
13766
namespace when the INBOX mailbox itself has children.
13769
* src/lib-storage/mailbox-list.c:
13770
lib-storage: mailbox_list_get_storage_name() shouldn't treat INBOX
13771
specially in inbox=no namespaces.
13774
* src/lib-storage/mail-namespace.c, src/lib-storage/mail-namespace.h:
13775
lib-storage: If alias_for references inbox=yes namespace, copy the
13776
inbox=yes to the alias ns. So even though this still doesn't allow
13777
giving multiple inbox=yes settings in configuration file, it's now
13778
possible for multiple namespaces to have them. They just need to
13779
point to the exact same INBOX.
13782
* src/imap/cmd-list.c:
13783
imap LIST: Don't set \haschildren flag for namespace prefix if it
13787
2012-08-13 Timo Sirainen <tss@iki.fi>
13789
* src/lib/ioloop.c:
13793
2012-08-10 Timo Sirainen <tss@iki.fi>
13795
* src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted-
13797
quoted-printable decode didn't ignore whitespace at the end of soft
13801
2012-08-20 Timo Sirainen <tss@iki.fi>
13803
* TODO, src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync
13804
/dsync-mailbox-import.c, src/doveadm/dsync/dsync-transaction-log-
13805
scan.c, src/doveadm/dsync/dsync-transaction-log-scan.h, src/lib
13806
/hash-decl.h, src/lib/hash.h:
13807
Simplified hash table union now that it again works only with
13812
Fixed some aliasing warnings with hash table API.
13815
* src/lib-imap-storage/imap-msgpart.c:
13816
imap: Allow fetching [x.MIME] for message/rfc822 again. It's not
13817
clear which is the correct behavior.
13820
* src/anvil/connect-limit.c, src/auth/auth-request-handler.c, src/auth
13821
/db-checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c,
13822
src/director/director-test.c, src/director/user-directory.c,
13823
src/doveadm/doveadm-director.c, src/doveadm/doveadm-kick.c,
13824
src/doveadm/doveadm-log.c, src/doveadm/doveadm-mail-server.c,
13825
src/doveadm/doveadm-stats.c, src/doveadm/doveadm-who.c,
13826
src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
13827
mailbox-import.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
13828
src/doveadm/dsync/dsync-transaction-log-scan.h, src/imap/imap-
13829
client.c, src/lib-auth/auth-server-connection.c, src/lib-auth/auth-
13830
server-connection.h, src/lib-dict/dict-file.c, src/lib-index/mail-
13831
cache-fields.c, src/lib-index/mail-cache-private.h, src/lib-index
13832
/mail-index-private.h, src/lib-index/mail-index.c, src/lib-
13833
lda/duplicate.c, src/lib-master/master-auth.c, src/lib-master
13834
/master-login-auth.c, src/lib-settings/settings-parser.c, src/lib-
13835
storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/index-
13836
thread-finish.c, src/lib-storage/index/maildir/maildir-keywords.c,
13837
src/lib-storage/list/mailbox-list-index-sync.c, src/lib-storage/list
13838
/mailbox-list-index.c, src/lib-storage/list/mailbox-list-index.h,
13839
src/lib/child-wait.c, src/lib/hash.c, src/lib/hash.h, src/log/log-
13840
connection.c, src/login-common/ssl-proxy-openssl.c, src/master
13841
/service-monitor.c, src/master/service-process.c,
13842
src/master/service.c, src/master/service.h, src/plugins/acl/acl-
13843
cache.c, src/plugins/expire/doveadm-expire.c, src/plugins/fts-lucene
13844
/lucene-wrapper.cc, src/plugins/fts/fts-expunge-log.c,
13845
src/pop3/pop3-commands.c, src/replication/aggregator/replicator-
13847
Reverted "support for non-pointers" part of the hash table API
13848
changes. Originally I wrote it using clang, which didn't give as
13849
many warnings as gcc did. I guess this way is safer anyway..
13852
* src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
13853
mailbox-import.c, src/doveadm/dsync/dsync-transaction-log-scan.c,
13854
src/doveadm/dsync/dsync-transaction-log-scan.h:
13855
Compiler error fix due to hash table changes.
13858
2012-08-19 Timo Sirainen <tss@iki.fi>
13860
* src/anvil/anvil-connection.c, src/auth/auth-request-handler.h,
13861
src/auth/db-dict.c, src/auth/db-ldap.c, src/auth/db-sql.c,
13862
src/config/config-connection.c, src/doveadm/doveadm-mail-mailbox.c,
13863
src/doveadm/doveadm-stats.c, src/doveadm/doveadm.c, src/imap/imap-
13864
fetch.h, src/indexer/indexer-client.c, src/lib-dns/dns-lookup.c, src
13865
/lib-dns/dns-lookup.h, src/lib-imap-storage/imap-msgpart.c, src/lib-
13866
index/mail-index-util.c, src/lib-lda/mail-send.c, src/lib-mail
13867
/istream-header-filter.c, src/lib-mail/istream-header-filter.h, src
13868
/lib-mail/message-header-parser.h, src/lib-mail/message-parser.h,
13869
src/lib-mail/test-istream-header-filter.c, src/lib-master/master-
13870
service.c, src/lib-settings/settings.c, src/lib-settings/settings.h,
13871
src/lib-sql/sql-api.h, src/lib-storage/index/dbox-multi/mdbox-
13872
purge.c, src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c,
13873
src/lib-storage/index/imapc/imapc-mail-fetch.c, src/lib-
13874
storage/index/index-mail-binary.c, src/lib-storage/index/index-
13875
mail.c, src/lib-storage/index/index-search.c, src/lib-storage/index
13876
/index-sort-string.c, src/lib-storage/index/index-thread.c, src/lib-
13877
storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
13878
/maildir-storage.h, src/lib-storage/index/maildir/maildir-sync-
13879
index.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
13880
storage/index/pop3c/pop3c-sync.c, src/lib-storage/mail-search.h, src
13881
/lib-storage/mail-storage.h, src/lib-storage/mailbox-header.c,
13882
src/lib/array.h, src/lib/bsearch-insert-pos.c, src/lib/bsearch-
13883
insert-pos.h, src/lib/child-wait.h, src/lib/connection.c,
13884
src/lib/ioloop.h, src/lib/istream.h, src/lib/macros.h, src/lib
13885
/module-dir.c, src/lib/ostream.h, src/lib/strfuncs.c,
13886
src/lib/strfuncs.h, src/lib/test-bsearch-insert-pos.c,
13887
src/plugins/acl/acl-backend.c, src/plugins/fts-squat/squat-
13888
uidlist.c, src/plugins/pop3-migration/pop3-migration-plugin.c:
13889
Removed CONTEXT_TYPE_SAFETY macro and reimplemented its
13890
functionality better. gcc/clang now gives a compiler error in many
13891
places if callback isn't exactly what was expected. It's also now
13892
much easier to add more of these checks.
13895
* src/auth/auth-request-handler.c, src/auth/auth-settings.c, src/auth
13896
/auth-settings.h, src/auth/auth-worker-server.c, src/auth/auth.c,
13897
src/auth/db-ldap.h, src/auth/main.c, src/auth/passdb-template.c,
13898
src/auth/passdb.c, src/auth/userdb-template.c, src/auth/userdb.c,
13899
src/config/config-parser-private.h, src/config/config-parser.c,
13900
src/dict/dict-connection.h, src/dict/dict-settings.h, src/director
13901
/director-test.c, src/director/director.h, src/director/mail-host.c,
13902
src/director/main.c, src/director/user-directory.c, src/doveadm
13903
/doveadm-dump.c, src/doveadm/doveadm-kick.c, src/doveadm/doveadm-
13904
mail-altmove.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm
13905
/doveadm-mail.h, src/doveadm/doveadm-print-flow.c, src/doveadm
13906
/doveadm-print-pager.c, src/doveadm/doveadm-print-table.c,
13907
src/doveadm/doveadm-print.c, src/doveadm/doveadm-server.h,
13908
src/doveadm/doveadm-settings.h, src/doveadm/doveadm-stats.c,
13909
src/doveadm/doveadm-who.c, src/doveadm/doveadm.c, src/doveadm/dsync
13910
/dsync-mailbox-export.c, src/doveadm/dsync/dsync-mailbox-import.c,
13911
src/doveadm/dsync/dsync-mailbox-tree-private.h, src/doveadm/dsync
13912
/dsync-mailbox-tree-sync.c, src/doveadm/dsync/dsync-slave-pipe.c,
13913
src/imap/cmd-list.c, src/imap/imap-client.h, src/imap/imap-commands-
13914
util.c, src/imap/imap-commands.c, src/imap/imap-fetch.c, src/imap
13915
/imap-fetch.h, src/imap/imap-notify.h, src/imap/imap-search.h,
13916
src/indexer/worker-connection.c, src/ipc/ipc-connection.h, src/ipc
13917
/ipc-group.c, src/lib-auth/auth-server-connection.h, src/lib-dict
13918
/dict-memcached-ascii.c, src/lib-dict/dict-redis.c, src/lib-dict
13919
/dict-sql-settings.c, src/lib-dict/dict-sql-settings.h, src/lib-dict
13920
/dict-sql.c, src/lib-dict/dict-transaction-memory.h, src/lib-
13921
dict/dict.c, src/lib-imap-client/imapc-client-private.h, src/lib-
13922
imap-client/imapc-connection.c, src/lib-index/mail-cache-compress.c,
13923
src/lib-index/mail-cache-lookup.c, src/lib-index/mail-cache-
13924
transaction.c, src/lib-index/mail-index-modseq.c, src/lib-index
13925
/mail-index-private.h, src/lib-index/mail-index-strmap.c, src/lib-
13926
index/mail-index-sync-private.h, src/lib-index/mail-index-sync.c,
13927
src/lib-index/mail-index-transaction-export.c, src/lib-index/mail-
13928
index-transaction-private.h, src/lib-index/mail-index-transaction-
13929
view.c, src/lib-index/mail-index-view-private.h, src/lib-index/mail-
13930
transaction-log-view-private.h, src/lib-lda/lmtp-client.c, src/lib-
13931
lda/mail-deliver.h, src/lib-mail/istream-attachment-connector.c, src
13932
/lib-mail/istream-header-filter.c, src/lib-mail/rfc2231-parser.c,
13933
src/lib-mail/test-istream-attachment.c, src/lib-master/anvil-
13934
client.c, src/lib-master/ipc-client.c, src/lib-master/master-
13935
instance.c, src/lib-master/master-service-settings.c, src/lib-master
13936
/mountpoint-list.c, src/lib-settings/settings-parser.c, src/lib-sql
13937
/driver-pgsql.c, src/lib-sql/driver-sqlpool.c, src/lib-sql/sql-api-
13938
private.h, src/lib-storage/index/dbox-common/dbox-file.h, src/lib-
13939
storage/index/dbox-multi/mdbox-map-private.h, src/lib-storage/index
13940
/dbox-multi/mdbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
13941
storage-rebuild.c, src/lib-storage/index/dbox-multi/mdbox-storage.h,
13942
src/lib-storage/index/dbox-single/sdbox-save.c, src/lib-
13943
storage/index/imapc/imapc-storage.h, src/lib-storage/index/index-
13944
mail-binary.c, src/lib-storage/index/index-mail-headers.c, src/lib-
13945
storage/index/index-mail.h, src/lib-storage/index/index-search-
13946
private.h, src/lib-storage/index/index-storage.c, src/lib-
13947
storage/index/index-sync-changes.c, src/lib-storage/index/index-
13948
thread-finish.c, src/lib-storage/index/maildir/maildir-keywords.c,
13949
src/lib-storage/index/maildir/maildir-save.c, src/lib-
13950
storage/index/mbox/mbox-sync-private.h, src/lib-storage/list
13951
/mailbox-list-fs-iter.c, src/lib-storage/list/mailbox-list-index-
13952
notify.c, src/lib-storage/list/mailbox-list-maildir.c, src/lib-
13953
storage/mail-search-register-human.c, src/lib-storage/mail-search-
13954
register.c, src/lib-storage/mail-storage-hooks.c, src/lib-storage
13955
/mail-storage-private.h, src/lib-storage/mail-storage-settings.h,
13956
src/lib-storage/mail-user.h, src/lib-storage/mailbox-keywords.c, src
13957
/lib-storage/mailbox-list-iter.c, src/lib-storage/mailbox-list-
13958
private.h, src/lib-storage/mailbox-list.c, src/lib-storage/mailbox-
13959
tree.c, src/lib/array-decl.h, src/lib/array.h, src/lib/ioloop-
13960
epoll.c, src/lib/ioloop-kqueue.c, src/lib/ioloop-private.h,
13961
src/lib/lib.h, src/lib/module-context.h, src/lib/priorityq.c,
13962
src/lib/test-aqueue.c, src/lib/test-array.c, src/lib/var-expand.c,
13963
src/lmtp/client.h, src/lmtp/lmtp-proxy.c, src/log/log-connection.c,
13964
src/master/service-listen.c, src/master/service-process-notify.c,
13965
src/master/service.h, src/plugins/acl/acl-backend-vfile.h,
13966
src/plugins/acl/acl-cache.c, src/plugins/expire/doveadm-expire.c,
13967
src/plugins/expire/expire-set.c, src/plugins/fts-lucene/fts-backend-
13968
lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins/fts-
13969
solr/fts-backend-solr-old.c, src/plugins/fts-solr/fts-backend-
13970
solr.c, src/plugins/fts-solr/solr-connection.c, src/plugins/fts-
13971
squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c,
13972
src/plugins/fts/fts-api.c, src/plugins/fts/fts-parser-script.c,
13973
src/plugins/fts/fts-storage.h, src/plugins/pop3-migration/pop3
13974
-migration-plugin.c, src/plugins/quota/quota-private.h,
13975
src/plugins/quota/quota-storage.c, src/plugins/quota/quota.c,
13976
src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
13977
mail.c, src/plugins/virtual/virtual-search.c, src/plugins/virtual
13978
/virtual-storage.h, src/plugins/virtual/virtual-sync.c,
13979
src/plugins/virtual/virtual-transaction.h, src/pop3/pop3-client.c,
13980
src/pop3/pop3-client.h, src/replication/replicator/replicator-
13981
brain.c, src/replication/replicator/replicator-queue.c, src/ssl-
13983
Array API changed: ARRAY_DEFINE(name, type) -> ARRAY(type) name Easy
13984
way to update your existing code: perl -i -pe
13985
's:ARRAY_DEFINE\(([^,]+), *([^)]+)\);:ARRAY($2) $1;:' **/*.[ch]
13988
* src/lib/Makefile.am, src/lib/hash-decl.h:
13989
Added missing hash-decl.h
13992
* src/anvil/connect-limit.c, src/anvil/penalty.c, src/auth/auth-
13993
cache.c, src/auth/auth-request-handler.c, src/auth/db-
13994
checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c,
13995
src/auth/db-passwd-file.h, src/auth/mech-otp-skey-common.c,
13996
src/config/config-request.c, src/director/director-test.c,
13997
src/director/user-directory.c, src/doveadm/doveadm-director.c,
13998
src/doveadm/doveadm-kick.c, src/doveadm/doveadm-log.c, src/doveadm
13999
/doveadm-mail-server.c, src/doveadm/doveadm-stats.c, src/doveadm
14000
/doveadm-who.c, src/doveadm/doveadm-who.h, src/doveadm/dsync/dsync-
14001
brain-mailbox.c, src/doveadm/dsync/dsync-brain-private.h,
14002
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-mailbox-
14003
export.c, src/doveadm/dsync/dsync-mailbox-import.c,
14004
src/doveadm/dsync/dsync-mailbox-tree-fill.c, src/doveadm/dsync
14005
/dsync-mailbox-tree-private.h, src/doveadm/dsync/dsync-mailbox-tree-
14006
sync.c, src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync
14007
/dsync-transaction-log-scan.c, src/doveadm/dsync/dsync-transaction-
14008
log-scan.h, src/indexer/indexer-queue.c, src/lib-auth/auth-server-
14009
connection.c, src/lib-auth/auth-server-connection.h, src/lib-dict
14010
/dict-file.c, src/lib-index/mail-cache-fields.c, src/lib-index/mail-
14011
cache-private.h, src/lib-index/mail-cache.c, src/lib-index/mail-
14012
index-private.h, src/lib-index/mail-index.c, src/lib-
14013
lda/duplicate.c, src/lib-master/master-auth.c, src/lib-master
14014
/master-login-auth.c, src/lib-master/master-service-settings-
14015
cache.c, src/lib-settings/settings-parser.c, src/lib-sql/sql-db-
14016
cache.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
14017
storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
14018
storage/index/index-thread-finish.c, src/lib-storage/index/maildir
14019
/maildir-filename.c, src/lib-storage/index/maildir/maildir-
14020
filename.h, src/lib-storage/index/maildir/maildir-keywords.c, src
14021
/lib-storage/index/maildir/maildir-uidlist.c, src/lib-storage/list
14022
/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
14023
index.c, src/lib-storage/list/mailbox-list-index.h, src/lib-storage
14024
/mailbox-guid-cache.c, src/lib-storage/mailbox-list-private.h, src
14025
/lib-storage/mailbox-list.c, src/lib/child-wait.c, src/lib/guid.c,
14026
src/lib/guid.h, src/lib/hash.c, src/lib/hash.h, src/lib/lib.h,
14027
src/lib/macros.h, src/log/log-connection.c, src/login-common/login-
14028
proxy-state.c, src/login-common/ssl-proxy-openssl.c, src/master
14029
/service-monitor.c, src/master/service-process.c,
14030
src/master/service.c, src/master/service.h, src/plugins/acl/acl-
14031
cache.c, src/plugins/expire/doveadm-expire.c, src/plugins/fts-lucene
14032
/fts-backend-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc,
14033
src/plugins/fts-lucene/lucene-wrapper.h, src/plugins/fts-solr/fts-
14034
backend-solr-old.c, src/plugins/fts-solr/fts-backend-solr.c,
14035
src/plugins/fts-solr/solr-connection.c, src/plugins/fts/fts-expunge-
14036
log.c, src/pop3/pop3-commands.c, src/replication/aggregator
14037
/replicator-connection.c, src/replication/replicator/replicator-
14038
queue.c, src/stats/mail-domain.c, src/stats/mail-ip.c, src/stats
14039
/mail-session.c, src/stats/mail-user.c:
14040
Hash table API is now (mostly) type safe.
14043
* src/anvil/connect-limit.c, src/anvil/penalty.c, src/auth/auth-
14044
cache.c, src/auth/auth-request-handler.c, src/auth/db-
14045
checkpassword.c, src/auth/db-ldap.c, src/auth/db-passwd-file.c,
14046
src/auth/mech-otp-skey-common.c, src/config/config-request.c,
14047
src/director/director-test.c, src/director/user-directory.c,
14048
src/doveadm/doveadm-director.c, src/doveadm/doveadm-kick.c,
14049
src/doveadm/doveadm-log.c, src/doveadm/doveadm-mail-server.c,
14050
src/doveadm/doveadm-stats.c, src/doveadm/doveadm-who.c,
14051
src/doveadm/dsync/dsync-brain.c, src/doveadm/dsync/dsync-mailbox-
14052
export.c, src/doveadm/dsync/dsync-mailbox-import.c,
14053
src/doveadm/dsync/dsync-mailbox-tree.c, src/doveadm/dsync/dsync-
14054
transaction-log-scan.c, src/indexer/indexer-queue.c, src/lib-auth
14055
/auth-server-connection.c, src/lib-dict/dict-file.c, src/lib-index
14056
/mail-cache.c, src/lib-index/mail-index.c, src/lib-lda/duplicate.c,
14057
src/lib-master/master-auth.c, src/lib-master/master-login-auth.c,
14058
src/lib-master/master-service-settings-cache.c, src/lib-settings
14059
/settings-parser.c, src/lib-sql/sql-db-cache.c, src/lib-
14060
storage/index/dbox-multi/mdbox-purge.c, src/lib-storage/index/dbox-
14061
multi/mdbox-storage-rebuild.c, src/lib-storage/index/index-thread-
14062
finish.c, src/lib-storage/index/maildir/maildir-keywords.c, src/lib-
14063
storage/index/maildir/maildir-uidlist.c, src/lib-storage/list
14064
/mailbox-list-index.c, src/lib-storage/mailbox-guid-cache.c, src/lib
14065
/child-wait.c, src/lib/hash.c, src/lib/hash.h, src/log/log-
14066
connection.c, src/login-common/login-proxy-state.c, src/login-common
14067
/ssl-proxy-gnutls.c, src/login-common/ssl-proxy-openssl.c,
14068
src/master/service.c, src/plugins/acl/acl-cache.c,
14069
src/plugins/expire/doveadm-expire.c, src/plugins/fts-lucene/fts-
14070
backend-lucene.c, src/plugins/fts-lucene/lucene-wrapper.cc,
14071
src/plugins/fts-solr/fts-backend-solr-old.c, src/plugins/fts-solr
14072
/fts-backend-solr.c, src/plugins/fts-solr/solr-connection.c,
14073
src/plugins/fts/fts-expunge-log.c, src/pop3/pop3-commands.c,
14074
src/replication/aggregator/replicator-connection.c,
14075
src/replication/replicator/replicator-queue.c, src/stats/mail-
14076
domain.c, src/stats/mail-ip.c, src/stats/mail-session.c, src/stats
14078
hash_table_create(): Removed table_pool parameter. Every single
14079
caller was using default_pool there, so there's no point in having
14083
2012-08-18 Timo Sirainen <tss@iki.fi>
14085
* src/lib/istream-seekable.c, src/lib/istream-seekable.h:
14086
Added i_stream_create_seekable_path()
14089
* src/lib/ostream-file.c:
14090
ostream-file: Fixed writing with zero buffer size.
14093
* src/lib/connection.c:
14094
connection API: Allow calling connection_input_default() for
14098
2012-08-17 Timo Sirainen <tss@iki.fi>
14100
* src/doveadm/Makefile.am:
14101
Makefile: Install the useful doveadm*.h headers.
14104
* src/lib-imap-storage/imap-msgpart.c:
14105
imap: FETCH[x.MIME] for message/rfc822 should produce empty result
14108
* src/lib-imap-storage/imap-msgpart.c:
14109
imap: Added more tests to return empty data when FETCHing invalid
14113
2012-08-16 Timo Sirainen <tss@iki.fi>
14115
* dovecot-config.in.in, dovecot.m4:
14116
dovecot-config: Added LIBDOVECOT_DOVEADM_INCLUDE
14119
* src/lib-ssl-iostream/Makefile.am:
14120
Makefile: iostream-*ssl.h wasn't being installed.
14123
* src/lib-dict/dict-memcached-ascii.c, src/lib-dict/dict-memcached.c,
14124
src/lib-dict/dict-redis.c, src/lib/connection.c,
14125
src/lib/connection.h:
14126
connection API: Fixed connected() callback to actually allow
14127
detecting failed connects.
14130
* src/lib-dict/dict-memcached-ascii.c:
14131
dict memcached-ascii bugfixes
14134
2012-08-15 Timo Sirainen <tss@iki.fi>
14136
* src/lib-dict/Makefile.am, src/lib-dict/dict-memcached-ascii.c, src
14137
/lib-dict/dict-private.h, src/lib-dict/dict.c, src/lib-dict/test-
14139
lib-dict: Added memcached_ascii backend.
14142
* src/lib-dict/Makefile.am, src/lib-dict/dict-file.c, src/lib-dict
14143
/dict-transaction-memory.c, src/lib-dict/dict-transaction-memory.h:
14144
lib-dict: Moved "in-memory transaction" code from dict-file to more
14148
* src/lib/istream-limit.c:
14149
istream-limit: Move parent stream to expected offset also at EOF.
14152
* src/dict/dict-commands.c:
14153
dict server: Implemented APPEND command.
14156
* src/imap/imap-client.c:
14157
imap: Fixed assert-crash on FETCH error disconnections.
14160
2012-08-14 Timo Sirainen <tss@iki.fi>
14162
* src/lib/connection.c:
14163
connection: connection_disconnect_reason() didn't handle non-errors
14167
* src/lib-dict/dict-client.c, src/lib-dict/dict-client.h, src/lib-dict
14168
/dict-file.c, src/lib-dict/dict-memcached.c, src/lib-dict/dict-
14169
private.h, src/lib-dict/dict-redis.c, src/lib-dict/dict-sql.c, src
14170
/lib-dict/dict.c, src/lib-dict/dict.h:
14171
dict: Implemented dict_append()
14174
2012-08-13 Timo Sirainen <tss@iki.fi>
14176
* src/imap/Makefile.am, src/imap/cmd-cancelupdate.c, src/imap/cmd-
14177
fetch.c, src/imap/cmd-idle.c, src/imap/cmd-list.c, src/imap/cmd-
14178
notify.c, src/imap/cmd-search.c, src/imap/cmd-select.c, src/imap
14179
/cmd-sort.c, src/imap/imap-client.c, src/imap/imap-client.h,
14180
src/imap/imap-commands.c, src/imap/imap-commands.h, src/imap/imap-
14181
fetch.c, src/imap/imap-fetch.h, src/imap/imap-list.c, src/imap/imap-
14182
list.h, src/imap/imap-notify.c, src/imap/imap-notify.h, src/imap
14183
/imap-search.c, src/imap/imap-search.h, src/imap/imap-sync.c,
14185
imap: Implemented NOTIFY extension. Requires mailbox_list_index=yes
14186
to work (and to show up in capabilities). SubscriptionChange event
14187
is still unimplemented.
14190
* src/lib-storage/Makefile.am, src/lib-storage/index/imapc/imapc-
14191
list.c, src/lib-storage/index/shared/shared-list.c, src/lib-
14192
storage/list/Makefile.am, src/lib-storage/list/mailbox-list-fs.c,
14193
src/lib-storage/list/mailbox-list-index-notify.c, src/lib-
14194
storage/list/mailbox-list-index-status.c, src/lib-storage/list
14195
/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
14196
index.c, src/lib-storage/list/mailbox-list-index.h, src/lib-
14197
storage/list/mailbox-list-maildir.c, src/lib-storage/list/mailbox-
14198
list-none.c, src/lib-storage/list/mailbox-list-notify-tree.c, src
14199
/lib-storage/list/mailbox-list-notify-tree.h, src/lib-storage
14200
/mailbox-list-notify.c, src/lib-storage/mailbox-list-notify.h, src
14201
/lib-storage/mailbox-list-private.h:
14202
lib-storage: Added mailbox-list-notify API for tracking changes in
14203
all mailboxes. Requires mailbox_list_index=yes to work.
14206
* src/lib-storage/index/index-sync.c:
14207
mailbox_list_index=yes: Don't log an error when verifying existence
14208
of already deleted mailbox.
14211
* src/lib-index/mail-index-view-private.h, src/lib-index/mail-index-
14213
lib-index: Added mail_index_view_dup_private()
14216
* src/imap/imap-client.c:
14217
imap: If imap_capability setting is set explicitly, don't
14218
automatically add SEARCH=FUZZY.
14222
Added MOVE extension to capabilities. I guess the draft is close
14223
enough to being ready now.
14226
* src/lib-storage/list/mailbox-list-index-iter.c:
14227
mailbox_list_index=yes: Don't use indexes when iterating with
14228
MAILBOX_LIST_ITER_RAW_LIST.
14231
* src/imap/imap-fetch-body.c, src/imap/imap-fetch.c:
14235
* src/config/config-parser.c, src/doveadm/dsync/dsync-brain-mailbox.c,
14237
Compiler warning fixes
14240
* src/imap/imap-sync.c:
14244
* src/imap/cmd-fetch.c, src/imap/cmd-select.c, src/imap/imap-fetch-
14245
body.c, src/imap/imap-fetch.c, src/imap/imap-fetch.h:
14246
imap: FETCH API updated to allow using the same parsed FETCH in
14247
multiple mailboxes. This is in preparation for NOTIFY extension.
14250
* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart-url.c,
14251
src/lib-imap-storage/imap-msgpart.c, src/lib-imap-storage/imap-
14253
imap_msgpart_parse() doesn't really need a mailbox parameter.
14256
* src/imap/cmd-fetch.c, src/imap/imap-fetch-body.c, src/imap/imap-
14257
fetch.c, src/imap/imap-fetch.h:
14258
imap: FETCH API cleanup: keep fetch state in a separate struct.
14261
* src/imap/cmd-list.c, src/imap/cmd-status.c, src/imap/imap-status.c,
14262
src/imap/imap-status.h:
14263
imap: Made STATUS handling API more flexible.
14266
* src/lib-storage/mailbox-tree.c, src/lib-storage/mailbox-tree.h:
14267
lib-storage: Mailbox tree API supports now including extra data in
14271
* src/lib-index/mail-transaction-log-view.c, src/lib-index/mail-
14273
lib-index: Support clearing the whole log view with
14274
mail_transaction_log_view_clear(0)
14277
* src/lib-index/mail-index-sync-update.c:
14278
lib-index: Removed duplicate ext-intro checking code.
14281
* src/lib-index/mail-transaction-log-view.c:
14282
lib-index: Verify validity of ext-intro records in transaction log.
14285
* src/lib-storage/mail-storage-settings.c:
14286
Verify that mailbox_idle_check_interval setting isn't 0.
14289
2012-08-12 Timo Sirainen <tss@iki.fi>
14291
* src/lib-ssl-iostream/iostream-openssl.c:
14292
lib-ssl-iostream: Avoid assert-crash when reading a closed stream.
14295
* src/lib-ssl-iostream/iostream-openssl-context.c:
14296
lib-ssl-iostream: Don't crash if protocols setting is NULL.
14299
* src/ssl-params/ssl-params-settings.c:
14300
ssl-params socket was missing from login/ directory
14303
* src/lib-index/mail-index-sync.c:
14304
lib-index: Message flag syncing was broken due to wrong struct cast.
14307
* src/lib-storage/index/index-sync.c:
14308
lib-storage: Update private index before updating saved search
14312
* src/lib/istream-private.h, src/lib/istream.c, src/lib/istream.h:
14313
Added i_stream_last_line_crlf()
14316
* src/lib-imap/imap-quote.c:
14317
lib-imap: imap_quote() was broken when called with a datastack pool.
14320
* src/lib-storage/index/index-mail-binary.c:
14324
* src/lib-imap-storage/imap-msgpart.c:
14325
imap: More fixes to fetching messages.
14328
* src/lib-storage/list/subscription-file.c:
14329
lib-storage: Fixed assert-crash on subscribtion change that didn't
14333
* src/lib-storage/index/index-mail-headers.c:
14334
lib-storage: mail_get_header_stream() now always returns end-of-
14338
* src/lib-mail/istream-header-filter.c:
14339
istream-header-filter: Allow adding more headers at the end of
14343
* src/lib-imap-storage/imap-msgpart.c:
14344
imap: Fixed fetching partial ranges from non-BODY[]
14347
* src/imap/cmd-copy.c:
14348
imap: (non-UID) MOVE command didn't always send EXPUNGE for the
14352
* src/lib-storage/index/dbox-common/dbox-file-fix.c, src/lib-
14353
storage/index/dbox-common/dbox-save.c:
14357
2012-08-11 Timo Sirainen <tss@iki.fi>
14359
* TODO, src/doveadm/doveadm-mail-altmove.c, src/doveadm/doveadm-mail-
14360
expunge.c, src/doveadm/doveadm-mail-import.c, src/doveadm/doveadm-
14361
mail-index.c, src/doveadm/doveadm-mail-iter.c, src/doveadm/doveadm-
14362
mail-mailbox-status.c, src/doveadm/doveadm-mail-mailbox.c,
14363
src/doveadm/doveadm-mail-move.c, src/doveadm/doveadm-mail.c,
14364
src/doveadm/doveadm-mailbox-list-iter.c, src/doveadm/dsync/dsync-
14365
mailbox-tree-fill.c, src/imap/cmd-list.c, src/lib-storage/index
14366
/dbox-multi/mdbox-storage-rebuild.c, src/lib-storage/index/imapc
14367
/imapc-list.c, src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-
14368
storage/list/mailbox-list-index-iter.c, src/lib-storage/list
14369
/mailbox-list-index-sync.c, src/lib-storage/list/mailbox-list-
14370
maildir-iter.c, src/lib-storage/list/mailbox-list-maildir.c, src
14371
/lib-storage/list/mailbox-list-none.c, src/lib-storage/list/mailbox-
14372
list-subscriptions.c, src/lib-storage/mailbox-guid-cache.c, src/lib-
14373
storage/mailbox-list-iter.c, src/lib-storage/mailbox-list.h,
14374
src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
14375
mailbox-list.c, src/plugins/fts-lucene/lucene-wrapper.cc,
14376
src/plugins/fts-solr/fts-backend-solr.c, src/plugins/quota/quota-
14377
count.c, src/plugins/quota/quota-maildir.c, src/plugins/virtual
14379
Renamed struct mailbox_info.name to vname.
14382
* src/lib-imap-storage/imap-msgpart.c:
14383
imap: Fixed FETCHing nonexistent parts.
14387
Added BINARY to IMAP capabilities.
14390
* src/lib-mail/Makefile.am, src/lib-mail/message-binary-part.c, src
14391
/lib-mail/message-binary-part.h, src/lib-storage/index/index-mail-
14392
binary.c, src/lib-storage/index/index-mail.c, src/lib-storage/index
14393
/index-mail.h, src/lib-storage/mail.c:
14394
lib-storage: Added caching for mail_get_binary_size()
14397
* src/lib/Makefile.am, src/lib/numpack.c, src/lib/numpack.h, src/lib
14398
/test-lib.c, src/lib/test-lib.h, src/lib/test-numpack.c:
14399
liblib: Added "number packing" API.
14402
* src/imap/imap-fetch-body.c, src/lib-imap-storage/imap-msgpart.c:
14403
imap: Send FETCH BINARY output using literal8.
14406
* src/doveadm/doveadm-mail.c, src/imap/cmd-fetch.c, src/imap/imap-
14407
commands-util.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c,
14408
src/imap/imap-fetch.h, src/lib-imap-storage/imap-msgpart.c, src/lib-
14409
imap-storage/imap-msgpart.h, src/lib-storage/fail-mail.c, src/lib-
14410
storage/index/Makefile.am, src/lib-storage/index/cydir/cydir-mail.c,
14411
src/lib-storage/index/dbox-multi/mdbox-mail.c, src/lib-storage/index
14412
/dbox-single/sdbox-mail.c, src/lib-storage/index/imapc/imapc-mail.c,
14413
src/lib-storage/index/index-mail-binary.c, src/lib-storage/index
14414
/index-mail.h, src/lib-storage/index/maildir/maildir-mail.c, src
14415
/lib-storage/index/mbox/mbox-mail.c, src/lib-storage/index/pop3c
14416
/pop3c-mail.c, src/lib-storage/index/raw/raw-mail.c, src/lib-storage
14417
/mail-error.h, src/lib-storage/mail-storage-private.h, src/lib-
14418
storage/mail-storage.c, src/lib-storage/mail-storage.h, src/lib-
14419
storage/mail-user.c, src/lib-storage/mail.c, src/plugins/virtual
14421
IMAP BINARY extension supports now FETCH BINARY command.
14424
* src/lib/istream-seekable.c:
14425
istream-seekable: Reverted unnecessary/broken changes from the
14429
* src/lib-mail/message-decoder.c, src/lib-mail/message-decoder.h:
14430
lib-mail: Added message_decoder_parse_cte()
14433
* src/lib/istream-seekable.c, src/lib/istream-seekable.h:
14434
Added istreams_merge(), which forces istream-seekable to be created.
14437
* src/lib/istream-seekable.c:
14438
istream-seekable: When we reach EOF, unreference all the input
14442
* src/lib/istream-seekable.c:
14443
istream-seekable: Minor code cleanup. stream->buffer and
14444
sstream->buffer being two different things was a bit confusing.
14447
* src/lib-imap-storage/imap-msgpart.c:
14448
imap: FETCH BODY[n] shouldn't include MIME headers
14451
* src/lib-mail/istream-header-filter.c, src/lib-mail/istream-header-
14452
filter.h, src/lib-mail/test-istream-header-filter.c, src/lib-
14453
storage/index/index-mail-headers.c, src/lib-storage/index/mbox/mbox-
14455
istream-header-filter: Added i_stream_header_filter_add() to add
14459
* src/lib-compression/ostream-bzlib.c, src/lib-compression/ostream-
14460
zlib.c, src/lib-fs/ostream-cmp.c, src/lib-ssl-iostream/ostream-
14461
openssl.c, src/lib/ostream-buffer.c, src/lib/ostream-file.c, src/lib
14462
/ostream-private.h, src/lib/ostream-rawlog.c, src/lib/ostream.c,
14464
Added o_stream_get_fd().
14467
* src/doveadm/Makefile.am, src/imap/Makefile.am,
14468
src/indexer/Makefile.am, src/lda/Makefile.am, src/lmtp/Makefile.am,
14469
src/pop3/Makefile.am:
14470
Makefile: Removed mountpoint.o from unused_objects, since it's now
14471
included via lib-master.
14474
2012-08-10 Timo Sirainen <tss@iki.fi>
14476
* src/lib-mail/Makefile.am, src/lib-mail/istream-qp-decoder.c, src
14477
/lib-mail/istream-qp.h, src/lib-mail/test-istream-qp-decoder.c:
14478
Added istream-qp-decoder
14481
* src/lib-mail/quoted-printable.c, src/lib-mail/test-quoted-
14483
quoted-printable decode didn't ignore whitespace at the end of soft
14487
* src/lib-mail/istream-attachment-connector.c:
14488
Previous istream-base64 changes broke compilation
14491
* src/lib/istream-base64-decoder.c, src/lib/istream-base64-encoder.c,
14492
src/lib/test-istream-base64-encoder.c:
14493
Various fixes to istream-base64-encoder/decoder
14496
* src/lib/Makefile.am, src/lib/istream-base64-decoder.c, src/lib
14497
/istream-base64-encoder.c, src/lib/istream-base64-encoder.h, src/lib
14498
/istream-base64.h, src/lib/test-istream-base64-decoder.c, src/lib
14499
/test-istream-base64-encoder.c, src/lib/test-lib.c, src/lib/test-
14501
Added istream-base64-decoder.
14504
* src/lib-mail/istream-attachment-extractor.c, src/lib-storage/index
14505
/istream-mail.c, src/lib/istream-sized.c, src/lib/istream-sized.h:
14506
istreams: When reading invalid data, fail with EINVAL instead of
14507
EIO. EINVAL was already used more.
14510
* src/lib/istream-base64-encoder.c:
14511
istream-base64-encoder: Minor fix to require only 3 bytes instead of
14512
4 per input block. Base64 encoder reads 3 bytes and outputs 4 bytes,
14513
so it's ok to read only 3 bytes.
14516
* src/lib/ioloop-epoll.c:
14517
ioloop-epoll: Fix for running with zero I/Os.
14520
* src/doveadm/doveadm-auth.c:
14521
doveadm: Renamed "auth" command to "auth test".
14524
* configure.in, src/auth/auth-cache.h, src/auth/auth-master-
14525
connection.c, src/auth/auth-request.h, src/auth/auth.c, src/auth/db-
14526
ldap.c, src/auth/db-passwd-file.c, src/auth/main.c, src/auth/mech-
14527
gssapi.c, src/auth/mech-winbind.c, src/config/config-connection.c,
14528
src/config/doveconf.c, src/config/old-set-parser.c, src/doveadm
14529
/client-connection.c, src/doveadm/doveadm-mail-mailbox-status.c,
14530
src/doveadm/main.c, src/imap-login/client.c, src/imap/cmd-list.c,
14531
src/lib-auth/auth-master.c, src/lib-auth/auth-master.h, src/lib-dict
14532
/dict-memcached.c, src/lib-dict/dict-redis.c, src/lib-imap-client
14533
/imapc-client.c, src/lib-imap-client/imapc-connection.c, src/lib-
14534
imap-client/imapc-connection.h, src/lib-master/mountpoint-list.c,
14535
src/lib-settings/settings-parser.c, src/lib-ssl-iostream/iostream-
14536
openssl.c, src/lib-storage/index/dbox-common/dbox-attachment.c, src
14537
/lib-storage/index/imapc/imapc-save.c, src/lib-storage/index/index-
14538
attachment.c, src/lib-storage/index/index-mail.c, src/lib-
14539
storage/index/index-storage.c, src/lib-storage/index/pop3c/pop3c-
14540
client.c, src/lib-storage/index/shared/shared-list.c, src/lib-
14541
storage/list/mailbox-list-delete.c, src/lib-storage/list/mailbox-
14542
list-fs-iter.c, src/lib-storage/mail-storage.c, src/lib/Makefile.am,
14543
src/lib/connection.c, src/lib/connection.h, src/lmtp/commands.c,
14544
src/lmtp/lmtp-proxy.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
14545
settings.h, src/login-common/client-common.c, src/login-common
14546
/client-common.h, src/login-common/ssl-proxy-openssl.c,
14547
src/master/main.c, src/plugins/fts-lucene/lucene-wrapper.cc,
14548
src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts-solr/solr-
14549
connection.c, src/plugins/fts/fts-api.c, src/plugins/fts/fts-
14550
search.c, src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/imap-
14551
quota/imap-quota-plugin.c, src/plugins/quota/quota-storage.c,
14552
src/plugins/quota/quota.c, src/pop3-login/client-authenticate.c,
14553
src/pop3/pop3-commands.c, src/util/script.c:
14554
Merged changes from v2.1 tree.
14557
* src/lib-master/master-service-settings-cache.c:
14558
Removed accidentally committed debug code
14561
* src/lib-master/master-service-settings-cache.c:
14562
lib-master: Another settings parser cache fix
14565
2012-08-08 Timo Sirainen <tss@iki.fi>
14567
* src/plugins/fts-solr/fts-backend-solr.c:
14568
fts-solr: Optimized expunging messages: delete more than one ID per
14572
2012-08-07 Timo Sirainen <tss@iki.fi>
14574
* src/lib-master/master-service-settings-cache.c:
14575
lib-master: Settings cache crashed after config_cache_size was
14576
reached. This affected login processes when local {} and/or remote
14577
{} blocks were specified. Also fixed the cache behavior to be MRU.
14580
2012-08-03 Timo Sirainen <tss@iki.fi>
14582
* src/plugins/pop3-migration/pop3-migration-plugin.c:
14583
pop3-migration: Avoid disconnection from POP3 server due to idling.
14586
2012-08-01 Timo Sirainen <tss@iki.fi>
14588
* src/doveadm/client-connection.c:
14589
doveadm-server: Make sure another command isn't started before
14590
previous one is finished.
14593
* src/plugins/fts/fts-api.c:
14594
fts: Fixed a crash if virtual mailbox search couldn't be optimized
14598
* src/plugins/fts/fts-search.c:
14599
fts: Fixed crash on error handling
14602
* src/auth/auth-cache.c:
14603
auth: Minor code cleanup
14607
Added signature for changeset bc86680293d2
14611
Added tag 2.1.9 for changeset bc86680293d2
14614
* NEWS, configure.in:
14616
[bc86680293d2] [2.1.9]
14618
* src/auth/db-ldap.c:
14619
auth: Support empty ldap base (for ldap servers that support it).
14622
* src/auth/mech-winbind.c:
14623
auth: winbind mechanism supports now spaces in filenames.
14626
* src/plugins/fts/fts-api.c:
14627
fts: Fixed crash in fts_lookup_multi() for backends that can't
14628
handle it (fts-squat)
14631
* src/lib-storage/list/mailbox-list-delete.c:
14632
lib-storage: Fixed attempting to delete a non-symlink with Solaris
14633
Also fixed error message to say it's about unlink(), not stat().
14636
2012-07-31 Timo Sirainen <tss@iki.fi>
14638
* src/plugins/fts-solr/solr-connection.c:
14639
fts-solr: Compiler warning fix
14642
* src/lib-imap-client/imapc-client.c, src/lib-imap-client/imapc-
14643
connection.c, src/lib-imap-client/imapc-connection.h:
14644
imapc: Fixed crashes during mailbox close.
14647
* src/lib-storage/mail-namespace.c:
14648
lib-storage: Improved missing namespace error messages.
14651
* src/util/script.c:
14652
script: Don't add an empty parameter to executed command line Also
14653
fixed an error check
14656
* src/plugins/fts-solr/solr-connection.c:
14657
fts-solr: Log a better error if Solr sends invalid XML input.
14660
* src/auth/db-passwd-file.c, src/auth/db-passwd-file.h:
14661
auth: if passwd-file isn't the only userdb, don't complain about
14662
missing userdb fields
14665
* src/imap/cmd-list.c:
14666
imap: Fixed LIST handling with reference parameter. For example
14667
"LIST shared/ %" failed to list shared/user namespace prefix.
14670
* src/lib-storage/index/shared/shared-list.c:
14671
lib-storage: Avoid creating shared user for an empty username.
14674
2012-07-28 Timo Sirainen <tss@iki.fi>
14676
* src/lib-storage/index/index-mail.c:
14677
lib-storage: When saving a mail, set date.save to cache immediately.
14680
* src/lib-storage/index/index-storage.c:
14681
lib-storage: When copying a mail, use a new timestamp for date.save
14682
instead of preserving it.
14685
* src/plugins/fts-lucene/lucene-wrapper.cc:
14686
fts-lucene: Fixed handling non-lowercase SEARCH HEADER
14687
FROM/TO/SUBJECT/CC/BCC Based on patch by Matthew Powell.
14690
* src/login-common/ssl-proxy-openssl.c:
14691
verbose_ssl=yes: Log debug messages with debug level instead of as
14695
* src/lib-ssl-iostream/iostream-openssl.c, src/login-common/ssl-proxy-
14697
verbose_ssl=yes: Log debug messages with debug level instead of as
14701
* src/lib-charset/charset-iconv.c:
14702
lib-charset: Removed unnecessary buffer size increases, which only
14703
caused out-of-memory errors.
14706
2012-07-25 Timo Sirainen <tss@iki.fi>
14708
* src/lib-storage/index/pop3c/pop3c-client.c:
14709
pop3c: If POP3 server doesn't support CAPA command, try to use UIDL
14713
2012-07-23 Timo Sirainen <tss@iki.fi>
14715
* src/lib-dict/Makefile.am, src/lib-dict/dict-memcached.c, src/lib-
14716
dict/dict-private.h, src/lib-dict/dict.c, src/lib-dict/test-dict.c:
14717
lib-dict: Added memcached backend using its binary protocol.
14720
* src/lib-dict/dict-redis.c:
14721
redis dict: Added support for set/unset/atomic_inc. This allows
14722
using Redis as dict quota backend.
14725
* src/lib-dict/dict.c:
14726
lib-dict: Allow backends to have iteration methods as NULL if they
14730
* src/plugins/quota/quota-private.h, src/plugins/quota/quota-
14731
storage.c, src/plugins/quota/quota.c:
14732
quota: Added quota_ignore_save_errors plugin setting. If mail is
14733
being saved but current quota usage lookup fails with internal
14734
error, save the mail anyway instead of failing.
14737
2012-07-17 Timo Sirainen <tss@iki.fi>
14739
* src/auth/mech-gssapi.c:
14740
auth: Fixed error handling in GSSAPI when __gss_userok() was used.
14741
An invalid username would have been treated as successful and auth
14742
process probably would have crashed.
14745
* src/auth/mech-gssapi.c:
14746
auth: GSSAPI RFC compliancy fixes. Patch by Ben Morrow:
14748
The first problem is that, because of the way the client invokes
14749
libsasl, it sends a GSSAPI request which does not ask for mutual
14750
authentication. This means that on the server gss_accept_sec_context
14751
returns GSS_S_COMPLETE with a zero-length output token. Dovecot
14752
currently sends this to the client as a zero-length continuation
14753
response, but this is incorrect according to RFC 4752: what it ought
14754
to do instead is proceed straight to the security layer
14755
negotiations, and send a gss_wrap packet.
14757
The second is that Cyrus sends an empty authz identity; that is, the
14758
security layer negotiation packet, when gss_unwrapped, is exactly 4
14759
bytes long. Dovecot objects to this, but in RFC 4422 this is
14760
explicitly allowed, and means the authz identity is identical to the
14764
* src/config/config-connection.c, src/lib-settings/settings-parser.c:
14765
config: Fixed error reporting when reloading settings for master
14770
doc: Install mkcert.sh, dovecot-openssl.cnf and solr-schema.xml
14774
* src/imap-login/client.c, src/login-common/client-common.c, src
14775
/login-common/client-common.h, src/pop3-login/client-authenticate.c:
14776
login: Don't allow STARTTLS if ssl=no in client's settings, even if
14780
* src/lib-master/mountpoint-list.c:
14781
lib-master: Updated default mountpoint ignore prefix list.
14784
* src/director/director-settings.c:
14785
director: Changed director_username_hash setting's default from %u
14786
to %Lu This allows potential trouble when username isn't always
14790
* doc/example-config/conf.d/10-director.conf:
14791
example-config: Added director_username_hash setting.
14794
* src/lib-mail/mail-user-hash.c:
14795
lib-mail: mail_user_hash() has now a faster code path for format=%Lu
14798
* src/master/main.c:
14799
master: "/X is no longer mounted" warning now points to wiki page.
14802
2012-07-16 Timo Sirainen <tss@iki.fi>
14804
* src/config/doveconf.c:
14805
doveconf: When looking up specific settings, ignore errors found by
14809
* src/plugins/quota/quota-private.h, src/plugins/quota/quota.c:
14810
quota: ns=PREFIX setting was ignored when accessing other users'
14814
* src/lib-storage/mail-user.c:
14815
lib-storage: %h variable didn't necessarily expand correctly for
14816
shared users' settings.
14819
* src/login-common/ssl-proxy-openssl.c:
14820
login: If ssl_key parsing fails, log the reason.
14823
2012-07-11 Timo Sirainen <tss@iki.fi>
14825
* src/plugins/mail-log/mail-log-plugin.c:
14826
mail-log: Log mailbox names with UTF-8 everywhere (instead of
14830
* configure.in, src/plugins/fts-lucene/Makefile.am, src/plugins/fts-
14831
lucene/lucene-wrapper.cc:
14832
Debian names libtextcat as libexttextcat. Patch by Stephan Bosch.
14835
2012-07-08 Timo Sirainen <tss@iki.fi>
14837
* src/lib-storage/index/pop3c/pop3c-client.c:
14838
pop3c: pop3c_master_user setting broke down non-master logins.
14841
* src/lib-dict/dict-redis.c, src/lib/connection.c,
14842
src/lib/connection.h:
14843
redis: Fixed connection handling.
14846
* src/lib-dict/Makefile.am, src/lib-dict/dict-private.h, src/lib-dict
14847
/dict-redis.c, src/lib-dict/dict.c, src/lib-dict/test-dict.c:
14848
lib-dict: Added initial version of Redis support. The code is a bit
14849
ugly and doesn't handle anything except key lookups.
14852
* src/lib/Makefile.am, src/lib/connection.c, src/lib/connection.h:
14853
Added "connection" API for handling client/server connections more
14857
* doc/example-config/conf.d/auth-dict.conf.ext, doc/example-config
14858
/dovecot-dict-auth.conf.ext, src/auth/Makefile.am, src/auth/db-
14859
dict.c, src/auth/db-dict.h, src/auth/main.c, src/auth/passdb-dict.c,
14860
src/auth/passdb.c, src/auth/userdb-dict.c, src/auth/userdb.c:
14861
auth: Added "dict" passdb/userdb.
14864
* src/lib/Makefile.am, src/lib/json-parser.c, src/lib/json-parser.h:
14865
Added a simple JSON parser for parsing an object.
14868
2012-07-07 Timo Sirainen <tss@iki.fi>
14870
* src/lib-storage/index/pop3c/pop3c-mail.c:
14871
pop3c: Don't get size of TOP output and cache it as message's
14875
2012-07-04 Timo Sirainen <tss@iki.fi>
14877
* src/doveadm/doveadm-auth.c:
14878
doveadm auth cache flush usage string updated
14881
2012-07-07 Timo Sirainen <tss@iki.fi>
14883
* src/lib/file-set-size.c:
14884
file_preallocate() returned wrong value on success with OSX.
14887
* src/pop3/pop3-commands.c:
14888
pop3: Fixed assert crash when doing UIDL on empty mailbox on some
14892
2012-07-04 Timo Sirainen <tss@iki.fi>
14894
* src/doveadm/doveadm-auth.c, src/doveadm/doveadm.c,
14895
src/doveadm/doveadm.h, src/lib-auth/auth-master.c, src/lib-auth
14897
doveadm: Added "auth cache flush" command.
14900
* src/auth/auth-cache.c, src/auth/auth-cache.h, src/auth/auth-master-
14901
connection.c, src/auth/auth-request.h, src/auth/auth.c, src/auth
14902
/test-auth-cache.c:
14903
auth: Added CACHE-FLUSH command to flush some/all users from auth
14907
2012-07-03 Timo Sirainen <tss@iki.fi>
14910
Added signature for changeset 7e5f36fd989d
14914
Added tag 2.1.8 for changeset 7e5f36fd989d
14917
* NEWS, configure.in:
14919
[7e5f36fd989d] [2.1.8]
14921
* src/lmtp/commands.c, src/lmtp/lmtp-settings.c, src/lmtp/lmtp-
14923
lmtp: Added lmtp_address_translate setting. The idea is that if you
14924
need userdb lookup to be done with a special kind of a username like
14925
user:domain@extrainfo, you can set lmtp_address_translate=%n:%d@
14926
which translates the address to user@domain after the userdb lookup
14930
* src/lib-sql/sql-db-cache.c:
14931
lib-sql db cache: Reaching max_unused_connections caused a crash
14935
* src/doveadm/main.c:
14936
doveadm server: Keep config socket open while running.
14939
* src/lib-storage/list/mailbox-list-fs-iter.c:
14940
layout=fs, mail_shared_explicit_inbox=no: Fixed listing nonexistent
14944
* src/plugins/imap-quota/imap-quota-plugin.c:
14945
imap-quota: GETQUOTAROOT command used UTF-8 instead of mUTF-7
14946
encoding for mailbox name.
14949
* src/plugins/imap-acl/imap-acl-plugin.c:
14950
imap-acl: MYRIGHTS command used UTF-8 instead of mUTF-7 encoding for
14954
2012-07-02 Timo Sirainen <tss@iki.fi>
14956
* src/imap/cmd-list.c, src/imap/cmd-status.c, src/imap/imap-status.c,
14957
src/imap/imap-status.h:
14958
imap: Mailbox names in STATUS replies were sent as UTF-8 instead of
14962
* src/lmtp/lmtp-proxy.c:
14963
lmtp: Fixed previous change to make sure it doesn't crash on error
14967
* src/lmtp/commands.c:
14968
lmtp: Don't idle-timeout LMTP client while proxying waits for DATA
14972
* src/lmtp/lmtp-proxy.c:
14973
lmtp proxy: Reset timeout each time receiving a reply lin for DATA.
14974
This avoids timing out when there are a lot of RCPT TOs.
14977
* src/config/old-set-parser.c:
14978
config: Fixed IPv6 address handling for parsing v1.x style
14979
listen/ssl_listen settings.
14982
2012-06-29 Timo Sirainen <tss@iki.fi>
14984
* src/lib-storage/index/index-attachment.c:
14985
lib-storage: External mail attachment parsing didn't handle CRLF
14986
linefeeds correctly. This simply meant that if mail_save_crlf=yes
14987
was used, base64-encoded attachments weren't saved base64-decoded.
14990
* src/lib-storage/index/dbox-common/dbox-attachment.c:
14991
dbox: Fixed a potential crash when building message stream from
14992
external attachments.
14995
2012-06-28 Timo Sirainen <tss@iki.fi>
14997
* src/imap/cmd-delete.c:
14998
imap: If selected mailbox is DELETEd, disconnect client.
15001
2012-06-27 Timo Sirainen <tss@iki.fi>
15003
* src/lib-storage/index/pop3c/pop3c-settings.c, src/lib-
15004
storage/index/pop3c/pop3c-settings.h, src/lib-storage/index/pop3c
15006
pop3c: Added pop3c_master_user setting.
15009
* src/doveadm/doveadm-mail-mailbox-status.c:
15010
doveadm mailbox status -A -t: Reset vsize counter between users.
15013
* src/lib-storage/mail-storage.c:
15014
lib-storage: Fixed handling failures when autocreating mailboxes.
15017
2012-06-25 Timo Sirainen <tss@iki.fi>
15019
* src/lib-storage/index/imapc/imapc-save.c:
15020
imapc: Fixed crash on saving/copying if remote IMAP server didn't
15024
* src/lib-storage/index/pop3c/pop3c-client.c:
15025
pop3c: Fixed losing timeout on ioloop change.
15028
2012-06-24 Timo Sirainen <tss@iki.fi>
15030
* src/lib-lda/duplicate.c:
15031
lib-lda: Duplicate database write failures weren't detected.
15034
2012-08-10 Timo Sirainen <tss@iki.fi>
15040
* src/lib-storage/index/index-attachment.c:
15041
lib-storage: Don't save text/* MIME parts to external attachments
15042
even if they're big enough.
15045
2012-08-09 Timo Sirainen <tss@iki.fi>
15047
* src/lib/file-lock.c, src/lib/file-lock.h:
15048
Added file_lock_method_to_str()
15051
2012-08-08 Timo Sirainen <tss@iki.fi>
15053
* src/lib/connection.c:
15054
connection API: Don't do error handling by default on output stream.
15055
For connections the error handling is almost never wanted.
15058
* src/master/master-settings.c:
15059
master: If service's protocol isn't in enabled protocols, don't
15060
verify its settings.
15063
* configure.in, dovecot-config.in.in, src/Makefile.am, src/lib-
15064
dovecot/Makefile.am:
15065
Added libtest to libdovecot.so
15068
* src/lib/ioloop-epoll.c:
15069
ioloop-epoll: Allow running ioloop even without any I/Os (only
15073
* src/lib-mail/istream-attachment-extractor.h, src/lib-mail/test-
15074
istream-attachment.c:
15075
Compiler warning fixes
15078
2012-08-06 Timo Sirainen <tss@iki.fi>
15080
* src/login-common/client-common.c:
15081
login: s/succesful/successful/
15084
2012-08-03 Timo Sirainen <tss@iki.fi>
15087
Makefile: Fixed -ldovecot-compression name
15090
2012-08-02 Timo Sirainen <tss@iki.fi>
15092
* src/lib-compression/Makefile.am:
15093
Makefile: Added missing headers
15096
* src/lib-ssl-iostream/Makefile.am:
15097
Makefile: Added missing headers to tarball
15100
2012-08-01 Timo Sirainen <tss@iki.fi>
15102
* src/lib/ostream.c:
15103
o_stream_ignore_last_errors() / o_stream_nfinish() now marks parent
15104
streams also as checked.
15107
* src/lib-dovecot/Makefile.am, src/lib-ssl-iostream/Makefile.am:
15108
Removed duplicate libdovecot-ssl
15111
* Makefile.am, configure.in, dovecot-config.in.in, dovecot.m4,
15112
src/Makefile.am, src/lib-compression/Makefile.am, src/lib-
15113
compression/compression.c, src/lib-compression/compression.h, src
15114
/lib-compression/istream-bzlib.c, src/lib-compression/istream-
15115
zlib.c, src/lib-compression/istream-zlib.h, src/lib-compression
15116
/ostream-bzlib.c, src/lib-compression/ostream-zlib.c, src/lib-
15117
compression/ostream-zlib.h, src/plugins/imap-zlib/Makefile.am,
15118
src/plugins/imap-zlib/imap-zlib-plugin.c,
15119
src/plugins/zlib/Makefile.am, src/plugins/zlib/istream-bzlib.c,
15120
src/plugins/zlib/istream-zlib.c, src/plugins/zlib/istream-zlib.h,
15121
src/plugins/zlib/ostream-bzlib.c, src/plugins/zlib/ostream-zlib.c,
15122
src/plugins/zlib/ostream-zlib.h, src/plugins/zlib/zlib-plugin.c,
15123
src/plugins/zlib/zlib-plugin.h:
15124
Moved zlib/bzlib code to lib-compression library.
15127
2012-07-31 Timo Sirainen <tss@iki.fi>
15129
* src/lib-storage/index/index-search.c, src/lib-storage/index/index-
15130
status.c, src/lib-storage/index/index-sync-pvt.c, src/lib-
15131
storage/index/index-sync.c:
15132
lib-storage: Fixes to handling private message flag indexes.
15135
* src/imap/cmd-append.c, src/lib-imap-storage/imap-msgpart-url.c,
15136
src/lib/uri-util.c:
15137
imap: CATENATE command fixes. Patch by Stephan Bosch
15140
* src/lib-master/master-service-ssl.c:
15141
lib-master: Assert-crashfix
15144
2012-07-30 Timo Sirainen <tss@iki.fi>
15146
* src/auth/mech-external.c:
15147
auth: EXTERNAL mechanism didn't use auth_username_* settings.
15150
* src/lib/Makefile.am, src/lib/connection.c, src/lib/connection.h:
15151
Added "connection" API for handling client/server connections more
15155
* src/lib-dovecot/Makefile.am:
15156
Makefile: Fixed libdovecot-ssl to actually contain libssl-iostream
15160
dovecot.m4: Export also LIBDOVECOT_IMAP_INCLUDE
15163
2012-07-28 Timo Sirainen <tss@iki.fi>
15165
* src/lib-master/master-service-ssl-settings.c:
15166
lib-master: Check ssl_cert/ssl_key only when running in
15167
config/doveconf. Also if Dovecot isn't built with SSL, default to
15172
dovecot.m4: Updates from Pigeonhole
15175
* Makefile.am, configure.in, dovecot-config.in.in, dovecot.m4,
15176
src/Makefile.am, src/lib-dovecot/Makefile.am, src/lib-
15177
master/Makefile.am, src/lib-master/master-service-ssl.c, src/lib-
15178
master/master-service-ssl.h:
15179
Added libdovecot-ssl for creating SSL servers more easily using lib-
15183
* src/config/config-parser.c, src/lib-master/Makefile.am, src/lib-
15184
master/master-service-private.h, src/lib-master/master-service-
15185
settings.c, src/lib-master/master-service-settings.h, src/lib-master
15186
/master-service-ssl-settings.c, src/lib-master/master-service-ssl-
15187
settings.h, src/lib-master/master-service.c, src/login-common
15188
/client-common-auth.c, src/login-common/client-common.c, src/login-
15189
common/client-common.h, src/login-common/login-common.h, src/login-
15190
common/login-proxy.c, src/login-common/login-settings.c, src/login-
15191
common/login-settings.h, src/login-common/main.c, src/login-common
15192
/ssl-proxy-openssl.c, src/login-common/ssl-proxy.c, src/login-common
15193
/ssl-proxy.h, src/master/service-process.c:
15194
Moved ssl_* settings from login-common to lib-master. This allows
15195
creating other SSL servers more easily.
15198
* src/lib-master/master-service-settings.c, src/lib-master/master-
15199
service-settings.h:
15200
lib-master: Added base_dir to master_service_settings.
15203
* src/auth/auth-settings.c, src/lib-master/master-service-settings.c,
15204
src/lib-master/master-service-settings.h, src/lib-storage/mail-
15205
storage-service.c, src/lmtp/lmtp-settings.c, src/login-common/login-
15207
lib-master: Added and used MASTER_SERVICE_INTERNAL_SET_PARSERS
15211
* src/ssl-params/ssl-params-settings.c:
15212
ssl-params: Create also base_dir/ssl-params socket.
15215
* src/login-common/ssl-proxy-openssl.c:
15216
login: Use lib-ssl-iostream code to handle ssl_protocols setting.
15219
* src/lib-ssl-iostream/iostream-openssl-context.c, src/lib-ssl-
15220
iostream/iostream-openssl.c, src/lib-ssl-iostream/iostream-
15221
openssl.h, src/lib-ssl-iostream/iostream-ssl.h:
15222
lib-ssl-iostream: Added protocols setting.
15225
* src/lib-ssl-iostream/iostream-openssl.c:
15226
lib-ssl-iostream: Name SSL iostreams based on parent streams.
15229
* src/lib-ssl-iostream/iostream-openssl.c:
15230
lib-ssl-iostream: Inherit output stream's error handling from
15234
* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
15235
/iostream-ssl-none.c, src/lib-ssl-iostream/iostream-ssl.h:
15236
lib-ssl-iostream: Added ssl_iostream_destroy() to do a clean SSL
15240
* src/config/config-parser.c:
15241
config: Added support for plugins to contain multiple service
15242
settings. For example:
15244
const struct service_settings *foo_settings_service_settings_array[]
15245
= { &foo1_settings_service_settings,
15246
&foo2_settings_service_settings, NULL };
15249
* src/imap/cmd-copy.c:
15250
imap: MOVE command's COPYUID reply was missing a space
15253
2012-07-25 Timo Sirainen <tss@iki.fi>
15255
* src/lib/istream.c:
15256
i_stream_read(): Added assert to make sure EOF isn't returned too
15260
* src/lib-mail/istream-attachment-connector.h:
15264
* src/lib-mail/istream-attachment-extractor.c:
15265
istream-attachment-extractor: Fixed read() returning EOF too early.
15268
2012-07-17 Jan Friesse <jfriesse@gmail.com>
15270
* src/plugins/quota/quota-fs.c:
15271
quota: Support for fs hard limit Support for hard limit is
15272
implemented for NFS, but sadly not for other filesystems. If
15273
softlimit is not set (it's 0), hardlimit should be used.
15274
--- src/plugins/quota/quota-fs.c | 31 +++++++++++++++++++++++++++++++
15275
1 files changed, 31 insertions(+), 0 deletions(-)
15278
2012-07-16 Timo Sirainen <tss@iki.fi>
15280
* src/imap/cmd-copy.c, src/imap/imap-commands.c, src/imap/imap-
15282
imap: Updated MOVE implementation.
15285
* src/master/master-settings.c:
15286
master: Create missing /var/lib/dovecot/ with world-read-exec
15287
permissions. There's really nothing secret in the directory and in
15288
some setups this change had to be done manually anyway.
15291
* src/lib-storage/index/index-search.c:
15292
lib-storage: Search crashfix.
15295
2012-07-05 Timo Sirainen <tss@iki.fi>
15297
* src/lib-storage/index/index-search.c:
15298
lib-storage: Minor code cleanup
15301
* src/lib-storage/index/index-search.c:
15302
lib-storage: Fixed searching message flags on mailboxes without
15306
* src/lib-imap-storage/imap-msgpart.c:
15307
imap: Fixed crashes on some FETCH commands
15310
2012-07-04 Timo Sirainen <tss@iki.fi>
15312
* src/lib-storage/index/index-sync-pvt.c:
15313
lib-storage: Private index needs to be synced also when messages
15314
have been expunged.
15317
* src/lib-storage/index/index-sync.c:
15318
lib-storage: Don't try to sync private index files if syncing
15319
already failed. This fixes a crash when opening a mailbox failed.
15322
* src/lib-master/master-service-settings.c:
15323
lib-master: i_close_fd() change caused environment variables to be
15327
2012-07-02 Timo Sirainen <tss@iki.fi>
15329
* src/lib-storage/index/index-search-private.h, src/lib-storage/index
15331
lib-storage: Fixed searching message flags with private flags index.
15334
* src/lib-storage/index/index-status.c:
15335
lib-storage: Fixed STATUS_FIRST_UNSEEN_SEQ lookup with private flags
15339
2012-06-30 Timo Sirainen <tss@iki.fi>
15341
* src/lib/ostream.h:
15342
o_stream_nsend() comment update
15345
2012-06-29 Timo Sirainen <tss@iki.fi>
15347
* src/lib-mail/istream-attachment-extractor.c, src/lib-mail/istream-
15348
binary-converter.c, src/lib-mail/istream-dot.c, src/lib-mail
15349
/istream-nonuls.c, src/lib-storage/index/istream-mail.c, src/lib
15350
/istream-base64-encoder.c, src/lib/istream-crlf.c, src/lib/istream-
15351
limit.c, src/lib/istream-private.h, src/lib/istream-rawlog.c,
15352
src/lib/istream-sized.c, src/lib/istream.c:
15353
istreams: Added default stat() implementation for filter streams.
15356
* src/lib-storage/index/istream-mail.c, src/lib/istream-
15357
base64-encoder.c, src/lib/istream-limit.c, src/lib/istream-
15358
private.h, src/lib/istream-seekable.c, src/lib/istream-sized.c,
15360
istreams: Added default seek() implementation for seekable streams.
15363
* src/lib-storage/index/dbox-common/dbox-attachment.c, src/lib-
15364
storage/index/index-attachment.c:
15365
lib-storage: Use the new istream-attachment-* APIs to handle
15366
external mail attachments.
15369
* src/lib-mail/Makefile.am, src/lib-mail/istream-attachment-
15370
connector.c, src/lib-mail/istream-attachment-connector.h, src/lib-
15371
mail/istream-attachment-extractor.c, src/lib-mail/istream-
15372
attachment-extractor.h, src/lib-mail/test-istream-attachment.c:
15373
lib-mail: Added istream-attachment-[connector|extractor]. istream-
15374
attachment-extractor can be used to parse messages and extract
15375
attachment MIME parts from them to wanted output streams. The
15376
attachments are base64-decoded if they can be later re-encoded to
15377
original input without any changes.
15379
istream-attachment-connector does the reverse by taking the base
15380
istream and attachment istreams and merging them together to create
15381
the original istream.
15384
* src/lib/istream-data.c, src/lib/istream-file.c, src/lib/ostream-
15386
istreams: Set (file), (fd) or (buffer) as default name for those
15390
2012-06-28 Timo Sirainen <tss@iki.fi>
15392
* src/lib/ostream.c:
15393
Fixed ostream's new error handling not to always assert-crash.
15396
* src/lib/hash-format.c, src/lib/hash-format.h:
15397
hash-format object can now be reset to build multiple hashes.
15400
* src/lib-mail/istream-binary-converter.c, src/lib/istream-private.h,
15402
Added i_stream_alloc()
15405
* src/lib-mail/istream-binary-converter.c, src/lib-mail/istream-dot.c,
15406
src/lib-mail/istream-nonuls.c, src/lib-ssl-iostream/istream-
15407
openssl.c, src/lib/istream-base64-encoder.c, src/lib/istream-
15408
chain.c, src/lib/istream-concat.c, src/lib/istream-crlf.c, src/lib
15409
/istream-file.c, src/lib/istream-private.h, src/lib/istream.c:
15410
istreams: Renamed i_stream_get_buffer_space() to
15411
i_stream_try_alloc()
15414
* src/lib-storage/index/Makefile.am, src/lib-storage/index/dbox-common
15415
/dbox-attachment.c, src/lib-storage/index/istream-attachment.c, src
15416
/lib-storage/index/istream-attachment.h, src/lib/Makefile.am,
15417
src/lib/istream-sized.c, src/lib/istream-sized.h:
15418
Renamed istream-attachment to istream-sized. The code didn't really
15419
assume anything about the input being an attachment, so this allows
15420
reusing the stream for other purposes.
15423
* src/auth/db-checkpassword.c, src/auth/db-passwd-file.c, src/auth
15424
/mech-winbind.c, src/config/config-parser.c, src/config/sysinfo-
15425
get.c, src/director/director-test.c, src/doveadm/doveadm-dump-log.c,
15426
src/doveadm/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-
15427
instance.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-sis.c,
15428
src/doveadm/doveadm-stats.c, src/doveadm/dsync/doveadm-dsync.c,
15429
src/doveadm/dsync/dsync-slave-io.c, src/imap/main.c, src/lda/main.c,
15430
src/lib-dict/dict-file.c, src/lib-dns/dns-lookup.c, src/lib-imap-
15431
client/imapc-client.c, src/lib-index/mail-cache-compress.c, src/lib-
15432
lda/smtp-client.c, src/lib-master/master-login.c, src/lib-master
15433
/master-service-settings.c, src/lib-master/mountpoint-list.c, src
15434
/lib-settings/settings-parser.c, src/lib-storage/index/index-
15435
attachment.c, src/lib-storage/index/maildir/maildir-storage.c, src
15436
/lib-storage/index/maildir/maildir-uidlist.c, src/lib-
15437
storage/index/mbox/mbox-file.c, src/lib-storage/index/mbox/mbox-
15438
lock.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
15439
storage/index/pop3c/pop3c-client.c, src/lib-storage/list/mailbox-
15440
list-maildir.c, src/lib-storage/mailbox-uidvalidity.c,
15441
src/lib/askpass.c, src/lib/failures.c, src/lib/fdatasync-path.c,
15442
src/lib/file-copy.c, src/lib/file-dotlock.c, src/lib/ioloop-notify-
15443
dn.c, src/lib/ioloop-notify-kqueue.c, src/lib/iostream-rawlog.c,
15444
src/lib/istream-seekable.c, src/lib/lib.c, src/lib/lib.h,
15445
src/lib/macros.h, src/lib/network.c, src/lib/nfs-workarounds.c,
15446
src/lib/randgen.c, src/lib/safe-mkstemp.c, src/lib/test-ostream-
15447
file.c, src/lib/unlink-directory.c, src/lmtp/commands.c, src/login-
15448
common/access-lookup.c, src/login-common/ssl-proxy-gnutls.c,
15449
src/master/main.c, src/master/service-listen.c, src/master/service-
15450
monitor.c, src/master/service.c, src/plugins/acl/acl-backend-vfile-
15451
acllist.c, src/plugins/acl/acl-backend-vfile.c, src/plugins/fts-
15452
lucene/fts-backend-lucene.c, src/plugins/fts-squat/squat-trie.c,
15453
src/plugins/fts/doveadm-dump-fts-expunge-log.c, src/plugins/fts/fts-
15454
expunge-log.c, src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-
15455
parser-script.c, src/plugins/quota/quota-maildir.c,
15456
src/plugins/trash/trash-plugin.c, src/plugins/virtual/virtual-
15457
config.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/zlib-
15458
plugin.c, src/pop3/main.c, src/ssl-params/ssl-params.c,
15459
src/util/gdbhelper.c, src/util/rawlog.c:
15460
Changed i_close_fd() API to set the fd to -1 after closing.
15463
2012-06-27 Timo Sirainen <tss@iki.fi>
15465
* src/auth/mech-gssapi.c:
15466
gssapi: Allow logging in as users listed in "k5principals" extra
15467
field. This also enables other passdb extra fields for gssapi
15470
Based on patch by Sam Morris.
15473
* src/lib-imap/imap-bodystructure.c, src/lib-mail/message-date.c, src
15474
/lib-mail/message-decoder.c, src/lib-mail/message-id.c, src/lib-mail
15475
/message-parser.c, src/lib-mail/message-search.c, src/lib-
15476
mail/rfc822-parser.h, src/lib-storage/index/index-attachment.c,
15477
src/lib/hash.c, src/lib/md4.c, src/lib/md5.c, src/lib/ostream.c,
15478
src/plugins/fts/fts-build-mail.c, src/plugins/fts/fts-parser-
15480
Try to avoid (void) casts by adding more ATTR_NOWARN_UNUSED_RESULT.
15483
2012-06-25 Timo Sirainen <tss@iki.fi>
15485
* src/auth/auth-worker-server.h, src/auth/passdb-blocking.c, src/auth
15486
/userdb-blocking.c, src/doveadm/doveadm-mail-expunge.c, src/doveadm
15487
/doveadm-mail.c, src/doveadm/dsync/dsync-brain-mailbox-tree.c,
15488
src/doveadm/dsync/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-
15489
brain-mails.c, src/doveadm/dsync/dsync-slave-pipe.c,
15490
src/doveadm/dsync/dsync-slave.c, src/doveadm/dsync/dsync-slave.h,
15491
src/doveadm/dsync/dsync-transaction-log-scan.c, src/imap-
15492
login/client.c, src/imap/cmd-append.c, src/imap/imap-client.c,
15493
src/imap/imap-common.h, src/imap/imap-search.c, src/imap/imap-
15494
sync.c, src/imap/imap-sync.h, src/lib-dict/dict-client.c, src/lib-
15495
dict/dict-file.c, src/lib-imap-client/imapc-connection.c, src/lib-
15496
imap/imap-bodystructure.c, src/lib-index/mail-index-strmap.c, src
15497
/lib-index/mail-index-transaction.c, src/lib-index/mail-index.h, src
15498
/lib-index/mail-transaction-log-file.c, src/lib-mail/istream-binary-
15499
converter.c, src/lib-mail/message-decoder.c, src/lib-mail/message-
15500
parser.c, src/lib-mail/rfc2231-parser.h, src/lib-storage/index/dbox-
15501
multi/mdbox-mail.c, src/lib-storage/index/dbox-single/sdbox-mail.c,
15502
src/lib-storage/index/dbox-single/sdbox-sync.c, src/lib-
15503
storage/index/index-storage.c, src/lib-storage/index/index-thread.c,
15504
src/lib-storage/index/index-transaction.c, src/lib-
15505
storage/index/maildir/maildir-mail.c, src/lib-storage/index/maildir
15506
/maildir-sync.c, src/lib-storage/index/maildir/maildir-uidlist.c,
15507
src/lib-storage/index/mbox/mbox-lock.c, src/lib-storage/index/mbox
15508
/mbox-lock.h, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
15509
storage/index/mbox/mbox-save.c, src/lib-storage/index/mbox/mbox-
15510
storage.c, src/lib-storage/index/mbox/mbox-sync.c, src/lib-
15511
storage/index/pop3c/pop3c-client.c, src/lib-storage/list
15512
/subscription-file.c, src/lib-storage/mail-storage.c, src/lib-
15513
storage/mail-storage.h, src/lib-storage/mailbox-list.h, src/lib-test
15514
/test-common.c, src/lib/bsearch-insert-pos.h, src/lib/file-
15515
dotlock.c, src/lib/file-dotlock.h, src/lib/iostream-rawlog.h,
15516
src/lib/istream-base64-encoder.c, src/lib/istream-data.c, src/lib
15517
/istream-private.h, src/lib/istream.c, src/lib/network.h, src/login-
15518
common/client-common-auth.c, src/login-common/client-common.h, src
15519
/login-common/login-proxy.c, src/login-common/ssl-proxy-gnutls.c,
15520
src/login-common/ssl-proxy-openssl.c, src/plugins/fts-lucene/fts-
15521
backend-lucene.c, src/plugins/fts-solr/fts-backend-solr-old.c,
15522
src/plugins/fts-solr/fts-backend-solr.c, src/plugins/fts/fts-api-
15523
private.h, src/plugins/fts/fts-api.c, src/plugins/fts/fts-parser-
15524
script.c, src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-
15525
acl-plugin.c, src/plugins/imap-quota/imap-quota-plugin.c,
15526
src/plugins/imap-zlib/imap-zlib-plugin.c, src/pop3/pop3-client.c:
15527
Avoid using (void)s by adding ATTR_NOWARN_UNUSED_RESULT attributes
15531
* src/auth/db-checkpassword.c, src/auth/db-passwd-file.c, src/auth
15532
/mech-winbind.c, src/config/config-parser.c, src/config/sysinfo-
15533
get.c, src/director/director-test.c, src/doveadm/doveadm-dump-log.c,
15534
src/doveadm/doveadm-dump-mailboxlog.c, src/doveadm/doveadm-
15535
instance.c, src/doveadm/doveadm-master.c, src/doveadm/doveadm-sis.c,
15536
src/doveadm/doveadm-stats.c, src/doveadm/dsync/doveadm-dsync.c,
15537
src/doveadm/dsync/dsync-slave-io.c, src/imap/main.c, src/lda/main.c,
15538
src/lib-dict/dict-file.c, src/lib-dns/dns-lookup.c, src/lib-imap-
15539
client/imapc-client.c, src/lib-index/mail-cache-compress.c, src/lib-
15540
index/mail-transaction-log.c, src/lib-lda/smtp-client.c, src/lib-
15541
master/master-login.c, src/lib-master/master-service-settings.c, src
15542
/lib-master/mountpoint-list.c, src/lib-settings/settings-parser.c,
15543
src/lib-storage/index/index-attachment.c, src/lib-
15544
storage/index/maildir/maildir-storage.c, src/lib-
15545
storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/mbox
15546
/mbox-file.c, src/lib-storage/index/mbox/mbox-lock.c, src/lib-
15547
storage/index/mbox/mbox-storage.c, src/lib-storage/index/pop3c
15548
/pop3c-client.c, src/lib-storage/list/mailbox-list-maildir.c, src
15549
/lib-storage/mailbox-uidvalidity.c, src/lib/Makefile.am,
15550
src/lib/askpass.c, src/lib/close-keep-errno.c, src/lib/close-keep-
15551
errno.h, src/lib/failures.c, src/lib/fdatasync-path.c, src/lib/file-
15552
copy.c, src/lib/file-dotlock.c, src/lib/ioloop-notify-dn.c, src/lib
15553
/ioloop-notify-kqueue.c, src/lib/iostream-rawlog.c, src/lib/istream-
15554
seekable.c, src/lib/macros.h, src/lib/network.c, src/lib/nfs-
15555
workarounds.c, src/lib/randgen.c, src/lib/safe-mkstemp.c, src/lib
15556
/test-ostream-file.c, src/lib/unlink-directory.c,
15557
src/lmtp/commands.c, src/login-common/access-lookup.c, src/login-
15558
common/ssl-proxy-gnutls.c, src/master/main.c, src/master/service-
15559
listen.c, src/master/service-monitor.c, src/master/service.c,
15560
src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
15561
backend-vfile.c, src/plugins/fts-lucene/fts-backend-lucene.c,
15562
src/plugins/fts-squat/squat-trie.c, src/plugins/fts/doveadm-dump-
15563
fts-expunge-log.c, src/plugins/fts/fts-expunge-log.c,
15564
src/plugins/fts/fts-indexer.c, src/plugins/fts/fts-parser-script.c,
15565
src/plugins/quota/quota-maildir.c, src/plugins/trash/trash-plugin.c,
15566
src/plugins/virtual/virtual-config.c, src/plugins/zlib/doveadm-
15567
zlib.c, src/plugins/zlib/zlib-plugin.c, src/pop3/main.c, src/ssl-
15568
params/ssl-params.c, src/util/gdbhelper.c, src/util/rawlog.c:
15569
Replaced (void)close(fd) and close_keep_errno() with i_close_fd().
15570
i_close_fd() preserves the errno and logs an error if the close()
15574
* src/auth/auth-settings.c, src/auth/db-ldap.c, src/config/config-
15575
filter.c, src/config/config-parser.c, src/doveadm/doveadm-mail-
15576
fetch.c, src/doveadm/doveadm-mailbox-list-iter.c, src/doveadm/dsync
15577
/doveadm-dsync.c, src/doveadm/dsync/dsync-brain-mailbox.c,
15578
src/doveadm/dsync/dsync-mailbox-import.c, src/imap/cmd-list.c,
15579
src/imap/imap-commands-util.c, src/imap/imap-fetch.c, src/lib-auth
15580
/auth-master.c, src/lib-imap-storage/imap-msgpart.c, src/lib-imap
15581
/imap-match.c, src/lib-index/mail-cache-compress.c, src/lib-index
15582
/mail-index-strmap.c, src/lib-index/mail-index.c, src/lib-
15583
mail/rfc2231-parser.c, src/lib-master/master-service-settings.c, src
15584
/lib-sql/driver-sqlpool.c, src/lib-storage/fail-mail.c, src/lib-
15585
storage/index/dbox-common/dbox-attachment.c, src/lib-
15586
storage/index/imapc/imapc-mailbox.c, src/lib-storage/index/index-
15587
mail-headers.c, src/lib-storage/index/index-mail.c, src/lib-
15588
storage/index/index-search.c, src/lib-storage/index/pop3c/pop3c-
15589
sync.c, src/lib-storage/list/mailbox-list-fs-iter.c, src/lib-storage
15590
/mailbox-keywords.c, src/lib/array.h, src/lib/ioloop-epoll.c,
15591
src/lib/ioloop-kqueue.c, src/lib/uri-util.c, src/lib/var-expand.c,
15592
src/master/main.c, src/plugins/acl/doveadm-acl.c, src/plugins/expire
15593
/doveadm-expire.c, src/plugins/expire/expire-plugin.c, src/plugins
15594
/fts-lucene/fts-backend-lucene.c, src/plugins/fts-solr/fts-backend-
15595
solr-old.c, src/plugins/fts-solr/fts-backend-solr.c, src/plugins
15596
/fts-solr/solr-connection.c, src/plugins/fts/fts-search.c,
15597
src/plugins/imap-acl/imap-acl-plugin.c, src/plugins/virtual/virtual-
15598
save.c, src/util/script.c:
15599
Added array_append_zero() to write a zero-filled record to an array.
15600
Replaced (void)array_append_space() calls with it.
15603
* src/lib-index/mail-index-transaction-update.c, src/lib-storage/index
15604
/dbox-multi/mdbox-sync.c, src/lib-storage/index/index-sync.c, src
15605
/lib-storage/mailbox-search-result.c, src/lib/seq-range-array.c,
15606
src/lib/seq-range-array.h, src/lib/test-seq-range-array.c,
15607
src/plugins/fts/fts-expunge-log.c, src/plugins/virtual/virtual-
15609
seq-range-array: Reverted most of recent API changes. Added
15610
ATTR_NOWARN_UNUSED_RESULT for the functions whose return value can
15614
* src/lib/macros.h:
15615
Added ATTR_NOWARN_UNUSED_RESULT, which expands to
15616
nowarn_unused_result attribute if supported. Requires a patched
15620
* src/director/director-connection.c, src/doveadm/dsync/dsync-slave-
15621
io.c, src/imap/cmd-append.c, src/imap/imap-client.c, src/lib-dict
15622
/dict-client.c, src/lib-mail/istream-dot.c, src/lib-mail/istream-
15623
header-filter.c, src/lib-mail/istream-nonuls.c, src/lib-mail
15624
/message-parser.c, src/lib-storage/index/istream-mail.c, src/lib-
15625
storage/index/mbox/istream-raw-mbox.c, src/lib-storage/index/pop3c
15626
/pop3c-client.c, src/lib/istream-base64-encoder.c, src/lib/istream-
15627
crlf.c, src/lib/istream-seekable.c, src/lib/istream-tee.c,
15628
src/lib/istream.c, src/lib/istream.h, src/lib/test-istream-
15629
base64-encoder.c, src/lib/test-istream-concat.c, src/lib/test-
15630
istream-seekable.c, src/plugins/fts/fts-expunge-log.c,
15631
src/plugins/zlib/istream-bzlib.c, src/plugins/zlib/istream-zlib.c:
15632
Added i_stream_get_data_size(). Used it where possible.
15635
* src/anvil/main.c, src/auth/auth-request.c, src/auth/mech-digest-
15636
md5.c, src/auth/mech-scram-sha1.c, src/auth/passdb-blocking.c,
15637
src/auth/password-scheme-otp.c, src/auth/userdb-blocking.c, src/auth
15638
/userdb-sql.c, src/config/doveconf.c, src/config/main.c, src/config
15639
/old-set-parser.c, src/dict/dict-commands.c, src/dict/main.c,
15640
src/director/director-connection.c, src/director/director-host.c,
15641
src/director/director.c, src/director/doveadm-connection.c,
15642
src/director/mail-host.c, src/director/main.c, src/director/test-
15643
user-directory.c, src/doveadm/doveadm-dump-dbox.c, src/doveadm
15644
/doveadm-mail-server.c, src/doveadm/doveadm-mailbox-list-iter.c,
15645
src/doveadm/doveadm-mount.c, src/doveadm/doveadm-penalty.c,
15646
src/doveadm/doveadm-stats.c, src/doveadm/dsync/doveadm-dsync.c,
15647
src/doveadm/dsync/dsync-brain-mailbox-tree.c, src/doveadm/dsync
15648
/dsync-brain-mailbox.c, src/doveadm/dsync/dsync-brain-mails.c,
15649
src/doveadm/dsync/dsync-mailbox-import.c, src/doveadm/dsync/dsync-
15650
mailbox-tree.c, src/doveadm/dsync/dsync-slave.c, src/doveadm/dsync
15651
/dsync-slave.h, src/doveadm/server-connection.c, src/doveadm/server-
15652
connection.h, src/imap-login/client.c, src/imap/cmd-fetch.c,
15653
src/imap/cmd-idle.c, src/imap/cmd-list.c, src/imap/imap-client.c,
15654
src/imap/imap-client.h, src/imap/imap-fetch-body.c, src/imap/imap-
15655
sync.c, src/imap/main.c, src/indexer/master-connection.c, src/lib-
15656
auth/auth-client.c, src/lib-imap/imap-parser.c, src/lib-imap/imap-
15657
quote.c, src/lib-index/mail-cache-compress.c, src/lib-index/mail-
15658
cache-transaction.c, src/lib-index/mail-cache.c, src/lib-index/mail-
15659
index-fsck.c, src/lib-index/mail-index-map-hdr.c, src/lib-index
15660
/mail-index-modseq.c, src/lib-index/mail-index-private.h, src/lib-
15661
index/mail-index-strmap.c, src/lib-index/mail-index-sync-update.c,
15662
src/lib-index/mail-index-transaction-private.h, src/lib-index/mail-
15663
index-transaction-sort-appends.c, src/lib-index/mail-index-
15664
transaction-update.c, src/lib-index/mail-index-view-sync.c, src/lib-
15665
index/mail-index-write.c, src/lib-index/mail-index.c, src/lib-index
15666
/mail-transaction-log-file.c, src/lib-index/test-mail-index-
15667
transaction-update.c, src/lib-index/test-mail-transaction-log-
15668
append.c, src/lib-mail/message-header-decode.c, src/lib-mail
15669
/message-part-serialize.c, src/lib-mail/rfc822-parser.c, src/lib-
15670
mail/test-istream-dot.c, src/lib-ntlm/ntlm-des.c, src/lib-ntlm/ntlm-
15671
des.h, src/lib-ntlm/ntlm-encrypt.c, src/lib-ntlm/ntlm-encrypt.h, src
15672
/lib-otp/otp-hash.c, src/lib-otp/otp-hash.h, src/lib-storage/index
15673
/dbox-common/dbox-file-fix.c, src/lib-storage/index/dbox-common
15674
/dbox-file.c, src/lib-storage/index/dbox-common/dbox-sync-rebuild.c,
15675
src/lib-storage/index/dbox-multi/mdbox-purge.c, src/lib-
15676
storage/index/dbox-single/sdbox-copy.c, src/lib-storage/index/imapc
15677
/imapc-mail.c, src/lib-storage/index/imapc/imapc-storage.c, src/lib-
15678
storage/index/index-mail.c, src/lib-storage/index/index-search.c,
15679
src/lib-storage/index/index-sort-string.c, src/lib-storage/index
15680
/index-sort.c, src/lib-storage/index/index-status.c, src/lib-
15681
storage/index/index-storage.h, src/lib-storage/index/index-sync-
15682
changes.c, src/lib-storage/index/index-sync.c, src/lib-storage/index
15683
/index-thread.c, src/lib-storage/index/maildir/maildir-uidlist.c,
15684
src/lib-storage/index/mbox/istream-raw-mbox.c, src/lib-
15685
storage/index/mbox/mbox-mail.c, src/lib-storage/index/mbox/mbox-
15686
save.c, src/lib-storage/index/mbox/mbox-storage.c, src/lib-
15687
storage/index/mbox/mbox-storage.h, src/lib-storage/index/mbox/mbox-
15688
sync.c, src/lib-storage/index/pop3c/pop3c-client.c, src/lib-
15689
storage/index/raw/raw-mail.c, src/lib-storage/mail-search-build.c,
15690
src/lib-storage/mail-storage-private.h, src/lib-storage/mail.c, src
15691
/lib-storage/mailbox-get.c, src/lib-storage/mailbox-uidvalidity.c,
15692
src/lib/data-stack.c, src/lib/hash.c, src/lib/hostpid.c, src/lib
15693
/iostream-rawlog.c, src/lib/md4.c, src/lib/md5.c,
15694
src/lib/mountpoint.c, src/lib/nfs-workarounds.c, src/lib/nfs-
15695
workarounds.h, src/lib/seq-range-array.c, src/lib/seq-range-array.h,
15696
src/lib/test-base64.c, src/lib/test-network.c, src/lib/test-ostream-
15697
file.c, src/lib/test-seq-range-array.c, src/log/log-connection.c,
15698
src/log/log-connection.h, src/login-common/client-common-auth.c, src
15699
/login-common/login-proxy-state.c, src/login-common/login-proxy.c,
15700
src/login-common/ssl-proxy-openssl.c, src/master/main.c, src/master
15701
/service-anvil.c, src/master/service-process.c, src/master/service-
15702
process.h, src/plugins/autocreate/autocreate-plugin.c,
15703
src/plugins/expire/doveadm-expire.c, src/plugins/expire/expire-
15704
plugin.c, src/plugins/fts-lucene/fts-backend-lucene.c, src/plugins
15705
/fts-squat/squat-trie.c, src/plugins/fts-squat/squat-uidlist.c,
15706
src/plugins/fts/fts-storage.c, src/plugins/imap-acl/imap-acl-
15707
plugin.c, src/plugins/imap-quota/imap-quota-plugin.c, src/plugins
15708
/imap-zlib/imap-zlib-plugin.c, src/plugins/quota/quota-maildir.c,
15709
src/plugins/quota/quota.c, src/plugins/stats/stats-connection.c,
15710
src/plugins/virtual/virtual-mail.c, src/plugins/virtual/virtual-
15711
sync.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/ostream-
15712
zlib.c, src/pop3/main.c, src/pop3/pop3-client.c,
15713
src/pop3/pop3-client.h, src/pop3/pop3-commands.c,
15714
src/replication/aggregator/notify-connection.c,
15715
src/replication/replicator/notify-connection.c, src/stats/main.c,
15717
Make sure we check all the functions' return values. Minor API
15718
changes to simplify this. Checked using a patched clang that adds
15719
attribute(warn_unused_result) to all functions. This commit fixes
15720
several error handling mistakes.
15723
* src/anvil/anvil-connection.c, src/anvil/connect-limit.c,
15724
src/anvil/penalty.c, src/auth/auth-client-connection.c, src/auth
15725
/auth-client-connection.h, src/auth/auth-master-connection.c,
15726
src/auth/auth-postfix-connection.c, src/auth/auth-worker-client.c,
15727
src/auth/auth-worker-server.c, src/auth/main.c, src/auth/mech-
15728
winbind.c, src/config/config-connection.c, src/config/doveconf.c,
15729
src/dict/dict-commands.c, src/dict/dict-connection.c, src/director
15730
/auth-connection.c, src/director/director-connection.c, src/director
15731
/director-test.c, src/director/doveadm-connection.c, src/director
15732
/login-connection.c, src/dns/dns-client.c, src/doveadm/client-
15733
connection.c, src/doveadm/doveadm-mail-fetch.c, src/doveadm/doveadm-
15734
print-server.c, src/doveadm/dsync/dsync-slave-io.c, src/doveadm
15735
/server-connection.c, src/imap-login/imap-proxy.c, src/imap/cmd-
15736
append.c, src/imap/cmd-copy.c, src/imap/cmd-thread.c, src/imap/imap-
15737
client.c, src/imap/imap-fetch-body.c, src/imap/imap-fetch.c,
15738
src/imap/imap-search.c, src/imap/imap-sync.c, src/imap/mail-storage-
15739
callbacks.c, src/indexer/indexer-client.c, src/indexer/worker-
15740
connection.c, src/ipc/client.c, src/ipc/ipc-connection.c, src/lib-
15741
auth/auth-master.c, src/lib-dict/dict-file.c, src/lib-fs/fs-posix.c,
15742
src/lib-fs/ostream-cmp.c, src/lib-imap-client/imapc-connection.c,
15743
src/lib-imap/imap-parser.c, src/lib-index/mail-cache-compress.c, src
15744
/lib-index/mail-index-strmap.c, src/lib-index/mail-index-write.c,
15745
src/lib-lda/duplicate.c, src/lib-lda/lmtp-client.c, src/lib-lda
15746
/mail-send.c, src/lib-lda/smtp-client.c, src/lib-master/anvil-
15747
client.c, src/lib-master/ipc-client.c, src/lib-master/ipc-server.c,
15748
src/lib-master/master-instance.c, src/lib-master/master-login-
15749
auth.c, src/lib-master/master-login.c, src/lib-storage/index/cydir
15750
/cydir-save.c, src/lib-storage/index/dbox-common/dbox-file-fix.c,
15751
src/lib-storage/index/dbox-common/dbox-file.c, src/lib-storage/index
15752
/dbox-common/dbox-save.c, src/lib-storage/index/dbox-multi/mdbox-
15753
purge.c, src/lib-storage/index/dbox-single/sdbox-file.c, src/lib-
15754
storage/index/imapc/imapc-save.c, src/lib-storage/index/index-
15755
attachment.c, src/lib-storage/index/maildir/maildir-save.c, src/lib-
15756
storage/index/maildir/maildir-uidlist.c, src/lib-storage/index/mbox
15757
/mbox-save.c, src/lib-storage/index/pop3c/pop3c-client.c, src/lib-
15758
storage/list/subscription-file.c, src/lib/ostream-file.c, src/lib
15759
/ostream-private.h, src/lib/ostream-rawlog.c, src/lib/ostream.c,
15760
src/lib/ostream.h, src/lib/test-ostream-file.c, src/lmtp/client.c,
15761
src/lmtp/lmtp-proxy.c, src/login-common/client-common-auth.c, src
15762
/login-common/client-common.c, src/login-common/login-proxy.c,
15763
src/plugins/acl/acl-backend-vfile-acllist.c, src/plugins/acl/acl-
15764
backend-vfile.c, src/plugins/fts-squat/squat-trie.c, src/plugins
15765
/fts-squat/squat-uidlist.c, src/plugins/imap-quota/imap-quota-
15766
plugin.c, src/plugins/zlib/doveadm-zlib.c, src/plugins/zlib/ostream-
15767
bzlib.c, src/plugins/zlib/ostream-zlib.c,
15768
src/pop3-login/pop3-proxy.c, src/pop3/pop3-client.c,
15769
src/pop3/pop3-commands.c, src/replication/aggregator/notify-
15770
connection.c, src/replication/aggregator/replicator-connection.c,
15771
src/replication/replicator/doveadm-connection.c,
15772
src/replication/replicator/notify-connection.c,
15773
src/replication/replicator/replicator-queue.c, src/ssl-
15774
params/main.c, src/stats/client-export.c, src/stats/client.c,
15775
src/stats/mail-server-connection.c, src/util/rawlog.c:
15776
Added o_stream_nsend*() and related functions to make delayed error
15777
handling safer. Once o_stream_nsend*() is called, o_stream_nfinish()
15778
must be called before stream is destroyed to finish checking if
15779
there were any errors. If something failed and the stream is just
15780
wanted to be closed, o_stream_ignore_last_errors() can be called.
15782
For streams where errors don't really make any difference (network
15783
sockets) you can call o_stream_set_no_error_handling() immediately
15784
after creating the stream.
15787
2012-06-24 Timo Sirainen <tss@iki.fi>
15789
* src/master/master-settings.c, src/master/master-settings.h:
15790
master: Problems with creating base_dir/statedir should be fatals.
15793
* src/lib-lda/duplicate.c:
15794
lib-lda: Duplicate database write failures weren't detected.
15797
* src/lib-index/mail-index-transaction-finish.c:
15798
seq_range_array_add() API change triggered a crash in buggy code.
15801
* src/lib-index/mail-index-transaction-update.c, src/lib-storage/index
15802
/index-sync.c, src/lib-storage/mailbox-search-result.c, src/lib/seq-
15803
range-array.c, src/lib/seq-range-array.h, src/lib/test-seq-range-
15805
seq_range_array_remove() now returns void. Added
15806
seq_ranger_array_try_remove().
15809
* src/doveadm/dsync/dsync-mailbox-export.c, src/doveadm/dsync/dsync-
15810
mailbox-import.c, src/imap/cmd-store.c, src/imap/imap-search.c, src
15811
/lib-index/mail-index-sync-update.c, src/lib-index/mail-index-
15812
transaction-finish.c, src/lib-index/mail-index-transaction-sort-
15813
appends.c, src/lib-index/mail-index-transaction-update.c, src/lib-
15814
index/mail-index-view-sync.c, src/lib-storage/index/dbox-multi
15815
/mdbox-map.c, src/lib-storage/index/dbox-multi/mdbox-purge.c, src
15816
/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c, src/lib-
15817
storage/index/dbox-multi/mdbox-sync.c, src/lib-storage/index/imapc
15818
/imapc-save.c, src/lib-storage/index/index-search.c, src/lib-
15819
storage/index/index-sync-search.c, src/lib-storage/index/index-
15820
sync.c, src/lib-storage/mail-search.c, src/lib-storage/mailbox-
15821
get.c, src/lib-storage/mailbox-search-result.c, src/lib/seq-range-
15822
array.c, src/lib/seq-range-array.h, src/lib/test-seq-range-array.c,
15823
src/plugins/fts-lucene/lucene-wrapper.cc, src/plugins/fts-solr/solr-
15824
connection.c, src/plugins/fts-squat/squat-trie.c, src/plugins/fts-
15825
squat/squat-uidlist.c, src/plugins/fts/fts-api.c, src/plugins/fts
15826
/fts-expunge-log.c, src/plugins/fts/fts-search.c,
15827
src/plugins/virtual/virtual-search.c, src/plugins/virtual/virtual-
15828
storage.c, src/plugins/virtual/virtual-sync.c:
15829
seq_range_array_add() API changed. Added other functions to provide
15830
the less common use cases.
15833
* src/doveadm/dsync/dsync-mailbox-import.c, src/lib-index/mail-
15834
transaction-log-view.c:
15835
Make static analyzer happier.
15838
* configure.in, src/auth/auth-request.c, src/auth/db-ldap.c,
15839
src/director/director-connection.c, src/doveadm/doveadm-log.c, src
15840
/lib-index/mail-transaction-log-file.c, src/lib-mail/message-
15841
parser.c, src/lib-master/master-instance.c, src/lib-master/master-
15842
service.c, src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-
15843
storage/index/imapc/imapc-mailbox.c, src/lib-storage/index/imapc
15844
/imapc-storage.c, src/lib-storage/index/mbox/mbox-mail.c, src/lib-
15845
storage/index/shared/shared-list.c, src/lib-storage/list/mailbox-
15846
list-index-status.c, src/plugins/quota/quota-maildir.c,
15847
src/plugins/quota/quota.c:
15848
Merged changes from v2.1 tree.
15851
* src/auth/auth-request.c, src/auth/db-ldap.c, src/auth/password-
15852
scheme.c, src/lib-index/mail-transaction-log-file.c, src/lib-index
15853
/mail-transaction-log.c, src/lib-storage/index/mbox/mbox-mail.c, src
15854
/lib-storage/index/mbox/mbox-save.c, src/plugins/fts-squat/squat-
15856
Make static analyzer happier.
15859
* src/lib-dict/dict-file.c:
15860
dict file: Don't ignore write failures.
15863
* src/director/director-connection.c:
15864
director: Fix to handling duplicate USER-WEAK event.
15867
* src/lib-storage/list/mailbox-list-index-status.c:
15868
mailbox_list_index=yes: Fixed a potential crash.
15871
* src/director/mail-host.c, src/lib/primes.c, src/lib/utc-mktime.c:
15872
Fixed signed integer shift overflows. These didn't actually cause
15873
any broken behavior. One of these was caught by
15874
http://embed.cs.utah.edu/ioc/ and the rest I grepped.
15877
2012-06-22 Timo Sirainen <tss@iki.fi>
15879
* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
15880
/istream-openssl.c, src/lib-ssl-iostream/ostream-openssl.c:
15881
lib-ssl-iostream: Memory leak fixes
15884
2012-06-21 Timo Sirainen <tss@iki.fi>
15886
* src/imap/cmd-delete.c:
15887
imap: If DELETE can't succeed because mailbox has children, don't
15888
give [ALREADYEXISTS] code.
15891
* src/plugins/quota/quota.c:
15892
quota: Don't crash at init if one of the namespaces no root dir.
15895
* src/lib-storage/index/imapc/imapc-storage.c:
15896
imapc: Don't crash when using multiple imapc namespaces.
15899
2012-06-20 Timo Sirainen <tss@iki.fi>
15901
* src/lib-mail/message-parser.c:
15902
message parser: Fixed infinite loop when parsing a specific message.
15905
2012-06-18 Timo Sirainen <tss@iki.fi>
15907
* src/plugins/fts-squat/fts-backend-squat.c:
15908
fts-squat: Fixed handling multiple SEARCH parameters.
15911
* src/lib-ssl-iostream/iostream-openssl.c, src/lib-ssl-iostream
15912
/istream-openssl.c:
15913
lib-ssl-iostream: Don't assert-crash if underlying connection
15914
suddenly disconnects.
15917
* src/doveadm/doveadm-print.c:
15918
doveadm: Fixed crash with proxying some commands.
15921
2012-06-16 Timo Sirainen <tss@iki.fi>
15923
* src/lib-storage/index/imapc/imapc-mailbox.c:
15924
imapc: Removed brokenly used explicit data stack frame. Fixes
15925
crashes when a message has more than 8 keywords.
15928
* src/doveadm/doveadm-log.c:
15929
doveadm log errors: Usage text update
15932
2012-06-15 Timo Sirainen <tss@iki.fi>
15934
* src/doveadm/doveadm-log.c:
15935
doveadm log errors: Added -s <min_timestamp> parameter
15938
* doc/example-config/conf.d/20-imap.conf:
15939
example-config: imap_logout_format default was wrong.
15942
* src/plugins/quota/quota-maildir.c:
15943
maildir++ quota: If reading maildirsize fails with ESTALE, retry it.
15946
2012-06-13 Timo Sirainen <tss@iki.fi>
15948
* src/lib-master/master-instance.c:
15949
lib-master: Fixed assert crash in some situations after updating
15953
* src/master/service-monitor.c:
15954
master: If service_count=1 and process_limit=1 and >1 clients
15955
connect, log about service_count being why.
15958
2012-06-11 Timo Sirainen <tss@iki.fi>
15960
* src/lib-storage/index/shared/shared-list.c:
15961
shared mailboxes: Avoid doing "@domain" userdb lookups.
15964
* src/director/director.c:
15965
director: Fixed working as standalone.
15968
* src/lib-master/master-service.c:
15969
lib-master: -i parameter shouldn't imply -k parameter. This was
15970
added accidentally when writing the code.
15973
* src/lib-charset/charset-iconv.c:
15974
lib-charset: Make sure convert_to_utf8*() never returns non-UTF8
15978
2012-06-04 Timo Sirainen <tss@iki.fi>
15980
* src/doveadm/doveadm.c:
15981
doveadm config: If -c parameter was given, it wasn't passed to
15985
* src/doveadm/doveadm-instance.c:
15986
doveadm instance list: Added -c parameter to easily get the
15987
instance's config path.
15990
* src/lib-master/master-instance.c, src/lib-master/master-instance.h:
15991
lib-master: Keep track of config paths in "instances" file. Normally
15992
it can be looked up from base_dir/dovecot.conf symlink, but base_dir
15993
may get deleted when system starts up.
15996
* src/doveadm/doveadm-instance.c:
15997
doveadm instance list: Added optional name parameter to list only
15998
specified instance.
16001
* src/lib-storage/index/dbox-multi/mdbox-map.c, src/lib-storage/index
16002
/dbox-multi/mdbox-map.h, src/lib-storage/index/dbox-multi/mdbox-
16004
mdbox: Flush/fsync newly saved mail data before locking map. This
16005
reduced the amount of time the map needs to be locked.
16008
* src/lib-storage/index/dbox-multi/mdbox-map-private.h, src/lib-
16009
storage/index/dbox-multi/mdbox-map.c:
16010
mdbox: Make sure map transaction won't succeed after
16011
mdbox_map_atomic_set_failed()
1
16014
2012-05-29 Timo Sirainen <tss@iki.fi>
4
16017
Added signature for changeset c92fb8b928f6
8
16021
Added tag 2.1.7 for changeset c92fb8b928f6