]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
13 years agomaster: Never create new processes for services that are being destroyed (reload...
Timo Sirainen [Tue, 8 Nov 2011 19:50:46 +0000 (21:50 +0200)] 
master: Never create new processes for services that are being destroyed (reload, deinit)

13 years agologin: If login fails for some reason, but auth was successful, don't log "auth failed".
Timo Sirainen [Tue, 8 Nov 2011 19:29:34 +0000 (21:29 +0200)] 
login: If login fails for some reason, but auth was successful, don't log "auth failed".
For example if proxy fails to connect to remote server.

13 years agologin proxy: Always log the username in the error messages.
Timo Sirainen [Tue, 8 Nov 2011 19:14:32 +0000 (21:14 +0200)] 
login proxy: Always log the username in the error messages.

13 years agoauth: When complaining about auth-userdb permission errors, log also the wanted UID...
Timo Sirainen [Mon, 7 Nov 2011 20:54:32 +0000 (22:54 +0200)] 
auth: When complaining about auth-userdb permission errors, log also the wanted UID's name.

13 years agoindexer-worker: If indexes are disabled for a mailbox, do nothing but log a message.
Timo Sirainen [Mon, 7 Nov 2011 20:17:15 +0000 (22:17 +0200)] 
indexer-worker: If indexes are disabled for a mailbox, do nothing but log a message.

13 years agomaster: Fixed giving config socket path to anvil process.
Timo Sirainen [Mon, 7 Nov 2011 18:45:55 +0000 (20:45 +0200)] 
master: Fixed giving config socket path to anvil process.

13 years agoconfigure: Use libtool's -no-undefined flag instead of attempting it ourself.
Timo Sirainen [Sat, 5 Nov 2011 18:35:56 +0000 (20:35 +0200)] 
configure: Use libtool's -no-undefined flag instead of attempting it ourself.
Patch by Brad.

13 years agodoveadm import: Added -s parameter to subscribe to created mailboxes.
Timo Sirainen [Sat, 5 Nov 2011 17:59:55 +0000 (19:59 +0200)] 
doveadm import: Added -s parameter to subscribe to created mailboxes.

13 years agodsync: Set user to be admin to ignore quota limits.
Timo Sirainen [Sat, 5 Nov 2011 17:37:23 +0000 (19:37 +0200)] 
dsync: Set user to be admin to ignore quota limits.

13 years agoquota: Ignore quota limits for admin users.
Timo Sirainen [Sat, 5 Nov 2011 17:37:02 +0000 (19:37 +0200)] 
quota: Ignore quota limits for admin users.

13 years agomaster: Wait for services to stop listening before unlinking the pid file.
Timo Sirainen [Sat, 5 Nov 2011 17:17:59 +0000 (19:17 +0200)] 
master: Wait for services to stop listening before unlinking the pid file.

13 years agofts-lucene: Use FTS_BACKEND_FLAG_BUILD_FULL_WORDS flag.
Timo Sirainen [Sat, 5 Nov 2011 15:59:11 +0000 (17:59 +0200)] 
fts-lucene: Use FTS_BACKEND_FLAG_BUILD_FULL_WORDS flag.

13 years agofts: Added FTS_BACKEND_FLAG_BUILD_FULL_WORDS for sending data to backends only in...
Timo Sirainen [Sat, 5 Nov 2011 15:58:50 +0000 (17:58 +0200)] 
fts: Added FTS_BACKEND_FLAG_BUILD_FULL_WORDS for sending data to backends only in full words.

13 years agofts-lucene: Optimize searching for existence of an indexed header.
Timo Sirainen [Sat, 5 Nov 2011 15:31:47 +0000 (17:31 +0200)] 
fts-lucene: Optimize searching for existence of an indexed header.

13 years agofts-lucene: Index the header name tokenized, or we can't search it.
Timo Sirainen [Sat, 5 Nov 2011 15:30:55 +0000 (17:30 +0200)] 
fts-lucene: Index the header name tokenized, or we can't search it.

13 years agofts-lucene: Fixed handling "maybe" queries (unindexed headers)
Timo Sirainen [Sat, 5 Nov 2011 15:11:40 +0000 (17:11 +0200)] 
fts-lucene: Fixed handling "maybe" queries (unindexed headers)

13 years agoman: Added -f option to doveadm-user.1.
Pascal Volk [Fri, 4 Nov 2011 21:57:05 +0000 (21:57 +0000)] 
man: Added -f option to doveadm-user.1.

13 years agoUse SSL_MODE_RELEASE_BUFFERS if available to keep memory usage low.
Timo Sirainen [Fri, 4 Nov 2011 22:07:14 +0000 (00:07 +0200)] 
Use SSL_MODE_RELEASE_BUFFERS if available to keep memory usage low.
Based on patch by Cristian Rodríguez.

13 years agolmtp: Changed default client_limit to 1.
Timo Sirainen [Fri, 4 Nov 2011 22:00:49 +0000 (00:00 +0200)] 
lmtp: Changed default client_limit to 1.
LMTP processes can wait a long time on disk I/O, so a single process will be
busy waiting long before it reaches default_client_limit (100).

13 years agoimapc: When doing a LIST, delete any extra local mailbox (index) directories.
Timo Sirainen [Fri, 4 Nov 2011 19:21:11 +0000 (21:21 +0200)] 
imapc: When doing a LIST, delete any extra local mailbox (index) directories.

13 years agoimapc: Don't use separate indexes/ directory anymore. Fixes/cleanups to make it possible.
Timo Sirainen [Fri, 4 Nov 2011 19:20:19 +0000 (21:20 +0200)] 
imapc: Don't use separate indexes/ directory anymore. Fixes/cleanups to make it possible.

13 years agoimapc: If rawlog directory doesn't exist, silently ignore it.
Timo Sirainen [Fri, 4 Nov 2011 19:17:09 +0000 (21:17 +0200)] 
imapc: If rawlog directory doesn't exist, silently ignore it.

13 years agoimapc: Index files weren't deleted when mailbox was deleted.
Timo Sirainen [Fri, 4 Nov 2011 18:36:28 +0000 (20:36 +0200)] 
imapc: Index files weren't deleted when mailbox was deleted.

13 years agolib-storage: Added MAILBOX_LIST_FLAG_OPTIONAL_BOXES flag.
Timo Sirainen [Fri, 4 Nov 2011 18:36:06 +0000 (20:36 +0200)] 
lib-storage: Added MAILBOX_LIST_FLAG_OPTIONAL_BOXES flag.

13 years agoanvil: Handle crash restarts without failing completely.
Timo Sirainen [Fri, 4 Nov 2011 18:11:39 +0000 (20:11 +0200)] 
anvil: Handle crash restarts without failing completely.

13 years agodoveadm dump index: Dump also mime.parts decoded.
Timo Sirainen [Fri, 4 Nov 2011 17:52:26 +0000 (19:52 +0200)] 
doveadm dump index: Dump also mime.parts decoded.

13 years agofts-lucene: Added whitespace_chars subsetting to fts_lucene.
Timo Sirainen [Fri, 4 Nov 2011 17:35:30 +0000 (19:35 +0200)] 
fts-lucene: Added whitespace_chars subsetting to fts_lucene.
A value of "@." could be useful so that user@domain.tld allows searching
user, domain and tld separately instead of requiring the whole string to
match.

13 years agoeacces_error_get*(): Log if group has r/w permissions, but we don't belong to it.
Timo Sirainen [Fri, 4 Nov 2011 16:50:24 +0000 (18:50 +0200)] 
eacces_error_get*(): Log if group has r/w permissions, but we don't belong to it.

14 years agomaster: Assert-crashfix when service process limit was reached.
Timo Sirainen [Tue, 25 Oct 2011 19:58:48 +0000 (22:58 +0300)] 
master: Assert-crashfix when service process limit was reached.
Introduced by commit fddbb26400d0.

14 years agologin: When renegotiating SSL handshake, don't reread settings when TLS SNI is used.
Timo Sirainen [Tue, 25 Oct 2011 18:44:38 +0000 (21:44 +0300)] 
login: When renegotiating SSL handshake, don't reread settings when TLS SNI is used.

14 years agologin: Increased client's initial memory pool size.
Timo Sirainen [Tue, 25 Oct 2011 18:41:28 +0000 (21:41 +0300)] 
login: Increased client's initial memory pool size.

14 years agomaster: When process_limit fills up, wait 10s before closing pending connections.
Timo Sirainen [Thu, 20 Oct 2011 15:37:09 +0000 (18:37 +0300)] 
master: When process_limit fills up, wait 10s before closing pending connections.
It might have only been a temporary burst that gets resolved quickly enough.

14 years agomaster: Reset service's listen_pending flag when it gets a new available process.
Timo Sirainen [Thu, 20 Oct 2011 15:26:15 +0000 (18:26 +0300)] 
master: Reset service's listen_pending flag when it gets a new available process.

14 years agoimapc: Fixed reopening a mailbox.
Timo Sirainen [Thu, 20 Oct 2011 13:54:36 +0000 (16:54 +0300)] 
imapc: Fixed reopening a mailbox.

14 years agoauth: passdb static crashed if no password was given
Timo Sirainen [Wed, 19 Oct 2011 13:11:44 +0000 (16:11 +0300)] 
auth: passdb static crashed if no password was given

14 years agomaildir: If maildir filename has broken W/S size, rename the file to drop them.
Timo Sirainen [Tue, 18 Oct 2011 13:53:06 +0000 (16:53 +0300)] 
maildir: If maildir filename has broken W/S size, rename the file to drop them.

14 years agoistream-mail: Call mail_cache_set_corrupted() properly
Timo Sirainen [Tue, 18 Oct 2011 13:52:23 +0000 (16:52 +0300)] 
istream-mail: Call mail_cache_set_corrupted() properly

14 years agoimapc: Added imapc_ssl_verify setting.
Timo Sirainen [Mon, 17 Oct 2011 12:35:54 +0000 (15:35 +0300)] 
imapc: Added imapc_ssl_verify setting.

14 years agomail-log: Use mail_log_update_wanted_fields() to avoid parsing message multiple times.
Timo Sirainen [Wed, 12 Oct 2011 16:09:02 +0000 (19:09 +0300)] 
mail-log: Use mail_log_update_wanted_fields() to avoid parsing message multiple times.

14 years agolib-storage: Added mail_log_update_wanted_fields()
Timo Sirainen [Wed, 12 Oct 2011 16:08:31 +0000 (19:08 +0300)] 
lib-storage: Added mail_log_update_wanted_fields()

14 years agomdbox rebuild: Log an error whenever opening a mailbox fails.
Timo Sirainen [Wed, 12 Oct 2011 14:21:01 +0000 (17:21 +0300)] 
mdbox rebuild: Log an error whenever opening a mailbox fails.

14 years agoimapc: Mail body wasn't always prefetched when it should have been.
Timo Sirainen [Wed, 12 Oct 2011 16:07:07 +0000 (19:07 +0300)] 
imapc: Mail body wasn't always prefetched when it should have been.

14 years agoimapc: When asking for capabilities, try to ask from a logged in connection.
Timo Sirainen [Sun, 9 Oct 2011 17:46:53 +0000 (20:46 +0300)] 
imapc: When asking for capabilities, try to ask from a logged in connection.

14 years agoimapc: Post-login capabilities weren't detected/used.
Timo Sirainen [Sun, 9 Oct 2011 17:46:28 +0000 (20:46 +0300)] 
imapc: Post-login capabilities weren't detected/used.

14 years agoimapc: Support retrying some IMAP commands if we get disconnected.
Timo Sirainen [Sun, 9 Oct 2011 17:38:11 +0000 (20:38 +0300)] 
imapc: Support retrying some IMAP commands if we get disconnected.

14 years agolib-imap: Added reference counting to imap parser.
Timo Sirainen [Sun, 9 Oct 2011 17:36:28 +0000 (20:36 +0300)] 
lib-imap: Added reference counting to imap parser.

14 years agoimapc: Mailbox reopening fix.
Timo Sirainen [Sun, 9 Oct 2011 16:04:27 +0000 (19:04 +0300)] 
imapc: Mailbox reopening fix.

14 years agoimapc: Fixed expunging too many messages from index.
Timo Sirainen [Sun, 9 Oct 2011 16:04:15 +0000 (19:04 +0300)] 
imapc: Fixed expunging too many messages from index.

14 years agoimapc: Better implementation of checking if index is missing messages.
Timo Sirainen [Sun, 9 Oct 2011 15:27:54 +0000 (18:27 +0300)] 
imapc: Better implementation of checking if index is missing messages.

14 years agoimapc: Fixes to sending commands.
Timo Sirainen [Sun, 9 Oct 2011 15:25:18 +0000 (18:25 +0300)] 
imapc: Fixes to sending commands.

14 years agoimapc: Fixed detecting when messages are missing from index.
Timo Sirainen [Sun, 9 Oct 2011 14:15:31 +0000 (17:15 +0300)] 
imapc: Fixed detecting when messages are missing from index.

14 years agoimapc: Initial support for automatically reconnecting to remote server.
Timo Sirainen [Sun, 9 Oct 2011 13:41:17 +0000 (16:41 +0300)] 
imapc: Initial support for automatically reconnecting to remote server.

14 years agoimapc: Fixed updating message flags from another session.
Timo Sirainen [Sat, 8 Oct 2011 17:31:22 +0000 (20:31 +0300)] 
imapc: Fixed updating message flags from another session.

14 years agoimapc: Fixed handling keywords.
Timo Sirainen [Fri, 7 Oct 2011 18:15:52 +0000 (21:15 +0300)] 
imapc: Fixed handling keywords.
The status->keywords must point to mail_index's keywords.

14 years agoimapc: Detect when message has been unexpectedly expunged from index.
Timo Sirainen [Fri, 7 Oct 2011 18:14:58 +0000 (21:14 +0300)] 
imapc: Detect when message has been unexpectedly expunged from index.

14 years agoimapc: IDLE didn't notify immediately about new mails.
Timo Sirainen [Fri, 7 Oct 2011 17:50:02 +0000 (20:50 +0300)] 
imapc: IDLE didn't notify immediately about new mails.

14 years agoimapc: Code cleanup: avoid unnecessarily accessing imapc-client-private.h
Timo Sirainen [Fri, 7 Oct 2011 17:49:32 +0000 (20:49 +0300)] 
imapc: Code cleanup: avoid unnecessarily accessing imapc-client-private.h

14 years agoimapc: Removed unused "stop now" functionality.
Timo Sirainen [Fri, 7 Oct 2011 17:34:53 +0000 (20:34 +0300)] 
imapc: Removed unused "stop now" functionality.

14 years agoimapc: Changed mailbox opening API to be more extensible.
Timo Sirainen [Fri, 7 Oct 2011 17:31:57 +0000 (20:31 +0300)] 
imapc: Changed mailbox opening API to be more extensible.

14 years agoimapc: Command sending API changed to be more extensible.
Timo Sirainen [Fri, 7 Oct 2011 17:10:11 +0000 (20:10 +0300)] 
imapc: Command sending API changed to be more extensible.

14 years agoauth: Don't re-add IO to master connection input.
Timo Sirainen [Fri, 7 Oct 2011 16:25:52 +0000 (19:25 +0300)] 
auth: Don't re-add IO to master connection input.
This fixes a panic crash in some situations.

14 years agoauth: Improved "auth client doesn't have permissions to do .." errors.
Timo Sirainen [Fri, 7 Oct 2011 15:18:20 +0000 (18:18 +0300)] 
auth: Improved "auth client doesn't have permissions to do .." errors.

14 years agopop3: When pop3_fast_size_lookups=yes, don't assume we need to fetch virtual size.
Timo Sirainen [Wed, 5 Oct 2011 15:47:56 +0000 (18:47 +0300)] 
pop3: When pop3_fast_size_lookups=yes, don't assume we need to fetch virtual size.
This fixes prefetch unnecessarily opening mail files.

14 years agoimapc: Fixed fetching data for a saved, but uncommitted, mail.
Timo Sirainen [Wed, 5 Oct 2011 14:55:29 +0000 (17:55 +0300)] 
imapc: Fixed fetching data for a saved, but uncommitted, mail.

14 years agolib-storage: Fixed reopening a mail stream.
Timo Sirainen [Wed, 5 Oct 2011 14:51:32 +0000 (17:51 +0300)] 
lib-storage: Fixed reopening a mail stream.

14 years agoimapc: Memory leak fixes.
Timo Sirainen [Wed, 5 Oct 2011 14:51:01 +0000 (17:51 +0300)] 
imapc: Memory leak fixes.

14 years agoimapc: Fixed closing mail properly.
Timo Sirainen [Wed, 5 Oct 2011 14:34:51 +0000 (17:34 +0300)] 
imapc: Fixed closing mail properly.

14 years agoimapc: Fixed potential assert-crash when saving a mail.
Timo Sirainen [Wed, 5 Oct 2011 14:34:16 +0000 (17:34 +0300)] 
imapc: Fixed potential assert-crash when saving a mail.

14 years agoimapc: Fixed "Bad file descriptor" errors after mail was closed.
Timo Sirainen [Wed, 5 Oct 2011 14:21:46 +0000 (17:21 +0300)] 
imapc: Fixed "Bad file descriptor" errors after mail was closed.

14 years agoraw storage: Don't crash with mailbox_get_metadata()
Timo Sirainen [Wed, 5 Oct 2011 12:57:03 +0000 (15:57 +0300)] 
raw storage: Don't crash with mailbox_get_metadata()

14 years agolib-storage: Verify that cached message size matches actually read size.
Timo Sirainen [Tue, 4 Oct 2011 14:22:55 +0000 (17:22 +0300)] 
lib-storage: Verify that cached message size matches actually read size.

14 years agolib-storage: Added mail_get_hdr_stream() and use it where possible.
Timo Sirainen [Tue, 4 Oct 2011 14:17:12 +0000 (17:17 +0300)] 
lib-storage: Added mail_get_hdr_stream() and use it where possible.
This makes it clearer for backends when it needs a message body instead of
only message header.

14 years agoimapc: Mail body caching should be done at close(), not at free().
Timo Sirainen [Tue, 4 Oct 2011 14:14:30 +0000 (17:14 +0300)] 
imapc: Mail body caching should be done at close(), not at free().
This cached wrong mail bodies when fetching multiple mails.

14 years agoscript-login: Disable alarm after input has been read.
Timo Sirainen [Mon, 3 Oct 2011 17:00:55 +0000 (20:00 +0300)] 
script-login: Disable alarm after input has been read.

14 years agopassdb vpopmail: Always prefer to lookup plaintext password if it exists.
Timo Sirainen [Sun, 2 Oct 2011 17:26:02 +0000 (20:26 +0300)] 
passdb vpopmail: Always prefer to lookup plaintext password if it exists.
This is important when multiple auth mechanisms are used and the password is
cached.

14 years agomailbox list indexes: Get mailbox_get_metadata(guid) from index if possible.
Timo Sirainen [Sun, 2 Oct 2011 17:09:04 +0000 (20:09 +0300)] 
mailbox list indexes: Get mailbox_get_metadata(guid) from index if possible.

14 years agolib-storage: mailbox_get_metadata() no longer always opens mailbox.
Timo Sirainen [Sun, 2 Oct 2011 17:06:58 +0000 (20:06 +0300)] 
lib-storage: mailbox_get_metadata() no longer always opens mailbox.

14 years agolib-storage: Compile fix for recent change.
Timo Sirainen [Sun, 2 Oct 2011 17:05:23 +0000 (20:05 +0300)] 
lib-storage: Compile fix for recent change.

14 years agomaildir: Maildir list index change check should always check index log changes.
Timo Sirainen [Sun, 2 Oct 2011 15:54:32 +0000 (18:54 +0300)] 
maildir: Maildir list index change check should always check index log changes.
(Not only when maildir_very_dirty_syncs=no)

14 years agomailbox list indexes: Handle name="" mailboxes.
Timo Sirainen [Sun, 2 Oct 2011 15:49:09 +0000 (18:49 +0300)] 
mailbox list indexes: Handle name="" mailboxes.

14 years agolib-storage: Mailbox list index's ext_id shouldn't be cached in mail_storage.
Timo Sirainen [Sun, 2 Oct 2011 15:39:49 +0000 (18:39 +0300)] 
lib-storage: Mailbox list index's ext_id shouldn't be cached in mail_storage.
It's mailbox_list-specific, not mail_storage-specific. The easiest fix was
to just cache it into mailbox rather than create a new index_mailbox_list.

14 years agomailbox list indexes: Added comment.
Timo Sirainen [Sun, 2 Oct 2011 15:30:32 +0000 (18:30 +0300)] 
mailbox list indexes: Added comment.

14 years agomailbox list indexes: Code cleanups.
Timo Sirainen [Sun, 2 Oct 2011 15:12:05 +0000 (18:12 +0300)] 
mailbox list indexes: Code cleanups.

14 years agomailbox list indexes: Error handling fixes.
Timo Sirainen [Sun, 2 Oct 2011 14:48:23 +0000 (17:48 +0300)] 
mailbox list indexes: Error handling fixes.

14 years agomailbox list indexes: Moved syncing code to separate file.
Timo Sirainen [Sun, 2 Oct 2011 14:34:49 +0000 (17:34 +0300)] 
mailbox list indexes: Moved syncing code to separate file.

14 years agomailbox list indexes: Moved iteration code to separate file.
Timo Sirainen [Sun, 2 Oct 2011 14:18:31 +0000 (17:18 +0300)] 
mailbox list indexes: Moved iteration code to separate file.

14 years agoRenamed index-mailbox-list* to mailbox-list-index*
Timo Sirainen [Sun, 2 Oct 2011 14:12:58 +0000 (17:12 +0300)] 
Renamed index-mailbox-list* to mailbox-list-index*

14 years agomailbox list indexes: Disable index files for shared/public namespaces.
Timo Sirainen [Sun, 2 Oct 2011 13:59:51 +0000 (16:59 +0300)] 
mailbox list indexes: Disable index files for shared/public namespaces.

14 years agomailbox list indexes: Use storage names instead of virtual names.
Timo Sirainen [Sun, 2 Oct 2011 13:55:45 +0000 (16:55 +0300)] 
mailbox list indexes: Use storage names instead of virtual names.

14 years agolmtp: Code cleanup.
Timo Sirainen [Sun, 2 Oct 2011 13:51:40 +0000 (16:51 +0300)] 
lmtp: Code cleanup.

14 years agolda: Code cleanups
Timo Sirainen [Sun, 2 Oct 2011 13:47:25 +0000 (16:47 +0300)] 
lda: Code cleanups

14 years agolda/lmtp: Moved common raw mailbox allocation code to raw-storage.
Timo Sirainen [Sun, 2 Oct 2011 13:35:22 +0000 (16:35 +0300)] 
lda/lmtp: Moved common raw mailbox allocation code to raw-storage.

14 years agolib-storage: Keep mail_user referenced while storage objects exist.
Timo Sirainen [Sun, 2 Oct 2011 13:34:41 +0000 (16:34 +0300)] 
lib-storage: Keep mail_user referenced while storage objects exist.
This allows unreferencing mail_user after mailbox_alloc() and having it
freed on mailbox_free().

14 years agoioloop: Memory leak fix on ioloop destroy.
Timo Sirainen [Sun, 2 Oct 2011 13:33:51 +0000 (16:33 +0300)] 
ioloop: Memory leak fix on ioloop destroy.

14 years agoistream-seekable: Memory leak fix.
Timo Sirainen [Sun, 2 Oct 2011 13:32:59 +0000 (16:32 +0300)] 
istream-seekable: Memory leak fix.

14 years agolda/lmtp: Moved raw user creation code to common raw_storage_create_from_set()
Timo Sirainen [Sun, 2 Oct 2011 13:03:10 +0000 (16:03 +0300)] 
lda/lmtp: Moved raw user creation code to common raw_storage_create_from_set()

14 years agomailbox list index: Minor code cleanup.
Timo Sirainen [Sun, 2 Oct 2011 12:39:45 +0000 (15:39 +0300)] 
mailbox list index: Minor code cleanup.

14 years agoimapc: Changed imapc_client_mailbox_cmd() parameter order to be same as in _cmdf().
Timo Sirainen [Sat, 1 Oct 2011 14:55:18 +0000 (17:55 +0300)] 
imapc: Changed imapc_client_mailbox_cmd() parameter order to be same as in _cmdf().

14 years agoimapc: Don't assert-crash when receiving 0 size literal.
Timo Sirainen [Sat, 1 Oct 2011 14:54:57 +0000 (17:54 +0300)] 
imapc: Don't assert-crash when receiving 0 size literal.

14 years agoimapc: Make sure "is mail expunged?" NOOP is sent to correct connection.
Timo Sirainen [Sat, 1 Oct 2011 14:47:35 +0000 (17:47 +0300)] 
imapc: Make sure "is mail expunged?" NOOP is sent to correct connection.
(Although currently there are never more than a single connection.)