]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Aki Tuomi [Mon, 26 Sep 2016 10:55:17 +0000 (13:55 +0300)]
lib-ssl-iostream: Remove input_handler flag
It is no longer needed after
87da941c
Aki Tuomi [Mon, 26 Sep 2016 10:52:33 +0000 (13:52 +0300)]
lib-ssl-iostream: Add get_compression accessor
This is needed by login-common
Aki Tuomi [Mon, 3 Oct 2016 10:39:35 +0000 (13:39 +0300)]
lib-ssl-iostream: Close ostream before istream
If i_stream is autoclose, then o_stream
close will fail if done after i_stream
close.
Aki Tuomi [Mon, 3 Oct 2016 09:38:35 +0000 (12:38 +0300)]
lib-ssl-iostream: Allow skipping CRL check
Aki Tuomi [Mon, 30 Oct 2017 12:08:23 +0000 (14:08 +0200)]
lib-ssl-iostream: Add alternate certificate support
Aki Tuomi [Mon, 30 Oct 2017 12:06:36 +0000 (14:06 +0200)]
global: Splice cert into separate struct from iostream_ssl_settings
Timo Sirainen [Tue, 31 Oct 2017 15:01:26 +0000 (17:01 +0200)]
lib-fs: test-fs-posix - Fix checking whether unlink_directory() failed
Aki Tuomi [Mon, 30 Oct 2017 18:30:03 +0000 (20:30 +0200)]
man: Update manpage for mailbox delete command
Martti Rannanjärvi [Mon, 30 Oct 2017 17:29:02 +0000 (19:29 +0200)]
lib: Don't use NEEDS_LOCAL_CREDS undefined
Timo Sirainen [Mon, 30 Oct 2017 14:06:39 +0000 (16:06 +0200)]
global: Rename i_stream_is_eof() to i_stream_read_eof()
This describes its behavior a bit better.
Timo Sirainen [Mon, 30 Oct 2017 14:11:43 +0000 (16:11 +0200)]
global: Avoid i_stream_is_eof() where it's not necessary
Timo Sirainen [Mon, 30 Oct 2017 14:06:21 +0000 (16:06 +0200)]
lib: Improve i_stream_is_eof() comment
Timo Sirainen [Mon, 30 Oct 2017 14:01:31 +0000 (16:01 +0200)]
lib: Update struct istream comments
Timo Sirainen [Mon, 30 Oct 2017 14:00:13 +0000 (16:00 +0200)]
lib-http: If istream read fails, preserve the istream's full error message
Timo Sirainen [Mon, 30 Oct 2017 13:59:46 +0000 (15:59 +0200)]
lib-http: test-http-client-errors - fix typo in error message
Timo Sirainen [Mon, 30 Oct 2017 13:58:43 +0000 (15:58 +0200)]
lib-http: Detect istream errors correctly.
i_stream_is_eof() returns TRUE also when streams have an error, so all
errors were logged the same as a regular disconnection.
Martti Rannanjärvi [Mon, 30 Oct 2017 14:39:21 +0000 (16:39 +0200)]
lib,lib-index: Use #ifdef with WORDS_BIGENDIAN
Some were missing from the last change.
Timo Sirainen [Fri, 27 Oct 2017 23:57:37 +0000 (02:57 +0300)]
global: Remove explicit o_stream_flush() calls from ostream.close() methods
It's now being done automatically.
Timo Sirainen [Fri, 27 Oct 2017 23:55:22 +0000 (02:55 +0300)]
lib: Automatically flush ostream when it's closed
Also verify that it unexpectedly didn't get fully flushed.
Timo Sirainen [Fri, 27 Oct 2017 23:45:58 +0000 (02:45 +0300)]
mail-filter: ostream-ext-filter - Require o_stream_finish() to be called
Similar to ostream-zlib.
Timo Sirainen [Fri, 27 Oct 2017 23:43:16 +0000 (02:43 +0300)]
lib-mail: ostream-dot - Require o_stream_finish() to write the trailer
Similar to ostream-zlib.
Timo Sirainen [Fri, 27 Oct 2017 23:35:58 +0000 (02:35 +0300)]
lib: ostream-multiplex - Don't close parent streams at destroy
The close() method is already called as needed.
Timo Sirainen [Fri, 27 Oct 2017 23:21:48 +0000 (02:21 +0300)]
lib-dcrypt: ostream-dcrypt - Require o_stream_finish() to write the trailer
Similar to ostream-zlib.
Timo Sirainen [Fri, 27 Oct 2017 23:09:58 +0000 (02:09 +0300)]
lib-compression: ostream-zlib - Require o_stream_finish() to write the trailer
It's now possible to call o_stream_flush() without the trailer getting
written.
It's also now required to call o_stream_finish() to write the trailer before
closing the ostream. This guarantees that the caller checks that the
trailer was successfully written. This isn't needed if the ostream already
failed before writing the trailer.
Timo Sirainen [Fri, 27 Oct 2017 23:07:32 +0000 (02:07 +0300)]
lib: Remove o_stream_nfinish()
Timo Sirainen [Fri, 27 Oct 2017 23:06:56 +0000 (02:06 +0300)]
global: Replace o_stream_nfinish() with o_stream_flush()
Timo Sirainen [Fri, 27 Oct 2017 22:55:12 +0000 (01:55 +0300)]
global: Replace o_stream_nfinish() with o_stream_finish() whenever possible
Timo Sirainen [Fri, 27 Oct 2017 22:15:14 +0000 (01:15 +0300)]
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.
Timo Sirainen [Fri, 27 Oct 2017 23:02:13 +0000 (02:02 +0300)]
lib: o_stream_flush() - check for send overflows and reset error handling
This begins the removal of o_stream_nfinish().
Timo Sirainen [Fri, 27 Oct 2017 21:59:57 +0000 (00:59 +0300)]
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.
Timo Sirainen [Fri, 27 Oct 2017 21:54:37 +0000 (00:54 +0300)]
imap: Make sure long COPY commands send "* OK Hang in there" packets
o_stream_nflush() already flushed the writes to kernel, and Linux should
have sent them after 200ms delay, so this probably doesn't fix anything.
Using uncork+cork is a bit clearer way to indicate that the data really
is wanted to be sent now.
Timo Sirainen [Fri, 27 Oct 2017 21:48:01 +0000 (00:48 +0300)]
lib-imap: When sending "+ OK" to client, uncork ostream immediately
This makes sure that it's sent to the client as soon as possible.
Also removed o_stream_nflush(), since uncorking does that already.
If there is no corking, the "+ OK" was already attempted to be sent
by the o_stream_nsend() call and a flush is unlikely to help.
Timo Sirainen [Fri, 27 Oct 2017 20:31:32 +0000 (23:31 +0300)]
global: Remove unnecessary o_stream_nflush() calls
The following o_stream_nfinish() or o_stream_uncork() calls it anyway.
Timo Sirainen [Fri, 27 Oct 2017 20:31:56 +0000 (23:31 +0300)]
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.
Timo Sirainen [Fri, 27 Oct 2017 21:13:28 +0000 (00:13 +0300)]
lib: test-ostream-* - Call o_stream_nfinish() after uncorking
Aki Tuomi [Mon, 30 Oct 2017 09:56:32 +0000 (11:56 +0200)]
configure: Add support for EXTRA_LDFLAGS
Timo Sirainen [Mon, 30 Oct 2017 09:19:17 +0000 (11:19 +0200)]
imapc: Add imapc_features=fetch-empty-is-expunged
When FETCH returns an empty mail, the mail is assumed to be expunged.
Martti Rannanjärvi [Fri, 27 Oct 2017 08:03:07 +0000 (11:03 +0300)]
global: Use #ifdef instead of #if with WORDS_BIGENDIAN
This is to not rely on undefined WORDS_BIGENDIAN being evaluated as 0.
Martti Rannanjärvi [Fri, 27 Oct 2017 08:08:36 +0000 (11:08 +0300)]
lib/compat.h: Undefine WORDS_BIGENDIAN when it's defined as 0
Martti Rannanjärvi [Fri, 27 Oct 2017 08:02:25 +0000 (11:02 +0300)]
m4: Use AC_C_BIGENDIAN instead of custom m4
Martti Rannanjärvi [Tue, 24 Oct 2017 07:27:23 +0000 (10:27 +0300)]
lib-storage: Replace DBOX_GUID_BIN_LEN with GUID_128_SIZE
DBOX_GUID_BIN_LEN define was removed in 0c909e, replace the use with
GUID_128_SIZE.
Martti Rannanjärvi [Tue, 24 Oct 2017 07:24:23 +0000 (10:24 +0300)]
director: Don't use undefined DIRECTOR_CONNECTION_PING_TIMEOUT_MSECS
Martti Rannanjärvi [Tue, 24 Oct 2017 07:23:20 +0000 (10:23 +0300)]
auth: Don't use undefined SASL_VERSION_MAJOR
Aki Tuomi [Sat, 28 Oct 2017 12:21:29 +0000 (15:21 +0300)]
global: Rename client_connection_type to doveadm_connection_type
Aki Tuomi [Fri, 27 Oct 2017 18:57:31 +0000 (21:57 +0300)]
doveadm: Rename client_connection_type to doveadm_client_connection_type
Move it to doveadm.h to allow plugins use doveadm-cmd.h
Aki Tuomi [Fri, 27 Oct 2017 19:06:28 +0000 (22:06 +0300)]
doveadm: Reorder includes
This makes next commit possible
Timo Sirainen [Mon, 23 Oct 2017 09:01:27 +0000 (12:01 +0300)]
quota: Improve error messages
Timo Sirainen [Wed, 18 Oct 2017 13:21:52 +0000 (16:21 +0300)]
quota-fs: Default to quota API v2 if _LINUX_QUOTA_VERSION is undefined.
glibc v2.25 drops v1 support in sys/quota.h and doesn't define
_LINUX_QUOTA_VERSION.
Stephan Bosch [Tue, 17 Oct 2017 13:44:38 +0000 (15:44 +0200)]
doveadm-server: http: Properly implemented error handling for requests.
Stephan Bosch [Tue, 17 Oct 2017 16:03:59 +0000 (18:03 +0200)]
doveadm-server: http: Mark the HTTP request for connection closure right away.
This means that the connection is closed once the request finishes.
Before, each response did that individually.
Once connection reuse is implemented/needed this can now be turned off at one place.
Stephan Bosch [Tue, 10 Oct 2017 22:57:08 +0000 (00:57 +0200)]
doveadm-server: http: Restructured JSON parsing to improve code clarity.
Made state machine more explicit and easier to understand.
Also added more comments.
Stephan Bosch [Mon, 16 Oct 2017 21:27:45 +0000 (23:27 +0200)]
doveadm-server: http: Wrapped long code lines.
Stephan Bosch [Tue, 10 Oct 2017 22:10:38 +0000 (00:10 +0200)]
doveadm-server: http: Joined JSON parsing and handling in one function.
Stephan Bosch [Tue, 10 Oct 2017 21:51:57 +0000 (23:51 +0200)]
doveadm-server: http: Split JSON handling into several sub-functions.
Stephan Bosch [Sun, 8 Oct 2017 11:27:26 +0000 (13:27 +0200)]
doveadm-server: http: Split JSON parsing into several sub-functions.
Stephan Bosch [Fri, 27 Oct 2017 07:36:39 +0000 (09:36 +0200)]
doveadm-server: http: Changed request parse error into an assertion.
The condition can never occur when json-parser and the request parsing state machine are behaving correctly.
At that point only an object key can be returned; the client cannot cause it to return anything else.
Stephan Bosch [Tue, 10 Oct 2017 18:28:00 +0000 (20:28 +0200)]
doveadm-server: http: Moved doveadm_http_server_command_execute().
Stephan Bosch [Sat, 7 Oct 2017 23:19:34 +0000 (01:19 +0200)]
doveadm-server: http: Renamed parse state enum.
Stephan Bosch [Sat, 7 Oct 2017 20:33:26 +0000 (22:33 +0200)]
doveadm-server: http: Split off request handling in separate struct, so that the connection can be reused.
Stephan Bosch [Sun, 8 Oct 2017 09:52:53 +0000 (11:52 +0200)]
doveadm-server: http: Added structural comments.
Stephan Bosch [Sun, 8 Oct 2017 09:44:40 +0000 (11:44 +0200)]
doveadm-server: http: Moved doveadm_http_server_request_destroy().
Stephan Bosch [Sat, 7 Oct 2017 17:11:04 +0000 (19:11 +0200)]
doveadm-server: http: Moved doveadm_http_server_send_response().
Stephan Bosch [Sat, 7 Oct 2017 17:08:03 +0000 (19:08 +0200)]
doveadm-server: http: Moved connection-related code to the bottom of the file.
Stephan Bosch [Sat, 7 Oct 2017 16:52:57 +0000 (18:52 +0200)]
doveadm-server: http: Make http_server_set a local variable of doveadm_http_server_init().
Stephan Bosch [Sat, 7 Oct 2017 16:47:53 +0000 (18:47 +0200)]
doveadm-server: http: Create the http_response once needed, not preemptively.
Stephan Bosch [Sat, 7 Oct 2017 16:31:44 +0000 (18:31 +0200)]
doveadm-server: http: Split authentication into multiple functions.
Stephan Bosch [Sat, 7 Oct 2017 15:37:41 +0000 (17:37 +0200)]
doveadm-server: http: Renamed conn->http_server_request to conn->http_request.
Stephan Bosch [Sat, 7 Oct 2017 15:28:04 +0000 (17:28 +0200)]
doveadm-server: http: Removed http_request field from struct client_connection_http.
Not useful to put it there.
Stephan Bosch [Sat, 7 Oct 2017 15:16:22 +0000 (17:16 +0200)]
doveadm-server: http: Renamed conn->http_client to conn->http_conn.
Stephan Bosch [Sat, 7 Oct 2017 11:39:44 +0000 (13:39 +0200)]
doveadm-server: Restructured client-connection code so that TCP and HTTP connection types are properly separated.
Stephan Bosch [Sat, 7 Oct 2017 15:07:58 +0000 (17:07 +0200)]
doveadm-server: http: Moved client_connection_destroy_http().
Stephan Bosch [Sat, 7 Oct 2017 15:07:10 +0000 (17:07 +0200)]
doveadm-server: tcp: Renamed client_connection_create() to client_connection_tcp_create().
Stephan Bosch [Sat, 7 Oct 2017 15:06:09 +0000 (17:06 +0200)]
doveadm-server: http: Renamed client_connection_create_http() to client_connection_http_create().
Stephan Bosch [Sat, 7 Oct 2017 14:30:31 +0000 (16:30 +0200)]
doveadm-server: http: Renamed conn->client to conn->conn.
Stephan Bosch [Sat, 7 Oct 2017 14:57:45 +0000 (16:57 +0200)]
doveadm-server: tcp: Moved client_connection_destroy().
Stephan Bosch [Sat, 7 Oct 2017 14:55:01 +0000 (16:55 +0200)]
doveadm-server: tcp: Cleaned up doveadm_server_log_handler().
Stephan Bosch [Sat, 7 Oct 2017 14:48:14 +0000 (16:48 +0200)]
doveadm-server: Moved common client code back from client-connection-tcp.c to client-connection.c.
Stephan Bosch [Sat, 7 Oct 2017 13:40:45 +0000 (15:40 +0200)]
doveadm-server: Renamed client-connection.c to client-connection-tcp.c.
Preparation for subsequent commits.
Stephan Bosch [Sun, 8 Oct 2017 10:19:09 +0000 (12:19 +0200)]
doveadm-server: http: Changed index variables from size_t to unsigned int where size_t makes no sense.
Stephan Bosch [Wed, 18 Oct 2017 17:01:10 +0000 (19:01 +0200)]
doveadm-server: http: Changed initialization of parameters in doveadm_http_handle_json_v1().
Use normal assignment, rather than memcpy().
This way, type checking is not skipped unnecessarily.
Stephan Bosch [Sun, 8 Oct 2017 10:04:11 +0000 (12:04 +0200)]
doveadm-server: http: Use `ret' rather than `rc' as name for the local variable used for return values.
Stephan Bosch [Sat, 7 Oct 2017 10:36:34 +0000 (12:36 +0200)]
doveadm-server: http: Cleaned up code formatting.
Stephan Bosch [Mon, 9 Oct 2017 12:38:52 +0000 (14:38 +0200)]
doveadm-server: http: Created local variable for conn->cmd_param->value.v_istream as an abbreviation.
This is a preparation for subsequent commits.
Stephan Bosch [Mon, 9 Oct 2017 11:57:27 +0000 (13:57 +0200)]
doveadm-server: http: Created local variable for conn->client.output as an abbreviation.
This is a preparation for subsequent commits.
Stephan Bosch [Mon, 9 Oct 2017 12:35:30 +0000 (14:35 +0200)]
doveadm-server: http: Created local variable for conn->http_request as an abbreviation.
This is a preparation for subsequent commits.
Stephan Bosch [Mon, 9 Oct 2017 12:13:37 +0000 (14:13 +0200)]
doveadm-server: http: Created local variable for conn->http_response as an abbreviation.
This also makes sure it is named consistently everywhere.
This is a preparation for subsequent commits.
Stephan Bosch [Mon, 9 Oct 2017 11:43:42 +0000 (13:43 +0200)]
doveadm-server: http: Created local variable for conn->http_server_request as an abbreviation.
This also makes sure it is named consistently everywhere.
This is a preparation for subsequent commits.
Stephan Bosch [Sat, 7 Oct 2017 10:48:38 +0000 (12:48 +0200)]
doveadm-server: http: Moved loop body in doveadm_http_server_read_request_v1() to separate function.
Stephan Bosch [Tue, 10 Oct 2017 13:58:33 +0000 (15:58 +0200)]
doveadm: mail: Removed redundant cur_username field from struct doveadm_mail_cmd_context.
Stephan Bosch [Tue, 10 Oct 2017 17:12:52 +0000 (19:12 +0200)]
doveadm: mail: Removed redundant cur_client_ip field from struct doveadm_mail_cmd_context.
Stephan Bosch [Tue, 10 Oct 2017 17:04:20 +0000 (19:04 +0200)]
doveadm: mail: Removed struct doveadm_cmd_context function parameters that are now useless.
It can be accessed from struct doveadm_mail_cmd_context.
Stephan Bosch [Sat, 7 Oct 2017 19:30:27 +0000 (21:30 +0200)]
doveadm: Changed command contexts to contain the input, output, and connection type values directly.
Before, it used a direct pointer to the connection.
It used also flags to indicate the connection type, which is now consolidated in the connection type enum.
Stephan Bosch [Tue, 17 Oct 2017 14:16:22 +0000 (16:16 +0200)]
lib-http: server: Implemented http_server_request_fail_text(), which allows creating failure responses with verbose payload.
Stephan Bosch [Tue, 17 Oct 2017 14:04:38 +0000 (16:04 +0200)]
lib-http: server: Allow determining at any time whether the connection will be closed after handling a request.
Previously, this was only possible during response submission, which potentially requires making a `close' parameter available for any API function that submits a (failure) response.
This would become very ugly and inflexible.
Stephan Bosch [Tue, 17 Oct 2017 14:35:06 +0000 (16:35 +0200)]
lib-http: server: Set `Connection:' header in response to `close' when request contains the same.
Before, it would set it to `Connection: keep-alive', which makes no sense.
Stephan Bosch [Tue, 17 Oct 2017 14:28:06 +0000 (16:28 +0200)]
lib-http: server: Make sure broken connection input always causes the connection to be closed after response.
Timo Sirainen [Fri, 20 Oct 2017 08:04:41 +0000 (11:04 +0300)]
maildir: Fix memory leak when mailbox opening fails
Aki Tuomi [Mon, 23 Oct 2017 12:46:49 +0000 (15:46 +0300)]
lib-fts: Fix test-fts-filter to use valid unicode
Aki Tuomi [Fri, 20 Oct 2017 12:15:35 +0000 (15:15 +0300)]
test-json-parser: Use idx to better identify failing case
Aki Tuomi [Thu, 19 Oct 2017 09:35:33 +0000 (12:35 +0300)]
test-json-parser: Update tests
Now that we actually check for valid unicode,
the tests need to have valid unicode and invalid unicode
in correct places.