History log of /dovecot/src/lib/ostream.h
Revision Date Author Comments Expand
b56679429b82dfea1ceecc40efea50dd8e4e0ac5 16-Feb-2018 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add o_stream_uncork_flush() to both uncork and flush

8aa8399893c66b40e2790a4568256807a6ec6742 30-Jan-2018 Stephan Bosch <stephan.bosch@dovecot.fi>

lib: ostream: Allow switching to a specific ioloop.

7660a5183e89459d255dc5873894ff08806711d5 15-Nov-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add o_stream_abort()

f8b6c3d6bc9d63665af5e0a3c8b604438e4c3a4e 07-Nov-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add o_stream_get_last_write_time()

d6193a892452ae87548f5745dada01f82816765d 01-Nov-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add o_stream_set_finish_also_parent() and _finish_via_child() These allow controlling on both directions whether o_stream_finish() should be finishing the parent stream. If either one is set to FALSE, the parent stream isn't finished. Which one of these to use depends on the situation.

5ec4fc44e8d4e2160f07b1a7f4fce1ccfec3f6c1 30-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Automatically flush ostream when it's closed Also verify that it unexpectedly didn't get fully flushed.

4805c8a7d4bfcafa0282c31b2982757f852f8568 30-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Remove o_stream_nfinish()

84717f00ddbf5cd0ebe3f285090d5e97e458e19c 30-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Add o_stream_finish() This marks the ostream as fully finished, with no further writes coming to it. Otherwise it behaves like o_stream_flush(). The ostream.flush() methods are supposed to write their trailer (if the ostream has one) when they see that ostream.finished is set. These will be implemented by the following commits.

34d5077c37dc6224a2d430a72ae51a3f38e9e4f6 30-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: o_stream_flush() - check for send overflows and reset error handling This begins the removal of o_stream_nfinish().

b688884f23be2333bea1a8bd4ee849336aebedaa 30-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Remove o_stream_nflush() None of its previous callers were calling it correctly, so it's better to remove it entirely to avoid more of such wrong calls.

23c8c511f98924acfc7048e9dc4ccc982c34e320 30-Oct-2017 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: o_stream_uncork() - call o_stream_nflush() instead of o_stream_flush() Otherwise flush errors may be unintentionally ignored. This change requires that all the o_stream_uncork() callers must call o_stream_nfinish() afterwards, unless the ostream is set to ignore errors.

0dffa25d211be541ee3c953b23566a1a990789df 06-Jun-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

global: unsigned int:1 -> bool:1 perl -i -pe 's/unsigned int ([^,:;]+):1;/bool $1:1;/' **/*.[ch]

/dovecot/src/anvil/anvil-connection.c /dovecot/src/anvil/penalty.c /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-penalty.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-checkpassword.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-sql.c /dovecot/src/auth/userdb-static.c /dovecot/src/config/config-connection.c /dovecot/src/config/config-parser-private.h /dovecot/src/config/doveconf.c /dovecot/src/dict/dict-connection.h /dovecot/src/director/director-connection.c /dovecot/src/director/director-host.h /dovecot/src/director/director.h /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/director/mail-host.h /dovecot/src/director/user-directory.h /dovecot/src/doveadm/client-connection.h /dovecot/src/doveadm/doveadm-dsync.c /dovecot/src/doveadm/doveadm-mail-index.c /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/doveadm-mail.h /dovecot/src/doveadm/doveadm-print-flow.c /dovecot/src/doveadm/doveadm-print-pager.c /dovecot/src/doveadm/doveadm-print-tab.c /dovecot/src/doveadm/doveadm-print-table.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/dsync/dsync-brain-private.h /dovecot/src/doveadm/dsync/dsync-ibc-private.h /dovecot/src/doveadm/dsync/dsync-ibc-stream.c /dovecot/src/doveadm/dsync/dsync-mailbox-export.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-mailbox-tree.h /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-login/imap-login-client.h /dovecot/src/imap-urlauth/imap-urlauth-client.h /dovecot/src/imap-urlauth/imap-urlauth-login.c /dovecot/src/imap-urlauth/imap-urlauth-worker.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-urlfetch.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-notify.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sync.c /dovecot/src/indexer/indexer-client.c /dovecot/src/indexer/indexer-queue.h /dovecot/src/indexer/master-connection.c /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/ipc-connection.h /dovecot/src/lib-auth/auth-client-private.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-compression/istream-bzlib.c /dovecot/src/lib-compression/istream-lz4.c /dovecot/src/lib-compression/istream-lzma.c /dovecot/src/lib-compression/istream-zlib.c /dovecot/src/lib-compression/ostream-bzlib.c /dovecot/src/lib-compression/ostream-lzma.c /dovecot/src/lib-compression/ostream-zlib.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-fs/fs-api-private.h /dovecot/src/lib-http/http-client-private.h /dovecot/src/lib-http/http-header-parser.c /dovecot/src/lib-http/http-message-parser.h /dovecot/src/lib-http/http-request-parser.c /dovecot/src/lib-http/http-request.h /dovecot/src/lib-http/http-response.h /dovecot/src/lib-http/http-server-private.h /dovecot/src/lib-http/http-transfer-chunked.c /dovecot/src/lib-http/http-url.c /dovecot/src/lib-http/http-url.h /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-imap-storage/imap-metadata.c /dovecot/src/lib-imap-storage/imap-msgpart-url.c /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.c /dovecot/src/lib-imap-urlauth/imap-urlauth-fetch.h /dovecot/src/lib-imap-urlauth/imap-urlauth-private.h /dovecot/src/lib-imap/imap-arg.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/imap-url.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-lda/duplicate.c /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-mail/istream-binary-converter.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-search.c /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-login.h /dovecot/src/lib-master/master-service-private.h /dovecot/src/lib-master/master-service-settings-cache.c /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/service-settings.h /dovecot/src/lib-sql/driver-cassandra.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlite.c /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-ssl-iostream/iostream-openssl.h /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/dbox-common/dbox-file.h /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map-private.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/imapc/imapc-list.h /dovecot/src/lib-storage/index/imapc/imapc-save.c /dovecot/src/lib-storage/index/imapc/imapc-storage.h /dovecot/src/lib-storage/index/imapc/imapc-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-rebuild.h /dovecot/src/lib-storage/index/index-search-private.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort-string.c /dovecot/src/lib-storage/index/index-thread-finish.c /dovecot/src/lib-storage/index/index-thread-private.h /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/istream-mail.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/index/pop3c/pop3c-storage.h /dovecot/src/lib-storage/index/raw/raw-storage.h /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-index-notify.c /dovecot/src/lib-storage/list/mailbox-list-index-sync.h /dovecot/src/lib-storage/list/mailbox-list-index.h /dovecot/src/lib-storage/list/mailbox-list-iter.c /dovecot/src/lib-storage/list/mailbox-list-none.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search-register.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-user.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-search-result-private.h /dovecot/src/lib-storage/mailbox-tree.c buffer.c connection.h file-dotlock.c file-dotlock.h ioloop-private.h istream-crlf.c istream-file-private.h istream-jsonstr.c istream-mmap.c istream-private.h istream-tee.c istream.h mempool.h module-dir.h ostream-file-private.h ostream-private.h ostream.h /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.c /dovecot/src/log/log-connection.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/service-process.h /dovecot/src/master/service.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-lookup-dict.c /dovecot/src/plugins/acl/acl-mailbox-list.c /dovecot/src/plugins/expire/expire-plugin.c /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-solr/fts-backend-solr.c /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/fts/fts-storage.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.c /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/virtual/virtual-mail.c /dovecot/src/plugins/virtual/virtual-storage.h /dovecot/src/plugins/virtual/virtual-sync.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/replicator/dsync-client.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/replication/replicator/replicator-brain.c /dovecot/src/replication/replicator/replicator-queue.h
e93184a9055c2530366dfe617e07199603c399dd 06-Jun-2016 Martti Rannanjärvi <martti.rannanjarvi@dovecot.fi>

lib: remove autoclose parameter from [io]_stream_create_fd Use [io]_stream_create_fd_autoclose() for autoclose.

/dovecot/src/anvil/anvil-connection.c /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/config/config-connection.c /dovecot/src/config/doveconf.c /dovecot/src/dict/dict-connection.c /dovecot/src/director/auth-connection.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-test.c /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/director/notify-connection.c /dovecot/src/dns/dns-client.c /dovecot/src/doveadm/client-connection.c /dovecot/src/doveadm/doveadm-cmd.c /dovecot/src/doveadm/doveadm-dsync.c /dovecot/src/doveadm/doveadm-mail.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm-zlib.c /dovecot/src/doveadm/doveadm.c /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-hibernate/imap-client.c /dovecot/src/imap-urlauth/imap-urlauth-client.c /dovecot/src/imap-urlauth/imap-urlauth-worker.c /dovecot/src/imap/imap-client.c /dovecot/src/indexer/indexer-client.c /dovecot/src/indexer/master-connection.c /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/client.c /dovecot/src/ipc/ipc-connection.c /dovecot/src/lda/main.c /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-compression/test-compression.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-file.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-http/test-http-payload.c /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-imap-urlauth/imap-urlauth-connection.c /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-lda/duplicate.c /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/smtp-client.c /dovecot/src/lib-mail/istream-attachment-extractor.c /dovecot/src/lib-master/anvil-client.c /dovecot/src/lib-master/ipc-client.c /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-master/master-service-settings.c /dovecot/src/lib-storage/index/imapc/imapc-mail-fetch.c /dovecot/src/lib-storage/index/imapc/imapc-save.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/pop3c/pop3c-client.c connection.c file-copy.c istream-file.c istream-rawlog.c istream.h ostream-file.c ostream-rawlog.c ostream.h test-iostream-temp.c test-ostream-file.c /dovecot/src/lmtp/client.c /dovecot/src/lmtp/commands.c /dovecot/src/log/doveadm-connection.c /dovecot/src/log/log-connection.c /dovecot/src/login-common/client-common.c /dovecot/src/login-common/login-proxy.c /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/fts-squat/squat-test.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/fts/fts-expunge-log.c /dovecot/src/plugins/fts/fts-indexer.c /dovecot/src/plugins/mail-filter/istream-ext-filter.c /dovecot/src/plugins/mail-filter/ostream-ext-filter.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/virtual/virtual-config.c /dovecot/src/pop3/pop3-client.c /dovecot/src/replication/aggregator/notify-connection.c /dovecot/src/replication/aggregator/replicator-connection.c /dovecot/src/replication/replicator/dsync-client.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/stats/client.c /dovecot/src/stats/fifo-input-connection.c /dovecot/src/util/rawlog.c
378e6cb162b355d6f103526505bc00b9a78962e7 30-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

o_stream_send_istream() API changed again The new API enforces the caller to correctly handle all the possible situations. It also makes in unambiguous whether to wait for input or output stream.

bf87a5247ca33660ab8f20c12556ad16d7159395 18-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Added comment to what ostream.offset actually is

b90fb7f78aca271243c26074ddd6587cce112a1e 18-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Added o_stream_nsend_istream()

6adf683655750bcb809275cd65dc75fd12214198 18-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Simplified and clarified o_stream_send_istream() API

8b2cf1c1bd8ddcea0525b62fd35ba76e136828a1 18-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Added ostream.blocking boolean Similar to istream.blocking.

9de176ef7f3d28ff486c2a8805110b84389e4f19 18-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Don't silently ignore partial writes for o_stream_nsend() Normally o_stream_nsend() should be used only for blocking streams or streams with infinite (or "enough") buffer space.

f988b93c2ef773987bcdcbfb4cca39b955e3a392 18-May-2016 Timo Sirainen <timo.sirainen@dovecot.fi>

lib: Removed ostream.last_failed_errno It's been identical to ostream.stream_errno for a while now.

981139bb2e446bb2050c1158614725f8413fd709 17-Jan-2015 Timo Sirainen <tss@iki.fi>

lib: Added o_stream_create_passthrough() for creating simple wrapper ostreams

eb98a038ca8b0ef33d1d11794803ce09547496fa 17-Jan-2015 Timo Sirainen <tss@iki.fi>

lib: Added o_stream_add_destroy_callback()

d77fb3be552eefbfb9cdd43ff23d794796d7a36c 09-Oct-2014 Timo Sirainen <tss@iki.fi>

lib: Updated comment to o_stream_send_istream()

43834f87bf431198f986e86052a4f6e558fdb07d 13-Jun-2014 Timo Sirainen <tss@iki.fi>

lib: Added [io]_stream_create_fd_*autoclose() These make it clearer that the fd parameter will be closed automatically when the stream is closed. Eventually (in v2.3) we'll want to get rid of the autoclose boolean parameter in [io]_stream_create_fd().

10ff47d5d6146995e16da00d36eca7d162064a7b 21-May-2014 Timo Sirainen <tss@iki.fi>

lib: Added o_stream_is_corked().

556f95092c3bc850517d5ab2bb502024a55645f1 23-Apr-2014 Timo Sirainen <tss@iki.fi>

Added o_stream_get_max_buffer_size()

f4735bf7ec2019fdc730e9ebdb39e5a4ea580405 22-Sep-2013 Timo Sirainen <tss@iki.fi>

lib: Added [io]_stream_create_error_str()

862ec874f9373e3e499e237d3b9f71fdf1413fee 19-Sep-2013 Timo Sirainen <tss@iki.fi>

iostream: Added ability to set/get error strings for streams.

e2ce8d4a6ac5d82a906178148453e7613fab9ba0 13-Mar-2013 Timo Sirainen <tss@iki.fi>

iostreams: Added close_parent flag to close() handler and clarified close/destroy APIs. This makes it unambiguous how things work: Unless you explicitly call [io]_stream_close(), the parent streams won't be closed. This is what most (hopefully all!) of the existing code expects. I was wondering a bit if [io]_stream_destroy() should simply have been removed and replaced with [io]_stream_unref() calls, since they would have worked basically everywhere, but there might be some places where it's better to have explicitly closed the stream (and where closing the parent stream doesn't matter).

0c1835a90dd1dcedaeaedd1cd91672299cbeb5be 30-Sep-2012 Timo Sirainen <tss@iki.fi>

Added [io]_stream_create_error() for creating streams that always fail reads/writes.

27a44fcfd8d19bffe0f267f20a2b5d3fe7600fdd 19-Aug-2012 Timo Sirainen <tss@iki.fi>

Removed CONTEXT_TYPE_SAFETY macro and reimplemented its functionality better. gcc/clang now gives a compiler error in many places if callback isn't exactly what was expected. It's also now much easier to add more of these checks.

/dovecot/src/anvil/anvil-connection.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/db-dict.c /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-sql.c /dovecot/src/config/config-connection.c /dovecot/src/doveadm/doveadm-mail-mailbox.c /dovecot/src/doveadm/doveadm-stats.c /dovecot/src/doveadm/doveadm.c /dovecot/src/imap/imap-fetch.h /dovecot/src/indexer/indexer-client.c /dovecot/src/lib-dns/dns-lookup.c /dovecot/src/lib-dns/dns-lookup.h /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-lda/mail-send.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/test-istream-header-filter.c /dovecot/src/lib-master/master-service.c /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-purge.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage-rebuild.c /dovecot/src/lib-storage/index/imapc/imapc-mail-fetch.c /dovecot/src/lib-storage/index/index-mail-binary.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort-string.c /dovecot/src/lib-storage/index/index-thread.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/pop3c/pop3c-sync.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-header.c array.h bsearch-insert-pos.c bsearch-insert-pos.h child-wait.h connection.c ioloop.h istream.h macros.h module-dir.c ostream.h strfuncs.c strfuncs.h test-bsearch-insert-pos.c /dovecot/src/plugins/acl/acl-backend.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/pop3-migration/pop3-migration-plugin.c
8b247780e911909a9fdc47f69ce6d1478902ad98 11-Aug-2012 Timo Sirainen <tss@iki.fi>

Added o_stream_get_fd().

ceb43cc04edb94445fab8f914bc4da6d740403d1 30-Jun-2012 Timo Sirainen <tss@iki.fi>

o_stream_nsend() comment update

e2a88d59c0d47d63ce1ad5b1fd95e487124a3fd4 24-Jun-2012 Timo Sirainen <tss@iki.fi>

Added o_stream_nsend*() and related functions to make delayed error handling safer. Once o_stream_nsend*() is called, o_stream_nfinish() must be called before stream is destroyed to finish checking if there were any errors. If something failed and the stream is just wanted to be closed, o_stream_ignore_last_errors() can be called. For streams where errors don't really make any difference (network sockets) you can call o_stream_set_no_error_handling() immediately after creating the stream.

/dovecot/src/anvil/anvil-connection.c /dovecot/src/anvil/connect-limit.c /dovecot/src/anvil/penalty.c /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-postfix-connection.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/main.c /dovecot/src/auth/mech-winbind.c /dovecot/src/config/config-connection.c /dovecot/src/config/doveconf.c /dovecot/src/dict/dict-commands.c /dovecot/src/dict/dict-connection.c /dovecot/src/director/auth-connection.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-test.c /dovecot/src/director/doveadm-connection.c /dovecot/src/director/login-connection.c /dovecot/src/dns/dns-client.c /dovecot/src/doveadm/client-connection.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-print-server.c /dovecot/src/doveadm/dsync/dsync-slave-io.c /dovecot/src/doveadm/server-connection.c /dovecot/src/imap-login/imap-proxy.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-thread.c /dovecot/src/imap/imap-client.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/indexer/indexer-client.c /dovecot/src/indexer/worker-connection.c /dovecot/src/ipc/client.c /dovecot/src/ipc/ipc-connection.c /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-dict/dict-file.c /dovecot/src/lib-fs/fs-posix.c /dovecot/src/lib-fs/ostream-cmp.c /dovecot/src/lib-imap-client/imapc-connection.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-index-strmap.c /dovecot/src/lib-index/mail-index-write.c /dovecot/src/lib-lda/duplicate.c /dovecot/src/lib-lda/lmtp-client.c /dovecot/src/lib-lda/mail-send.c /dovecot/src/lib-lda/smtp-client.c /dovecot/src/lib-master/anvil-client.c /dovecot/src/lib-master/ipc-client.c /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-instance.c /dovecot/src/lib-master/master-login-auth.c /dovecot/src/lib-master/master-login.c /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/dbox-common/dbox-file-fix.c /dovecot/src/lib-storage/index/dbox-common/dbox-file.c /dovecot/src/lib-storage/index/dbox-common/dbox-save.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-purge.c /dovecot/src/lib-storage/index/dbox-single/sdbox-file.c /dovecot/src/lib-storage/index/imapc/imapc-save.c /dovecot/src/lib-storage/index/index-attachment.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/pop3c/pop3c-client.c /dovecot/src/lib-storage/list/subscription-file.c ostream-file.c ostream-private.h ostream-rawlog.c ostream.c ostream.h test-ostream-file.c /dovecot/src/lmtp/client.c /dovecot/src/lmtp/lmtp-proxy.c /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/client-common.c /dovecot/src/login-common/login-proxy.c /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/zlib/doveadm-zlib.c /dovecot/src/plugins/zlib/ostream-bzlib.c /dovecot/src/plugins/zlib/ostream-zlib.c /dovecot/src/pop3-login/pop3-proxy.c /dovecot/src/pop3/pop3-client.c /dovecot/src/pop3/pop3-commands.c /dovecot/src/replication/aggregator/notify-connection.c /dovecot/src/replication/aggregator/replicator-connection.c /dovecot/src/replication/replicator/doveadm-connection.c /dovecot/src/replication/replicator/notify-connection.c /dovecot/src/replication/replicator/replicator-queue.c /dovecot/src/ssl-params/main.c /dovecot/src/stats/client-export.c /dovecot/src/stats/client.c /dovecot/src/stats/mail-server-connection.c /dovecot/src/util/rawlog.c
a10ed8c47534b4c6b6bf2711ccfe577e720a47b4 23-Jun-2012 Timo Sirainen <tss@iki.fi>

Marked functions parameters that are allowed to be NULL. Some APIs were also changed. The non-obvious APIs where NULL parameter was changed to "" are master_service_init() and auth_master_user_list_init(). These checks can currently be enabled only on a patched clang: http://llvm.org/bugs/show_bug.cgi?id=6786

/dovecot/src/anvil/main.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-settings.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/db-checkpassword.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/main.c /dovecot/src/auth/mech-anonymous.c /dovecot/src/auth/mech-apop.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-ntlm.c /dovecot/src/auth/mech-otp-skey-common.c /dovecot/src/auth/mech-plain-common.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/mech-winbind.c /dovecot/src/auth/mech.c /dovecot/src/auth/password-scheme-otp.c /dovecot/src/auth/password-scheme.h /dovecot/src/auth/userdb-passwd.c /dovecot/src/auth/userdb-static.c /dovecot/src/auth/userdb.h /dovecot/src/config/config-parser-private.h /dovecot/src/config/config-request.h /dovecot/src/config/doveconf.c /dovecot/src/config/main.c /dovecot/src/dict/main.c /dovecot/src/director/director-connection.c /dovecot/src/director/director-test.c /dovecot/src/director/director.h /dovecot/src/dns/dns-client.c /dovecot/src/doveadm/doveadm-director.c /dovecot/src/doveadm/doveadm-log.c /dovecot/src/doveadm/doveadm-mail-fetch.c /dovecot/src/doveadm/doveadm-mail-iter.h /dovecot/src/doveadm/doveadm-mail-mailbox-status.c /dovecot/src/doveadm/dsync/doveadm-dsync.c /dovecot/src/doveadm/dsync/dsync-brain.c /dovecot/src/doveadm/dsync/dsync-mailbox-import.c /dovecot/src/doveadm/dsync/dsync-slave-io.c /dovecot/src/doveadm/main.c /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/imap-client.h /dovecot/src/imap/imap-commands-util.h /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sync.c /dovecot/src/indexer/indexer.c /dovecot/src/indexer/master-connection.c /dovecot/src/ipc/client.c /dovecot/src/ipc/main.c /dovecot/src/lib-auth/auth-client-request.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-master.c /dovecot/src/lib-auth/auth-master.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-dns/dns-lookup.h /dovecot/src/lib-imap-client/imapc-connection.h /dovecot/src/lib-imap-storage/imap-msgpart.c /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-url.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-index-alloc-cache.c /dovecot/src/lib-index/mail-index-alloc-cache.h /dovecot/src/lib-index/mail-index-map-hdr.c /dovecot/src/lib-index/mail-index-map.c /dovecot/src/lib-index/mail-index-util.h /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-lda/mail-deliver.h /dovecot/src/lib-lda/smtp-client.h /dovecot/src/lib-mail/istream-binary-converter.c /dovecot/src/lib-mail/istream-dot.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-mail/test-istream-header-filter.c /dovecot/src/lib-master/anvil-client.h /dovecot/src/lib-master/ipc-client.h /dovecot/src/lib-master/ipc-server.c /dovecot/src/lib-master/master-service-settings-cache.h /dovecot/src/lib-master/master-service-settings.h /dovecot/src/lib-master/master-service.c /dovecot/src/lib-master/master-service.h /dovecot/src/lib-master/mountpoint-list.c /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-otp/otp-parse.c /dovecot/src/lib-settings/settings-parser.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/driver-sqlpool.c /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-storage/index/dbox-common/dbox-file-fix.c /dovecot/src/lib-storage/index/dbox-common/dbox-save.h /dovecot/src/lib-storage/index/dbox-common/dbox-storage.c /dovecot/src/lib-storage/index/dbox-common/dbox-sync-rebuild.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-map.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.c /dovecot/src/lib-storage/index/dbox-multi/mdbox-storage.h /dovecot/src/lib-storage/index/dbox-multi/mdbox-sync.c /dovecot/src/lib-storage/index/dbox-single/sdbox-storage.c /dovecot/src/lib-storage/index/imapc/imapc-mail.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-filename-flags.c /dovecot/src/lib-storage/index/maildir/maildir-filename-flags.h /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync-index.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/raw/raw-storage.c /dovecot/src/lib-storage/index/shared/shared-storage.c /dovecot/src/lib-storage/list/mailbox-list-delete.c /dovecot/src/lib-storage/list/mailbox-list-fs-iter.c /dovecot/src/lib-storage/list/mailbox-list-fs.c /dovecot/src/lib-storage/list/mailbox-list-index-status.c /dovecot/src/lib-storage/list/mailbox-list-index.c /dovecot/src/lib-storage/list/mailbox-list-maildir.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-service.c /dovecot/src/lib-storage/mail-storage-service.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-thread.h /dovecot/src/lib-storage/mail.c /dovecot/src/lib-storage/mailbox-get.c /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib-test/test-common.h base64.h buffer.h child-wait.h eacces-error.h failures.c file-dotlock.c hash.c hash.h hash2.h ioloop-notify-fd.h ioloop.c ioloop.h iso8601-date.c istream-base64-encoder.c istream-chain.c istream-chain.h istream-crlf.c istream-private.h istream-seekable.h istream.c istream.h lib-signals.c lib-signals.h macros.h mkdir-parents.c module-dir.h network.c network.h ostream-private.h ostream.c ostream.h restrict-access.h safe-mkstemp.c strfuncs.c strfuncs.h test-iso8601-date.c uri-util.c uri-util.h var-expand.h /dovecot/src/lmtp/client.h /dovecot/src/lmtp/lmtp-proxy.h /dovecot/src/log/main.c /dovecot/src/login-common/client-common-auth.c /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-settings.h /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/common.h /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/fts-lucene/fts-backend-lucene.c /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-solr/solr-connection.c /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts/fts-storage.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-maildir.c /dovecot/src/plugins/quota/quota.c /dovecot/src/pop3/pop3-client.h /dovecot/src/replication/aggregator/aggregator.c /dovecot/src/replication/replicator/replicator.c /dovecot/src/ssl-params/main.c /dovecot/src/stats/mail-domain.h /dovecot/src/stats/mail-ip.h /dovecot/src/stats/mail-session.h /dovecot/src/stats/mail-user.h /dovecot/src/stats/main.c
71da447014454c84828d9dface77219875554d7d 07-Sep-2011 Timo Sirainen <tss@iki.fi>

Added o_stream_switch_ioloop() and implemented it to all ostreams.

8cb72c59d5ea4e9e5f638d7ec840bb853f5a188e 06-Mar-2010 Timo Sirainen <tss@iki.fi>

i/ostreams can now have a name (e.g. file path). --HG-- branch : HEAD

de954ff15b495be13007a8aca2c09fd1d356a283 16-Oct-2009 Timo Sirainen <tss@iki.fi>

Added o_stream_get_buffer_avail_size(). --HG-- branch : HEAD

b565a6a7a66fb9f224d00c06a950e3c1c585c18e 30-Jun-2009 Timo Sirainen <tss@iki.fi>

Added o_stream_create_buffer() for having output stream write to a buffer. --HG-- branch : HEAD

8cdb3234fe3c77e477c7a0e6934678f58fc54d4d 25-Feb-2009 Timo Sirainen <tss@iki.fi>

Added o_stream_pwrite(). --HG-- branch : HEAD

683eebe490bbe5caec246c535a10ea9f93f5c330 27-Aug-2008 Timo Sirainen <tss@iki.fi>

Updated o_stream_flush() comment. --HG-- branch : HEAD

68a4946b12583b88fa802e52ebee45cd96056772 20-Jun-2008 Timo Sirainen <tss@iki.fi>

Added more consts, ATTR_CONSTs and ATTR_PUREs. --HG-- branch : HEAD

/dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-storage/mail-namespace.c /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h aqueue.h array.c array.h buffer.c buffer.h crc32.h data-stack.h hash.h hex-dec.h istream.c istream.h lib.h network.h ostream-file.c ostream-internal.h ostream.c ostream.h primes.h priorityq.h seq-range-array.h str.h strfuncs.h unichar.h var-expand.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/login-common/ssl-proxy.c /dovecot/src/login-common/ssl-proxy.h
6cc0546c058f3e6253c6f99727b28dd602712974 24-Nov-2007 Timo Sirainen <tss@iki.fi>

Added last_failed_errno to ostream to make error handling easier with files. --HG-- branch : HEAD

252db51b6c0a605163326b3ea5d09e9936ca3b29 15-Sep-2007 Timo Sirainen <tss@iki.fi>

Renamed struct _[io]stream to struct [io]stream_private. Also removed _ prefix from _[io]stream_*() functions. --HG-- branch : HEAD

c25356d5978632df6203437e1953bcb29e0c736f 16-Sep-2007 Timo Sirainen <tss@iki.fi>

Changed .h ifdef/defines to use <NAME>_H format. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-client-interface.h /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-master-interface.h /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-stream.h /dovecot/src/auth/auth-worker-client.h /dovecot/src/auth/auth-worker-server.h /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.h /dovecot/src/auth/mech.h /dovecot/src/auth/mycrypt.h /dovecot/src/auth/otp-skey-common.h /dovecot/src/auth/passdb-blocking.h /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.h /dovecot/src/auth/plain-common.h /dovecot/src/auth/userdb-blocking.h /dovecot/src/auth/userdb-static.h /dovecot/src/auth/userdb-vpopmail.h /dovecot/src/auth/userdb.h /dovecot/src/deliver/auth-client.h /dovecot/src/deliver/deliver.h /dovecot/src/deliver/duplicate.h /dovecot/src/deliver/mail-send.h /dovecot/src/deliver/smtp-client.h /dovecot/src/dict/dict-cache.h /dovecot/src/dict/dict-server.h /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.h /dovecot/src/imap-login/imap-proxy.h /dovecot/src/imap/client.h /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.h /dovecot/src/imap/common.h /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-messageset.h /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.h /dovecot/src/imap/imap-status.h /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.h /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.h /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.h /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-index/mailbox-list-index-private.h /dovecot/src/lib-index/mailbox-list-index.h /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/mail-types.h /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-decoder.h /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-id.h /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.h /dovecot/src/lib-mail/message-search.h /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/quoted-printable.h /dovecot/src/lib-mail/rfc822-parser.h /dovecot/src/lib-ntlm/ntlm-byteorder.h /dovecot/src/lib-ntlm/ntlm-des.h /dovecot/src/lib-ntlm/ntlm-encrypt.h /dovecot/src/lib-ntlm/ntlm-flags.h /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm-types.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-otp/otp-dictionary.h /dovecot/src/lib-otp/otp-hash.h /dovecot/src/lib-otp/otp-parity.h /dovecot/src/lib-otp/otp-parse.h /dovecot/src/lib-otp/otp.h /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api-private.h /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/cydir/cydir-storage.h /dovecot/src/lib-storage/index/cydir/cydir-sync.h /dovecot/src/lib-storage/index/dbox/dbox-file.h /dovecot/src/lib-storage/index/dbox/dbox-index.h /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/index-mail.h /dovecot/src/lib-storage/index/index-sort.h /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync-changes.h /dovecot/src/lib-storage/index/maildir/maildir-filename.h /dovecot/src/lib-storage/index/maildir/maildir-keywords.h /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.h /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-from.h /dovecot/src/lib-storage/index/mbox/mbox-lock.h /dovecot/src/lib-storage/index/mbox/mbox-md5.h /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/list/index-mailbox-list.h /dovecot/src/lib-storage/list/mailbox-list-fs.h /dovecot/src/lib-storage/list/mailbox-list-maildir.h /dovecot/src/lib-storage/list/mailbox-list-subscriptions.h /dovecot/src/lib-storage/list/subscription-file.h /dovecot/src/lib-storage/mail-copy.h /dovecot/src/lib-storage/mail-error.h /dovecot/src/lib-storage/mail-namespace.h /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-list-private.h /dovecot/src/lib-storage/mailbox-list.h /dovecot/src/lib-storage/mailbox-tree.h array-decl.h array.h backtrace-string.h base64.h bsearch-insert-pos.h buffer.h close-keep-errno.h compat.h crc32.h data-stack.h env-util.h failures.h fd-close-on-exec.h fd-set-nonblock.h fdpass.h file-cache.h file-copy.h file-dotlock.h file-lock.h file-set-size.h hash.h hex-binary.h hex-dec.h hmac-md5.h home-expand.h hostpid.h imem.h ioloop-internal.h ioloop-iolist.h ioloop-notify-fd.h ioloop.h iostream-internal.h istream-internal.h istream-seekable.h istream-tee.h istream.h lib-signals.h lib.h macros.h md4.h md5.h mempool.h mkdir-parents.h mmap-util.h module-context.h module-dir.h mountpoint.h network.h nfs-workarounds.h ostream-crlf.h ostream-internal.h ostream.h primes.h printf-format-fix.h process-title.h randgen.h read-full.h restrict-access.h restrict-process-size.h safe-memset.h safe-mkdir.h safe-mkstemp.h sendfile-util.h seq-range-array.h sha1.h str-find.h str-sanitize.h str.h strescape.h strfuncs.h unichar.h unix-socket-create.h unlink-directory.h unlink-lockfiles.h utc-mktime.h utc-offset.h var-expand.h write-full.h /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.h /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/askpass.h /dovecot/src/master/auth-process.h /dovecot/src/master/capabilities.h /dovecot/src/master/child-process.h /dovecot/src/master/common.h /dovecot/src/master/dict-process.h /dovecot/src/master/dup2-array.h /dovecot/src/master/listener.h /dovecot/src/master/log.h /dovecot/src/master/login-process.h /dovecot/src/master/mail-process.h /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.h /dovecot/src/master/syslog-util.h /dovecot/src/plugins/acl/acl-api-private.h /dovecot/src/plugins/acl/acl-api.h /dovecot/src/plugins/acl/acl-backend-vfile.h /dovecot/src/plugins/acl/acl-cache.h /dovecot/src/plugins/acl/acl-plugin.h /dovecot/src/plugins/convert/convert-plugin.h /dovecot/src/plugins/convert/convert-storage.h /dovecot/src/plugins/expire/auth-client.h /dovecot/src/plugins/expire/expire-env.h /dovecot/src/plugins/expire/expire-plugin.h /dovecot/src/plugins/fts-lucene/fts-lucene-plugin.h /dovecot/src/plugins/fts-lucene/lucene-wrapper.h /dovecot/src/plugins/fts-squat/fts-squat-plugin.h /dovecot/src/plugins/fts-squat/squat-trie-private.h /dovecot/src/plugins/fts-squat/squat-trie.h /dovecot/src/plugins/fts-squat/squat-uidlist.h /dovecot/src/plugins/fts/fts-api-private.h /dovecot/src/plugins/fts/fts-api.h /dovecot/src/plugins/fts/fts-plugin.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.h /dovecot/src/plugins/lazy-expunge/lazy-expunge-plugin.h /dovecot/src/plugins/mail-log/mail-log-plugin.h /dovecot/src/plugins/mbox-snarf/mbox-snarf-plugin.h /dovecot/src/plugins/quota/quota-fs.h /dovecot/src/plugins/quota/quota-plugin.h /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.h /dovecot/src/plugins/zlib/istream-zlib.h /dovecot/src/plugins/zlib/zlib-plugin.h /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.h /dovecot/src/pop3-login/pop3-proxy.h /dovecot/src/pop3/capability.h /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.h /dovecot/src/pop3/common.h
93fa87cf1a96c4f279ec4f5c311820313ba12c34 02-Aug-2007 Timo Sirainen <tss@iki.fi>

Split o_stream_create_file() to _create_fd() and _create_fd_file(). --HG-- branch : HEAD

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/deliver/auth-client.c /dovecot/src/deliver/duplicate.c /dovecot/src/dict/dict-server.c /dovecot/src/imap-login/client.c /dovecot/src/imap/client.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mailbox-list-index-sync.c /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/list/subscription-file.c file-copy.c ostream-file.c ostream.h /dovecot/src/login-common/login-proxy.c /dovecot/src/master/auth-process.c /dovecot/src/master/login-process.c /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/expire/auth-client.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3/client.c /dovecot/src/util/rawlog.c
fe363b433b8038a69b55169da9dca27892ad7d18 24-Jul-2007 Timo Sirainen <tss@iki.fi>

Removed memory pool parameter from iostreams. Default pool was almost always used, and the stream usually required destroying anyway so it didn't even make freeing memory easier. --HG-- branch : HEAD

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/deliver/auth-client.c /dovecot/src/deliver/deliver.c /dovecot/src/deliver/duplicate.c /dovecot/src/dict/dict-server.c /dovecot/src/imap-login/client.c /dovecot/src/imap/client.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mailbox-list-index-sync.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-settings/settings.c /dovecot/src/lib-storage/index/cydir/cydir-mail.c /dovecot/src/lib-storage/index/cydir/cydir-save.c /dovecot/src/lib-storage/index/dbox/dbox-file.c /dovecot/src/lib-storage/index/dbox/dbox-mail.c /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/list/subscription-file.c file-copy.c iostream-internal.h iostream.c istream-data.c istream-file.c istream-internal.h istream-limit.c istream-mmap.c istream-seekable.c istream-seekable.h istream-tee.c istream-tee.h istream.c istream.h ostream-crlf.c ostream-crlf.h ostream-file.c ostream-internal.h ostream.c ostream.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/master.c /dovecot/src/master/auth-process.c /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/plugins/acl/acl-backend-vfile-acllist.c /dovecot/src/plugins/acl/acl-backend-vfile.c /dovecot/src/plugins/expire/auth-client.c /dovecot/src/plugins/fts-squat/squat-test.c /dovecot/src/plugins/fts-squat/squat-trie.c /dovecot/src/plugins/fts-squat/squat-uidlist.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/istream-zlib.c /dovecot/src/plugins/zlib/istream-zlib.h /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3/client.c /dovecot/src/util/rawlog.c
d7e72877b7a5085c3addf9729d0bfbe1b5357853 11-Mar-2007 Timo Sirainen <tss@iki.fi>

Updated o_stream_send_istream() comments --HG-- branch : HEAD

59151b71059df1190acd75d8717ed04a7920c862 15-Dec-2006 Timo Sirainen <tss@iki.fi>

Added context parameter type safety checks for most callback APIs. --HG-- branch : HEAD

/dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-sql.c /dovecot/src/auth/main.c /dovecot/src/deliver/deliver.c /dovecot/src/deliver/mail-send.c /dovecot/src/dict/main.c /dovecot/src/imap-login/client.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-thread.c /dovecot/src/imap/main.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-private.h /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-hash.c /dovecot/src/lib-index/mail-hash.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-decoder.c /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-parser.c /dovecot/src/lib-mail/message-header-parser.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-util.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mailbox-list.c /dovecot/src/lib-storage/mailbox-list.h ioloop-notify-dn.c ioloop.c ioloop.h lib-signals.c lib-signals.h macros.h ostream.c ostream.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/login-proxy.h /dovecot/src/login-common/main.c /dovecot/src/master/main.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3/main.c
cd56a23e21f1df3f79648cf07e2f4385e2fadebb 25-Feb-2006 Timo Sirainen <tss@iki.fi>

Added i_stream_destroy() and o_stream_destroy() and used them instead of *_stream_unref() where possible. Fixes at least one problem with io_remove() being called after socket was closed, which caused problems with epoll. --HG-- branch : HEAD

/dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/db-passwd-file.c /dovecot/src/deliver/deliver.c /dovecot/src/dict/dict-server.c /dovecot/src/imap/client.c /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-settings/settings.c /dovecot/src/lib-storage/index/dbox/dbox-file.c /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/subscription-file/subscription-file.c istream.c istream.h ostream.c ostream.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/master.c /dovecot/src/master/auth-process.c /dovecot/src/master/log.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/pop3/client.c /dovecot/src/util/rawlog.c
d5cebe7f98e63d4e2822863ef2faa4971e8b3a5d 14-Jan-2006 Timo Sirainen <tss@iki.fi>

deinit, unref, destroy, close, free, etc. functions now take a pointer to their data pointer, and set it to NULL. This makes double-frees less likely to cause security holes. --HG-- branch : HEAD

/dovecot/src/auth/auth-cache.c /dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-client-connection.h /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-connection.h /dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-module.c /dovecot/src/auth/auth-module.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth-worker-client.h /dovecot/src/auth/auth-worker-server.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/db-sql.c /dovecot/src/auth/db-sql.h /dovecot/src/auth/main.c /dovecot/src/auth/mech-gssapi.c /dovecot/src/auth/passdb-cache.c /dovecot/src/auth/passdb-checkpassword.c /dovecot/src/auth/passdb-ldap.c /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-passwd-file.c /dovecot/src/auth/passdb-sql.c /dovecot/src/auth/passdb.c /dovecot/src/auth/password-scheme.c /dovecot/src/auth/userdb-ldap.c /dovecot/src/auth/userdb-passwd-file.c /dovecot/src/auth/userdb-sql.c /dovecot/src/auth/userdb.c /dovecot/src/dict/dict-cache.c /dovecot/src/dict/dict-server.c /dovecot/src/dict/main.c /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client.c /dovecot/src/imap-login/imap-proxy.c /dovecot/src/imap/client.c /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-logout.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/cmd-unselect.c /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-thread.c /dovecot/src/imap/main.c /dovecot/src/imap/namespace.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-charset/charset-iconv.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-match.c /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction-view.c /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-mail/message-header-search.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-settings/settings.c /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-sql/sql-api.c /dovecot/src/lib-sql/sql-api.h /dovecot/src/lib-storage/index/dbox/dbox-file.c /dovecot/src/lib-storage/index/dbox/dbox-list.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/index-transaction.c /dovecot/src/lib-storage/index/maildir/maildir-keywords.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/mail-copy.c /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail.c /dovecot/src/lib-storage/subscription-file/subscription-file.c buffer.c buffer.h file-cache.c file-cache.h hash.c hash.h ioloop-notify-dn.c ioloop.c ioloop.h istream-limit.c istream-seekable.c istream.c istream.h lib-signals.c module-dir.c module-dir.h ostream-crlf.c ostream-file.c ostream.c ostream.h str.c str.h /dovecot/src/login-common/login-proxy.c /dovecot/src/login-common/main.c /dovecot/src/login-common/master.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/master/auth-process.c /dovecot/src/master/dict-process.c /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/main.c /dovecot/src/master/ssl-init.c /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/pop3-proxy.c /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c /dovecot/src/pop3/main.c /dovecot/src/util/rawlog.c
6ef7e31619edfaa17ed044b45861d106a86191ef 13-Jan-2006 Timo Sirainen <tss@iki.fi>

Added "bool" type and changed all ints that were used as booleans to bool. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/auth/auth-cache.c /dovecot/src/auth/auth-cache.h /dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/auth-master-listener.c /dovecot/src/auth/auth-master-listener.h /dovecot/src/auth/auth-request-handler.c /dovecot/src/auth/auth-request-handler.h /dovecot/src/auth/auth-request.c /dovecot/src/auth/auth-request.h /dovecot/src/auth/auth-worker-client.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/db-ldap.c /dovecot/src/auth/db-ldap.h /dovecot/src/auth/db-passwd-file.c /dovecot/src/auth/db-passwd-file.h /dovecot/src/auth/main.c /dovecot/src/auth/mech-apop.c /dovecot/src/auth/mech-cram-md5.c /dovecot/src/auth/mech-digest-md5.c /dovecot/src/auth/mech-ntlm.c /dovecot/src/auth/mech-rpa.c /dovecot/src/auth/passdb-bsdauth.c /dovecot/src/auth/passdb-cache.c /dovecot/src/auth/passdb-cache.h /dovecot/src/auth/passdb-pam.c /dovecot/src/auth/passdb-passwd.c /dovecot/src/auth/passdb-shadow.c /dovecot/src/auth/passdb.h /dovecot/src/auth/password-scheme.c /dovecot/src/auth/password-scheme.h /dovecot/src/auth/userdb-ldap.c /dovecot/src/auth/userdb-prefetch.c /dovecot/src/auth/userdb.h /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client-authenticate.h /dovecot/src/imap-login/client.c /dovecot/src/imap-login/client.h /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-authenticate.c /dovecot/src/imap/cmd-capability.c /dovecot/src/imap/cmd-check.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-examine.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-login.c /dovecot/src/imap/cmd-logout.c /dovecot/src/imap/cmd-lsub.c /dovecot/src/imap/cmd-namespace.c /dovecot/src/imap/cmd-noop.c /dovecot/src/imap/cmd-rename.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-sort.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/cmd-thread.c /dovecot/src/imap/cmd-uid.c /dovecot/src/imap/cmd-unselect.c /dovecot/src/imap/cmd-unsubscribe.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.c /dovecot/src/imap/commands.h /dovecot/src/imap/imap-expunge.c /dovecot/src/imap/imap-expunge.h /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-sort.c /dovecot/src/imap/imap-sync.c /dovecot/src/imap/imap-sync.h /dovecot/src/imap/imap-thread.c /dovecot/src/imap/namespace.c /dovecot/src/lib-auth/auth-client.c /dovecot/src/lib-auth/auth-client.h /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-auth/auth-server-connection.h /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-auth/auth-server-request.h /dovecot/src/lib-charset/charset-iconv.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-dict/dict-client.c /dovecot/src/lib-dict/dict-private.h /dovecot/src/lib-dict/dict-sql.c /dovecot/src/lib-dict/dict.c /dovecot/src/lib-dict/dict.h /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-date.c /dovecot/src/lib-imap/imap-date.h /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.c /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.c /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-index/mail-cache-compress.c /dovecot/src/lib-index/mail-cache-lookup.c /dovecot/src/lib-index/mail-cache-transaction.c /dovecot/src/lib-index/mail-cache.c /dovecot/src/lib-index/mail-cache.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-lock.c /dovecot/src/lib-index/mail-index-private.h /dovecot/src/lib-index/mail-index-sync-ext.c /dovecot/src/lib-index/mail-index-sync-private.h /dovecot/src/lib-index/mail-index-sync-update.c /dovecot/src/lib-index/mail-index-sync.c /dovecot/src/lib-index/mail-index-transaction-private.h /dovecot/src/lib-index/mail-index-transaction.c /dovecot/src/lib-index/mail-index-view-private.h /dovecot/src/lib-index/mail-index-view-sync.c /dovecot/src/lib-index/mail-index-view.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-transaction-log-append.c /dovecot/src/lib-index/mail-transaction-log-private.h /dovecot/src/lib-index/mail-transaction-log-view.c /dovecot/src/lib-index/mail-transaction-log.c /dovecot/src/lib-index/mail-transaction-log.h /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-address.c /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-body-search.h /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-date.c /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-mail/message-header-search.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-ntlm/ntlm-encrypt.c /dovecot/src/lib-ntlm/ntlm-message.c /dovecot/src/lib-ntlm/ntlm-message.h /dovecot/src/lib-ntlm/ntlm.h /dovecot/src/lib-settings/settings.c /dovecot/src/lib-settings/settings.h /dovecot/src/lib-sql/driver-mysql.c /dovecot/src/lib-sql/driver-pgsql.c /dovecot/src/lib-storage/index/dbox/dbox-list.c /dovecot/src/lib-storage/index/dbox/dbox-mail.c /dovecot/src/lib-storage/index/dbox/dbox-save.c /dovecot/src/lib-storage/index/dbox/dbox-storage.c /dovecot/src/lib-storage/index/dbox/dbox-storage.h /dovecot/src/lib-storage/index/dbox/dbox-sync-expunge.c /dovecot/src/lib-storage/index/dbox/dbox-sync.c /dovecot/src/lib-storage/index/dbox/dbox-sync.h /dovecot/src/lib-storage/index/dbox/dbox-uidlist.c /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /dovecot/src/lib-storage/index/maildir/maildir-mail.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/maildir/maildir-sync.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.c /dovecot/src/lib-storage/index/maildir/maildir-uidlist.h /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.h /dovecot/src/lib-storage/index/mbox/mbox-file.c /dovecot/src/lib-storage/index/mbox/mbox-file.h /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-mail.c /dovecot/src/lib-storage/index/mbox/mbox-md5.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/index/mbox/mbox-sync-parse.c /dovecot/src/lib-storage/index/mbox/mbox-sync-private.h /dovecot/src/lib-storage/index/mbox/mbox-sync-rewrite.c /dovecot/src/lib-storage/index/mbox/mbox-sync-update.c /dovecot/src/lib-storage/index/mbox/mbox-sync.c /dovecot/src/lib-storage/index/mbox/mbox-transaction.c /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-storage-private.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mailbox-tree.c /dovecot/src/lib-storage/mailbox-tree.h /dovecot/src/lib-storage/subscription-file/subscription-file.c /dovecot/src/lib-storage/subscription-file/subscription-file.h array.h buffer.c buffer.h compat.h data-stack.c data-stack.h fd-close-on-exec.c fd-close-on-exec.h fd-set-nonblock.c fd-set-nonblock.h file-dotlock.c file-dotlock.h hash.c hash.h hex-binary.c ioloop-epoll.c ioloop-notify-dn.c ioloop-notify-inotify.c ioloop-poll.c ioloop.c ioloop.h istream-data.c istream-file.c istream-internal.h istream-limit.c istream-mmap.c istream-seekable.c istream.c istream.h lib-signals.c lib-signals.h mempool-alloconly.c module-dir.c module-dir.h network.c network.h ostream-crlf.c ostream-file.c ostream-internal.h ostream.c ostream.h printf-upper-bound.c restrict-access.c restrict-access.h restrict-process-size.h seq-range-array.c seq-range-array.h strfuncs.c strfuncs.h unlink-directory.c unlink-directory.h var-expand.c /dovecot/src/login-common/client-common.c /dovecot/src/login-common/client-common.h /dovecot/src/login-common/common.h /dovecot/src/login-common/main.c /dovecot/src/login-common/master.c /dovecot/src/login-common/master.h /dovecot/src/login-common/sasl-server.c /dovecot/src/login-common/ssl-proxy-gnutls.c /dovecot/src/login-common/ssl-proxy-openssl.c /dovecot/src/login-common/ssl-proxy.c /dovecot/src/login-common/ssl-proxy.h /dovecot/src/master/auth-process.c /dovecot/src/master/common.h /dovecot/src/master/log.c /dovecot/src/master/login-process.c /dovecot/src/master/mail-process.c /dovecot/src/master/mail-process.h /dovecot/src/master/main.c /dovecot/src/master/master-login-interface.h /dovecot/src/master/master-settings.c /dovecot/src/master/master-settings.h /dovecot/src/master/ssl-init.c /dovecot/src/master/syslog-util.c /dovecot/src/master/syslog-util.h /dovecot/src/plugins/imap-quota/imap-quota-plugin.c /dovecot/src/plugins/quota/quota-dict.c /dovecot/src/plugins/quota/quota-dirsize.c /dovecot/src/plugins/quota/quota-fs.c /dovecot/src/plugins/quota/quota-private.h /dovecot/src/plugins/quota/quota-storage.c /dovecot/src/plugins/quota/quota.c /dovecot/src/plugins/quota/quota.h /dovecot/src/plugins/trash/trash-plugin.c /dovecot/src/plugins/zlib/istream-zlib.c /dovecot/src/plugins/zlib/zlib-plugin.c /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client-authenticate.h /dovecot/src/pop3-login/client.c /dovecot/src/pop3-login/client.h /dovecot/src/pop3/client.c /dovecot/src/pop3/commands.c /dovecot/src/pop3/common.h /dovecot/src/pop3/main.c /dovecot/src/util/rawlog.c
0ce5f96804e81cb0f857e7df32c0272f1eed9377 25-Sep-2005 Timo Sirainen <tss@iki.fi>

Changed iov_count to be unsigned int, it's large enough. Added overflow-flag which gets sent if send() failed to both send and buffer the given data. --HG-- branch : HEAD

5238111c460098d9cc8cc22527026138a278b9a4 26-Apr-2005 Timo Sirainen <tss@iki.fi>

o_stream_uncork() was previously always setting IO_WRITE handler even if there was no reason for it. This was relied on in imap/pop3 code when a handler could just send as much data as it can without actually buffering anything. So, removed the IO_WRITE handler forcing. It's only set if there's actually data in buffer or if flush_pending is set (via o_stream_set_flush_pending() or by returning 0 from flush callback handler). All in all, a minor optimization. --HG-- branch : HEAD

211ed7806d8715ec2280ffbf5d10f0d6e4f1beb2 20-Oct-2004 Timo Sirainen <tss@iki.fi>

Changed ostream's flush callback to have return value which can tell if there are more bytes to be sent even if there is none in output buffer itself. Fixes FETCH commands which used o_stream_send_istream() getting stuck. --HG-- branch : HEAD

2767104d81e97a109f0aa9758792bfa1da325a97 15-Aug-2004 Timo Sirainen <tss@iki.fi>

We never do blocking reads/writes to network anymore. Changed imap and pop3 processes to use a single I/O loop. Not much tested yet, and currently LIST/LSUB may eat too much memory and APPEND eats all CPU. --HG-- branch : HEAD

/dovecot/src/auth/auth-client-connection.c /dovecot/src/auth/auth-master-connection.c /dovecot/src/auth/password-scheme.c /dovecot/src/imap-login/client-authenticate.c /dovecot/src/imap-login/client.c /dovecot/src/imap/Makefile.am /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-idle.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/common.h /dovecot/src/imap/imap-fetch-body-section.c /dovecot/src/imap/imap-fetch-body.c /dovecot/src/imap/imap-fetch.c /dovecot/src/imap/imap-fetch.h /dovecot/src/imap/imap-messageset.c /dovecot/src/imap/imap-messageset.h /dovecot/src/imap/imap-search.c /dovecot/src/imap/imap-search.h /dovecot/src/imap/imap-thread.c /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/imap/main.c /dovecot/src/lib-auth/auth-server-connection.c /dovecot/src/lib-auth/auth-server-request.c /dovecot/src/lib-mail/istream-header-filter.c /dovecot/src/lib-mail/istream-header-filter.h /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-storage/index/index-mail-headers.c /dovecot/src/lib-storage/index/index-mail.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/mbox/istream-raw-mbox.c /dovecot/src/lib-storage/index/mbox/mbox-lock.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/mail-storage.h Makefile.am alarm-hup.c alarm-hup.h file-lock.c iostream-internal.h iostream.c istream-data.c istream-file.c istream-limit.c istream-mmap.c istream.c istream.h lib.c ostream-file.c ostream-internal.h ostream.c ostream.h strfuncs.c strfuncs.h /dovecot/src/pop3-login/client-authenticate.c /dovecot/src/pop3-login/client.c /dovecot/src/pop3/client.c /dovecot/src/pop3/client.h /dovecot/src/pop3/commands.c
9b7eeffb5752b500ac62ba1fd01c4a8c4ada14e9 28-Jun-2004 Timo Sirainen <tss@iki.fi>

Allow giving 0 max_buffer_size, in which case "optimal" size is used. --HG-- branch : HEAD

007d354a674fb3ddf49db160cf050cf61270a1a0 23-May-2003 Timo Sirainen <tss@iki.fi>

Removed I/O priorities. They were pretty much useless and were just getting in way. --HG-- branch : HEAD

03f5c621d06d6b6d77a145196c9633a7aa64dc78 19-Feb-2003 Timo Sirainen <tss@iki.fi>

o_stream_send_istream() is now safe to use for moving data within file. --HG-- branch : HEAD

daf029d2a627daa39d05507140f385162828172e 23-Jan-2003 Timo Sirainen <tss@iki.fi>

More type safety to i/o streams --HG-- branch : HEAD

f923659c0e5298263d80622c99f4dc4132b4675b 11-Jan-2003 Timo Sirainen <tss@iki.fi>

Naming change for function typedefs. --HG-- branch : HEAD

/dovecot/src/auth/auth-cyrus-sasl2.c /dovecot/src/auth/auth-digest-md5.c /dovecot/src/auth/auth-plain.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/cookie.h /dovecot/src/auth/userinfo-passwd-file.c /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-list.c /dovecot/src/imap/commands.c /dovecot/src/imap/commands.h /dovecot/src/lib-imap/imap-message-cache.c /dovecot/src/lib-index/mail-index-update.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/maildir/maildir-sync.c /dovecot/src/lib-index/mbox/mbox-append.c /dovecot/src/lib-index/mbox/mbox-index.c /dovecot/src/lib-index/mbox/mbox-index.h /dovecot/src/lib-index/mbox/mbox-lock.c /dovecot/src/lib-index/mbox/mbox-rewrite.c /dovecot/src/lib-index/mbox/mbox-sync-full.c /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-content-parser.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-decode.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-tokenize.c /dovecot/src/lib-mail/message-tokenize.h /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-messageset.c /dovecot/src/lib-storage/index/index-messageset.h /dovecot/src/lib-storage/index/index-update-flags.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-sort.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/mail-thread.c /dovecot/src/lib-storage/subscription-file/subscription-file.c /dovecot/src/lib-storage/subscription-file/subscription-file.h failures.c failures.h file-lock.c file-lock.h hash.c hash.h ioloop-internal.h ioloop-poll.c ioloop-select.c ioloop.c ioloop.h iostream-internal.h iostream.c istream-data.c istream-file.c istream-mmap.c istream.c istream.h ostream-file.c ostream.c ostream.h /dovecot/src/login/auth-connection.c /dovecot/src/login/auth-connection.h /dovecot/src/login/common.h /dovecot/src/login/master.c /dovecot/src/login/master.h /dovecot/src/master/auth-process.c /dovecot/src/master/auth-process.h /dovecot/src/master/ssl-init.c
c0435c854a0e7246373b9752d163095cc4fbe985 05-Jan-2003 Timo Sirainen <tss@iki.fi>

Naming style changes, finally got tired of most of the typedefs. Also the previous enum -> macro change reverted so that we don't use the highest bit anymore, that's incompatible with old indexes so they will be rebuilt. --HG-- branch : HEAD

/dovecot/configure.in /dovecot/src/auth/auth-digest-md5.c /dovecot/src/auth/auth-interface.h /dovecot/src/auth/auth-plain.c /dovecot/src/auth/auth.c /dovecot/src/auth/auth.h /dovecot/src/auth/common.h /dovecot/src/auth/cookie.c /dovecot/src/auth/cookie.h /dovecot/src/auth/login-connection.c /dovecot/src/auth/login-connection.h /dovecot/src/auth/main.c /dovecot/src/auth/master.c /dovecot/src/auth/userinfo-pam.c /dovecot/src/auth/userinfo-passwd-file.c /dovecot/src/auth/userinfo-passwd.c /dovecot/src/auth/userinfo-passwd.h /dovecot/src/auth/userinfo-shadow.c /dovecot/src/auth/userinfo-vpopmail.c /dovecot/src/auth/userinfo.c /dovecot/src/auth/userinfo.h /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-authenticate.c /dovecot/src/imap/cmd-capability.c /dovecot/src/imap/cmd-check.c /dovecot/src/imap/cmd-close.c /dovecot/src/imap/cmd-copy.c /dovecot/src/imap/cmd-create.c /dovecot/src/imap/cmd-delete.c /dovecot/src/imap/cmd-examine.c /dovecot/src/imap/cmd-expunge.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-list.c /dovecot/src/imap/cmd-login.c /dovecot/src/imap/cmd-logout.c /dovecot/src/imap/cmd-lsub.c /dovecot/src/imap/cmd-noop.c /dovecot/src/imap/cmd-rename.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-select.c /dovecot/src/imap/cmd-sort.c /dovecot/src/imap/cmd-status.c /dovecot/src/imap/cmd-store.c /dovecot/src/imap/cmd-subscribe.c /dovecot/src/imap/cmd-uid.c /dovecot/src/imap/cmd-unsubscribe.c /dovecot/src/imap/commands-util.c /dovecot/src/imap/commands-util.h /dovecot/src/imap/commands.h /dovecot/src/imap/common.h /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/imap/main.c /dovecot/src/imap/rawlog.c /dovecot/src/lib-charset/charset-iconv.c /dovecot/src/lib-charset/charset-utf8.c /dovecot/src/lib-charset/charset-utf8.h /dovecot/src/lib-imap/imap-base-subject.c /dovecot/src/lib-imap/imap-base-subject.h /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-envelope.h /dovecot/src/lib-imap/imap-match.c /dovecot/src/lib-imap/imap-match.h /dovecot/src/lib-imap/imap-message-cache.c /dovecot/src/lib-imap/imap-message-cache.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-imap/imap-quote.c /dovecot/src/lib-imap/imap-quote.h /dovecot/src/lib-imap/imap-util.c /dovecot/src/lib-imap/imap-util.h /dovecot/src/lib-index/mail-custom-flags.c /dovecot/src/lib-index/mail-custom-flags.h /dovecot/src/lib-index/mail-index-compress.c /dovecot/src/lib-index/mail-index-data.c /dovecot/src/lib-index/mail-index-data.h /dovecot/src/lib-index/mail-index-fsck.c /dovecot/src/lib-index/mail-index-open.c /dovecot/src/lib-index/mail-index-update-cache.c /dovecot/src/lib-index/mail-index-update.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-index/mail-index-util.h /dovecot/src/lib-index/mail-index.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/mail-lockdir.c /dovecot/src/lib-index/mail-lockdir.h /dovecot/src/lib-index/mail-modifylog.c /dovecot/src/lib-index/mail-modifylog.h /dovecot/src/lib-index/mail-tree-redblack.c /dovecot/src/lib-index/mail-tree.c /dovecot/src/lib-index/mail-tree.h /dovecot/src/lib-index/maildir/maildir-build.c /dovecot/src/lib-index/maildir/maildir-index.c /dovecot/src/lib-index/maildir/maildir-index.h /dovecot/src/lib-index/maildir/maildir-open.c /dovecot/src/lib-index/maildir/maildir-rebuild.c /dovecot/src/lib-index/maildir/maildir-sync.c /dovecot/src/lib-index/maildir/maildir-update.c /dovecot/src/lib-index/mbox/mbox-append.c /dovecot/src/lib-index/mbox/mbox-from.c /dovecot/src/lib-index/mbox/mbox-index.c /dovecot/src/lib-index/mbox/mbox-index.h /dovecot/src/lib-index/mbox/mbox-lock.c /dovecot/src/lib-index/mbox/mbox-lock.h /dovecot/src/lib-index/mbox/mbox-open.c /dovecot/src/lib-index/mbox/mbox-rebuild.c /dovecot/src/lib-index/mbox/mbox-rewrite.c /dovecot/src/lib-index/mbox/mbox-sync-full.c /dovecot/src/lib-index/mbox/mbox-sync.c /dovecot/src/lib-mail/Makefile.am /dovecot/src/lib-mail/message-address.c /dovecot/src/lib-mail/message-address.h /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-body-search.h /dovecot/src/lib-mail/message-content-parser.c /dovecot/src/lib-mail/message-date.c /dovecot/src/lib-mail/message-date.h /dovecot/src/lib-mail/message-header-decode.c /dovecot/src/lib-mail/message-header-search.c /dovecot/src/lib-mail/message-header-search.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-part-serialize.c /dovecot/src/lib-mail/message-part-serialize.h /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-mail/message-tokenize.c /dovecot/src/lib-mail/message-tokenize.h /dovecot/src/lib-mail/quoted-printable.c /dovecot/src/lib-mail/quoted-printable.h /dovecot/src/lib-mail/rfc822-address.h /dovecot/src/lib-mail/rfc822-date.h /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-expunge.c /dovecot/src/lib-storage/index/index-fetch-section.c /dovecot/src/lib-storage/index/index-fetch.c /dovecot/src/lib-storage/index/index-fetch.h /dovecot/src/lib-storage/index/index-mailbox-check.c /dovecot/src/lib-storage/index/index-messageset.c /dovecot/src/lib-storage/index/index-messageset.h /dovecot/src/lib-storage/index/index-msgcache.c /dovecot/src/lib-storage/index/index-save.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-sort.h /dovecot/src/lib-storage/index/index-status.c /dovecot/src/lib-storage/index/index-storage.c /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/index-sync.c /dovecot/src/lib-storage/index/index-update-flags.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-expunge.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/mbox/mbox-expunge.c /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/mail-search.c /dovecot/src/lib-storage/mail-search.h /dovecot/src/lib-storage/mail-sort.c /dovecot/src/lib-storage/mail-sort.h /dovecot/src/lib-storage/mail-storage.c /dovecot/src/lib-storage/mail-storage.h /dovecot/src/lib-storage/subscription-file/subscription-file.c /dovecot/src/lib-storage/subscription-file/subscription-file.h base64.c base64.h buffer.c buffer.h compat.h data-stack.c env-util.c failures.h hash.c hash.h hex-binary.c hex-binary.h imem.c imem.h ioloop-internal.h ioloop-poll.c ioloop-select.c ioloop.c ioloop.h iostream-internal.h iostream.c istream-data.c istream-file.c istream-internal.h istream-mmap.c istream.c istream.h lib.h macros.h md5.c md5.h mempool-alloconly.c mempool-datastack.c mempool-system.c mempool.h network.c network.h ostream-file.c ostream-internal.h ostream.c ostream.h str.c str.h strescape.c strescape.h strfuncs.c strfuncs.h /dovecot/src/login/auth-connection.c /dovecot/src/login/auth-connection.h /dovecot/src/login/client-authenticate.c /dovecot/src/login/client-authenticate.h /dovecot/src/login/client.c /dovecot/src/login/client.h /dovecot/src/login/main.c /dovecot/src/login/master.c /dovecot/src/login/master.h /dovecot/src/login/ssl-proxy-gnutls.c /dovecot/src/login/ssl-proxy-openssl.c /dovecot/src/master/auth-process.c /dovecot/src/master/auth-process.h /dovecot/src/master/common.h /dovecot/src/master/imap-process.c /dovecot/src/master/login-process.c /dovecot/src/master/main.c /dovecot/src/master/master-interface.h /dovecot/src/master/settings.c /dovecot/src/master/settings.h /dovecot/src/master/ssl-init.c
555ebb032f9b8f0cdb66f27ce7374734833e7cac 19-Dec-2002 Timo Sirainen <tss@iki.fi>

Buffer related cleanups. Use PATH_MAX instead of hardcoded 1024 for paths. Added str_path() and str_ppath() functions. i_snprintf() now returns only -1 or 0 depending on if buffer got full. dec2str() returns the string allocated from data stack. Instead of just casting to (long) or (int), we now use dec2str() with printf-like functions. Added o_stream_send_str(). Added strocpy() and replaced all strcpy()s and strncpy()s with it. Pretty much untested, hope it doesn't break too badly :) --HG-- branch : HEAD

/dovecot/src/auth/userinfo-pam.c /dovecot/src/auth/userinfo-passwd-file.c /dovecot/src/auth/userinfo-passwd.c /dovecot/src/auth/userinfo-vpopmail.c /dovecot/src/imap/client.c /dovecot/src/imap/rawlog.c /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-index/mail-index-open.c /dovecot/src/lib-index/maildir/maildir-build.c /dovecot/src/lib-index/maildir/maildir-sync.c /dovecot/src/lib-index/mbox/mbox-rewrite.c /dovecot/src/lib-mail/rfc822-address.c /dovecot/src/lib-storage/index/index-fetch-section.c /dovecot/src/lib-storage/index/index-fetch.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/maildir/maildir-copy.c /dovecot/src/lib-storage/index/maildir/maildir-expunge.c /dovecot/src/lib-storage/index/maildir/maildir-list.c /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.c /dovecot/src/lib-storage/index/mbox/mbox-list.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.c hostpid.c mempool-alloconly.c network.c ostream.c ostream.h process-title.c restrict-access.c strfuncs.c strfuncs.h unlink-directory.c unlink-lockfiles.c /dovecot/src/login/client.c /dovecot/src/login/master.c /dovecot/src/master/auth-process.c /dovecot/src/master/imap-process.c /dovecot/src/master/login-process.c /dovecot/src/master/main.c
ecc81625167ed96c04c02aa190a1ea5baa65b474 06-Dec-2002 Timo Sirainen <tss@iki.fi>

Renamed IBuffer and OBuffer to IStream and OStream which describes their functionality better. I tried to keep the variable names and comments also sensible. --HG-- branch : HEAD

/dovecot/src/auth/login-connection.c /dovecot/src/auth/master.c /dovecot/src/auth/userinfo-passwd-file.c /dovecot/src/imap/client.c /dovecot/src/imap/client.h /dovecot/src/imap/cmd-append.c /dovecot/src/imap/cmd-fetch.c /dovecot/src/imap/cmd-search.c /dovecot/src/imap/cmd-sort.c /dovecot/src/imap/mail-storage-callbacks.c /dovecot/src/lib-imap/imap-bodystructure.c /dovecot/src/lib-imap/imap-bodystructure.h /dovecot/src/lib-imap/imap-envelope.c /dovecot/src/lib-imap/imap-message-cache.c /dovecot/src/lib-imap/imap-message-cache.h /dovecot/src/lib-imap/imap-parser.c /dovecot/src/lib-imap/imap-parser.h /dovecot/src/lib-index/mail-index-update-cache.c /dovecot/src/lib-index/mail-index-update.c /dovecot/src/lib-index/mail-index-util.c /dovecot/src/lib-index/mail-index.h /dovecot/src/lib-index/maildir/maildir-index.h /dovecot/src/lib-index/maildir/maildir-open.c /dovecot/src/lib-index/maildir/maildir-update.c /dovecot/src/lib-index/mbox/mbox-append.c /dovecot/src/lib-index/mbox/mbox-index.c /dovecot/src/lib-index/mbox/mbox-index.h /dovecot/src/lib-index/mbox/mbox-lock.c /dovecot/src/lib-index/mbox/mbox-open.c /dovecot/src/lib-index/mbox/mbox-rebuild.c /dovecot/src/lib-index/mbox/mbox-rewrite.c /dovecot/src/lib-index/mbox/mbox-sync-full.c /dovecot/src/lib-index/mbox/mbox-sync.c /dovecot/src/lib-mail/message-body-search.c /dovecot/src/lib-mail/message-body-search.h /dovecot/src/lib-mail/message-parser.c /dovecot/src/lib-mail/message-parser.h /dovecot/src/lib-mail/message-send.c /dovecot/src/lib-mail/message-send.h /dovecot/src/lib-mail/message-size.c /dovecot/src/lib-mail/message-size.h /dovecot/src/lib-storage/index/index-copy.c /dovecot/src/lib-storage/index/index-fetch-section.c /dovecot/src/lib-storage/index/index-fetch.c /dovecot/src/lib-storage/index/index-fetch.h /dovecot/src/lib-storage/index/index-msgcache.c /dovecot/src/lib-storage/index/index-save.c /dovecot/src/lib-storage/index/index-search.c /dovecot/src/lib-storage/index/index-sort.c /dovecot/src/lib-storage/index/index-sort.h /dovecot/src/lib-storage/index/index-storage.h /dovecot/src/lib-storage/index/maildir/maildir-save.c /dovecot/src/lib-storage/index/maildir/maildir-storage.h /dovecot/src/lib-storage/index/mbox/mbox-expunge.c /dovecot/src/lib-storage/index/mbox/mbox-save.c /dovecot/src/lib-storage/index/mbox/mbox-storage.h /dovecot/src/lib-storage/mail-sort.c /dovecot/src/lib-storage/mail-storage.h Makefile.am ibuffer-file.c ibuffer-internal.h ibuffer-mmap.c ibuffer.c ibuffer.h iobuffer-internal.h iostream-internal.h iostream.c istream-data.c istream-file.c istream-internal.h istream-mmap.c istream.c istream.h lib.h obuffer-file.c obuffer-internal.h obuffer.c obuffer.h ostream-file.c ostream-internal.h ostream.c ostream.h /dovecot/src/login/auth-connection.c /dovecot/src/login/client-authenticate.c /dovecot/src/login/client.c /dovecot/src/login/client.h /dovecot/src/master/auth-process.c /dovecot/src/master/login-process.c /dovecot/src/master/settings.c