]>
git.ipfire.org Git - thirdparty/dovecot/core.git/log
Stephan Bosch [Thu, 23 Apr 2020 11:03:37 +0000 (13:03 +0200)]
lib-http: test-http-payload - Initialize common client and server settings at one place.
Stephan Bosch [Thu, 23 Apr 2020 21:41:49 +0000 (23:41 +0200)]
lib-http: http-server-connection - Return 0 from flush callback when there is more payload to be sent.
Stephan Bosch [Fri, 24 Apr 2020 20:36:15 +0000 (22:36 +0200)]
lib-http: http-server-response - Make return value of http_server_response_send*() indicate whether all is sent.
Stephan Bosch [Thu, 23 Apr 2020 13:21:06 +0000 (15:21 +0200)]
lib-http: http-server-ostream - Handle finished request as a separate event.
While waiting in the flush ioloop, the request will not be destroyed, in which
case the ioloop will potentially never end. This is fixed by notifying the
wrapper output stream about the parent output stream going away, which
interrupts the ioloop in the process.
Stephan Bosch [Thu, 23 Apr 2020 13:18:53 +0000 (15:18 +0200)]
lib-http: http-server-ostream - Make sure request payload input stream is destroyed before blocking.
Stephan Bosch [Thu, 31 May 2018 18:56:53 +0000 (20:56 +0200)]
lib-http: http-server-response - Fix sending payload input streams that are seeked beyond 0.
Stephan Bosch [Fri, 24 Apr 2020 21:12:51 +0000 (23:12 +0200)]
lib-http: http-client-request - Properly reset payload state upon retry/redirect.
Stephan Bosch [Fri, 24 Apr 2020 21:02:28 +0000 (23:02 +0200)]
lib-http: http-client-request - Put shared code from http_client_request_resubmit/redirect() in new function.
Stephan Bosch [Fri, 24 Apr 2020 23:32:11 +0000 (01:32 +0200)]
lib-http: http-client-connection - Return 0 from flush callback when there is more payload to be sent.
Stephan Bosch [Sat, 25 Apr 2020 15:55:56 +0000 (17:55 +0200)]
lib-http: http-client-connection - Set output flush pending when http_client_request_send() returns 0.
Stephan Bosch [Fri, 24 Apr 2020 23:31:14 +0000 (01:31 +0200)]
lib-http: http-client-request - Make return value of http_client_request_send*() indicate whether all is sent.
Stephan Bosch [Sat, 25 Apr 2020 15:43:11 +0000 (17:43 +0200)]
lib-http: http-client-connection - Remove useless cork/uncork from http_client_connection_continue_request().
Stephan Bosch [Fri, 24 Apr 2020 20:26:26 +0000 (22:26 +0200)]
lib-http: http-client-connection - Fix race condition between finishing output stream and response.
Stephan Bosch [Thu, 31 May 2018 18:57:41 +0000 (20:57 +0200)]
lib-http: http-client-request - Fix sending payload input streams that are seeked beyond 0.
Stephan Bosch [Thu, 23 Apr 2020 13:16:03 +0000 (15:16 +0200)]
lib: ostream-wrapper - Allow parent output being closed in wrapper_ostream_continue().
This happens when wrapper_ostream_output_destroyed() is called while waiting in
flush wait loop.
Stephan Bosch [Thu, 23 Apr 2020 09:36:30 +0000 (11:36 +0200)]
lib: ostream-wrapper - Properly manage parent output events for blocking operation.
The problem was exposed by a panic occurring in src/lib-http/test-http-payload unit test:
Panic: file ostream-wrapper.c: line 291 (wrapper_ostream_flush_wait): assertion failed: (io_loop_have_ios(ioloop) || io_loop_have_immediate_timeouts(ioloop))
Stephan Bosch [Mon, 6 Apr 2020 21:26:36 +0000 (23:26 +0200)]
lib-http: Reformat test-http-client-errors.c.
Stephan Bosch [Wed, 4 Apr 2018 11:27:53 +0000 (13:27 +0200)]
lib-http: Reformat test-http-payload.c.
Stephan Bosch [Tue, 20 Mar 2018 19:59:32 +0000 (20:59 +0100)]
lib-http: Reformat http-client-request.c.
Aki Tuomi [Mon, 27 Apr 2020 05:08:06 +0000 (08:08 +0300)]
lib-ssl-iostream: Add missing set name to ssl_proxy_ctx_get_pkey_ec_curve_name
It was forgotten in
934a5e7cdb3105a07e2b1dec5916f4abfb3ee2a1
Timo Sirainen [Sun, 26 Apr 2020 18:21:21 +0000 (21:21 +0300)]
dict: Add "user" field to dict_server_* events if it's not empty
Timo Sirainen [Sun, 26 Apr 2020 18:17:53 +0000 (21:17 +0300)]
lib-dict: Add "user" field to dict_* events if it's not empty
Stephan Bosch [Mon, 20 Apr 2020 22:16:05 +0000 (00:16 +0200)]
lib-http: test-http-payload - Fix dead assignments.
Found by Clang scan-build.
Stephan Bosch [Sat, 25 Apr 2020 11:24:59 +0000 (13:24 +0200)]
lib-http: test-http-payload - Remove useless and confusing break statements.
Stephan Bosch [Mon, 20 Apr 2020 22:13:16 +0000 (00:13 +0200)]
lib: ostream-wrapper - Fix dead assignments.
Found by Clang scan-build.
Markus Valentin [Thu, 2 Apr 2020 15:21:22 +0000 (17:21 +0200)]
auth: Add tests for some auth-mechanisms
This adds tests for many auth-mechanisms and checks for empty
inputs as well as for some broken input combinations.
Markus Valentin [Tue, 7 Apr 2020 10:56:46 +0000 (12:56 +0200)]
auth: mech-otp: Add mech_otp_deinit and call it in main_deinit
This change make sure the otp_lock_table is destroyed on deinit.
Markus Valentin [Wed, 1 Apr 2020 08:42:56 +0000 (10:42 +0200)]
lib-test: test-common: Add test_assert_strcmp_idx macro
This change allows to use test_assert_strcmp_idx to identify failing
strcmp tests when running a barrage of tests as in loop.
Markus Valentin [Thu, 2 Apr 2020 06:38:32 +0000 (08:38 +0200)]
auth: Extract private header from mech-digest-md5
This is needed to allow testing of the mech-digest-md5 mechanism.
Markus Valentin [Tue, 31 Mar 2020 12:57:38 +0000 (14:57 +0200)]
auth: Move auths array from static source to extern in header
This is needed for better testability of auth-mechanisms.
Markus Valentin [Fri, 27 Mar 2020 12:59:44 +0000 (13:59 +0100)]
auth: Use stats from auth_settings to check wether stats should be used
This allows to run unit-tests without the need to setup stats.
Markus Valentin [Fri, 27 Mar 2020 10:05:22 +0000 (11:05 +0100)]
auth: Introduce several callbacks in auth-request-handler
This adds three callbacks and their default implementations. This
change is meant to decouple the code for better testability of
auth-mechanims.
Markus Valentin [Fri, 27 Mar 2020 10:04:20 +0000 (11:04 +0100)]
auth: Extract auth-request-handler struct definition to private header
Markus Valentin [Thu, 26 Mar 2020 14:26:54 +0000 (15:26 +0100)]
auth: Add checks for NULs for different auth-mechanisms
This change adds a check to for NULs in the authentication
input in different auth mechanisms. For this purpose the different
mechanisms use the newly introduced auth_request_fail_on_nuls
function.
Markus Valentin [Wed, 25 Mar 2020 12:48:13 +0000 (13:48 +0100)]
auth: Fail authentication if username/password contains NULs
In mech-plain and mech-dovecot-token the number of NULs splitting the
fields could have been higher then expected. This change ensures that if
there are more then the expected amount of NULs the authentication will
fail.
Aki Tuomi [Mon, 20 Apr 2020 11:57:07 +0000 (14:57 +0300)]
lib-smtp: smtp-client-connection - Try all IPs when connecting to remote host
Aki Tuomi [Mon, 20 Apr 2020 19:35:55 +0000 (22:35 +0300)]
submission: Use dns-client
Timo Sirainen [Mon, 20 Apr 2020 18:45:06 +0000 (21:45 +0300)]
lib-master, global: master_service_init_log() - Remove prefix parameter
Generate the prefix automatically from the configured service name.
Timo Sirainen [Mon, 20 Apr 2020 18:41:39 +0000 (21:41 +0300)]
global: Use master_service_init_log_with_prefix() where explicit prefix is wanted
Timo Sirainen [Mon, 20 Apr 2020 18:41:05 +0000 (21:41 +0300)]
lib-master: Add master_service_init_log_with_prefix()
Timo Sirainen [Mon, 20 Apr 2020 18:32:13 +0000 (21:32 +0300)]
indexer-worker: Add PID to log prefix
Timo Sirainen [Mon, 20 Apr 2020 18:32:32 +0000 (21:32 +0300)]
global: Use master_service_init_log_with_pid() where possible
Timo Sirainen [Mon, 20 Apr 2020 18:28:40 +0000 (21:28 +0300)]
lib-master: Add master_service_init_log_with_pid()
Timo Sirainen [Tue, 14 Apr 2020 16:37:02 +0000 (19:37 +0300)]
lib-master: Use service name from master for log prefixes and for service:<name> category
This makes it easier to differentiate between different services using the
same executable. Especially auth vs auth-worker events which might
otherwise be the same except for the service:<name> category.
Timo Sirainen [Tue, 14 Apr 2020 16:26:46 +0000 (19:26 +0300)]
master: Add SERVICE_NAME=<name> environment to child service processes
Timo Sirainen [Tue, 14 Apr 2020 16:21:43 +0000 (19:21 +0300)]
dns: Rename dns_client service to dns-client
This makes it consistent with all other services.
This commit also adds it to the old-set-parser, so the old service name
still works but gives a warning.
Timo Sirainen [Mon, 20 Apr 2020 16:27:00 +0000 (19:27 +0300)]
lib-ssl-iostream: Include setting name in all key parsing errors
Timo Sirainen [Wed, 15 Apr 2020 12:59:09 +0000 (15:59 +0300)]
lib-ssl-iostream: Improve error messages for ssl_client_ca_* parsing errors
Timo Sirainen [Wed, 15 Apr 2020 12:57:29 +0000 (15:57 +0300)]
lib-ssl-iostream: Split off load_ca_locations()
Timo Sirainen [Wed, 15 Apr 2020 12:52:45 +0000 (15:52 +0300)]
lib-ssl-iostream: Add setting names to most SSL setting parsing errors
Timo Sirainen [Wed, 15 Apr 2020 12:43:12 +0000 (15:43 +0300)]
lib-ssl-iostream: If certificate is empty, say it clearly in the error message
Instead of "There is no valid PEM certificate" just say
"The certificate is empty".
Timo Sirainen [Mon, 20 Apr 2020 15:32:57 +0000 (18:32 +0300)]
lib-master: Fix MASTER_SERVICE_FLAG_USE_SSL_SETTINGS when running standalone
Timo Sirainen [Mon, 20 Apr 2020 15:07:58 +0000 (18:07 +0300)]
lib-master: MASTER_SERVICE_FLAG_USE_SSL_SETTINGS no longer initialized SSL server
Timo Sirainen [Mon, 20 Apr 2020 15:02:21 +0000 (18:02 +0300)]
*-login, lmtp: Enable MASTER_SERVICE_FLAG_HAVE_STARTTLS
Timo Sirainen [Mon, 20 Apr 2020 15:01:21 +0000 (18:01 +0300)]
lib-master: Add MASTER_SERVICE_FLAG_HAVE_STARTTLS
Timo Sirainen [Mon, 20 Apr 2020 11:49:35 +0000 (14:49 +0300)]
login-proxy: "Started proxying to ..." - Use uppercase for the first letter
Other log messages start uppercased as well.
Timo Sirainen [Thu, 9 Apr 2020 21:31:41 +0000 (00:31 +0300)]
login-proxy: Remove unnecessary "disconnecting" text from log message
Add "Disconnected by proxy: " prefix explicitly for the few reasons why
the proxy itself is causing the disconnection.
Timo Sirainen [Thu, 9 Apr 2020 21:27:40 +0000 (00:27 +0300)]
login-proxy: Add ip:port to log prefix and remove them from log messages
Timo Sirainen [Thu, 9 Apr 2020 21:10:55 +0000 (00:10 +0300)]
login-proxy: Check for missing host IP address earlier
Also fail if "hostip" is returned by passdb but it's not a valid IP address.
Timo Sirainen [Thu, 9 Apr 2020 21:07:04 +0000 (00:07 +0300)]
login-proxy: login_proxy_new() - Change host check to assert
It's already checked by the only caller.
Timo Sirainen [Thu, 9 Apr 2020 20:52:01 +0000 (23:52 +0300)]
login-proxy: login_proxy_free*() - Add asserts to make sure error always exists when needed
Only detached proxies log the error.
Timo Sirainen [Thu, 9 Apr 2020 18:12:25 +0000 (21:12 +0300)]
login-proxy: Remove login_proxy_free_reason/delayed()
Just use login_proxy_free_full() directly.
Timo Sirainen [Thu, 9 Apr 2020 18:09:26 +0000 (21:09 +0300)]
login-proxy: login_proxy_free_full() - Replace bool delayed with enum
Timo Sirainen [Thu, 9 Apr 2020 18:07:48 +0000 (21:07 +0300)]
login-proxy: Add missing space between disconnect reason and "(extra info)"
Timo Sirainen [Thu, 9 Apr 2020 18:00:30 +0000 (21:00 +0300)]
login-proxy: Clarify error messages when disconnecting from server before login is finished
Timo Sirainen [Thu, 9 Apr 2020 21:22:39 +0000 (00:22 +0300)]
login-common: client_disconnect() - Log with login_proxy event if it exists
Timo Sirainen [Thu, 9 Apr 2020 20:24:36 +0000 (23:24 +0300)]
*-login: Use login_proxy.event for logging
This way there's no need to have the "proxy: " or "proxy(user): " prefix.
This also standardizes it to always be "proxy(user): ".
Timo Sirainen [Thu, 9 Apr 2020 20:19:13 +0000 (23:19 +0300)]
login-proxy: Add login_proxy_get_event()
Timo Sirainen [Thu, 9 Apr 2020 19:57:49 +0000 (22:57 +0300)]
login-proxy: Add event to login_proxy
Timo Sirainen [Thu, 9 Apr 2020 20:15:05 +0000 (23:15 +0300)]
login-proxy: Split off proxy_check_start()
Timo Sirainen [Thu, 9 Apr 2020 20:12:03 +0000 (23:12 +0300)]
login-proxy: Remove client->refcount > 1 assert
There doesn't seem to be any point in having this assert. Nothing seems
to require that it's over 1.
Timo Sirainen [Thu, 9 Apr 2020 20:08:39 +0000 (23:08 +0300)]
login-proxy: Remove dead code checking if client is destroyed
The beginning of the function already assert-crashes if client is destroyed
and nothing in the code path can destroy the client.
Timo Sirainen [Thu, 9 Apr 2020 21:37:34 +0000 (00:37 +0300)]
login-common: Replace i_error() with e_error() where possible
Timo Sirainen [Thu, 9 Apr 2020 19:51:17 +0000 (22:51 +0300)]
login-common: Remove client_log*() functions
Timo Sirainen [Thu, 9 Apr 2020 19:50:26 +0000 (22:50 +0300)]
*-login: Use e_error() instead of client_log_err()
Timo Sirainen [Thu, 9 Apr 2020 19:43:34 +0000 (22:43 +0300)]
*-login: Use e_info() instead of client_log()
Timo Sirainen [Thu, 9 Apr 2020 19:40:42 +0000 (22:40 +0300)]
login-common: Use e_warning() instead of client_log_warn()
Timo Sirainen [Thu, 9 Apr 2020 19:39:04 +0000 (22:39 +0300)]
login-common: Log via e_info/warning/error() functions
Timo Sirainen [Thu, 9 Apr 2020 19:19:48 +0000 (22:19 +0300)]
login-common: Add event to client
Timo Sirainen [Thu, 9 Apr 2020 19:26:57 +0000 (22:26 +0300)]
login-common: Split off args_parse_user()
Timo Sirainen [Thu, 9 Apr 2020 19:11:54 +0000 (22:11 +0300)]
*-login: Add event category to login_binary
Timo Sirainen [Mon, 20 Apr 2020 09:26:06 +0000 (12:26 +0300)]
*-login: Change struct login_binary to be non-const
Required by the next commit.
Timo Sirainen [Thu, 9 Apr 2020 18:57:36 +0000 (21:57 +0300)]
login-proxy: Remove unused login_proxy.disconnecting field
Timo Sirainen [Tue, 14 Apr 2020 12:38:56 +0000 (15:38 +0300)]
lib: ostream-multiplex - Fix flush callback handling
Using flush-callbacks didn't work very well. Even if it wasn't overridden,
it could have caused a hang if there was data left inside the internal
buffer that couldn't be flushed to parent ostream. At the end of the
ostream there was nothing that triggered flushing the internal buffer.
Timo Sirainen [Tue, 14 Apr 2020 12:37:44 +0000 (15:37 +0300)]
lib: ostream-multiplex - o_stream_send*(): Return 0 if buffer is full, not -2
-2 is only for istreams.
Fixes:
Panic: file ostream.c: line 281 (o_stream_sendv_int): assertion failed: (stream->stream_errno != 0)
Martti Rannanjärvi [Mon, 20 Apr 2020 10:48:29 +0000 (13:48 +0300)]
lib-smtp: Allow running make check as root
This is to allow running make check on Debian fakeroot.
Martti Rannanjärvi [Mon, 20 Apr 2020 10:46:38 +0000 (13:46 +0300)]
lib-smtp: Add allow_root flag to smtp_submit_input and smtp_submit_session
This is to make it possible to run make check on Debian fakeroot later.
Stephan Bosch [Wed, 22 Apr 2020 10:54:44 +0000 (12:54 +0200)]
stats: stats-service-openmetrics - Check label for group_by metric at correct location.
Aki Tuomi [Wed, 22 Apr 2020 10:39:32 +0000 (13:39 +0300)]
stats: openmetrics - Use json_append_escaped
It does the job exactly as openmetrics specs say.
Aki Tuomi [Wed, 22 Apr 2020 11:49:30 +0000 (14:49 +0300)]
stats: metrics - Sanitize sub_name before appending to ostream
Aki Tuomi [Wed, 22 Apr 2020 11:48:28 +0000 (14:48 +0300)]
stats: metrics - Use str_sanitize_utf8 to create submetric name
This was before sanitized to ascii letters and numbers. It is
foreseeable that e.g. usernames can contain utf-8 in future
so better retain it as utf-8 here.
Timo Sirainen [Sat, 18 Apr 2020 18:36:10 +0000 (21:36 +0300)]
submission-login: Fix printf type for SIZE in HELO reply
Fixes compiler warning with 32bit systems.
Timo Sirainen [Sat, 18 Apr 2020 18:35:04 +0000 (21:35 +0300)]
lib-index: Fix signedness compiler warning with 32bit
Timo Sirainen [Mon, 20 Apr 2020 08:44:03 +0000 (11:44 +0300)]
stats: Add missing stats_startup_time global variable to unit tests
It's not currently actually used, but this fixes linking
--without-shared-libs
Timo Sirainen [Mon, 20 Apr 2020 08:53:38 +0000 (11:53 +0300)]
stats: Change stats_settings to be static
Timo Sirainen [Mon, 20 Apr 2020 08:53:00 +0000 (11:53 +0300)]
stats: client_http_init() - Add stats_settings parameter
Stephan Bosch [Tue, 10 Mar 2020 23:43:07 +0000 (00:43 +0100)]
stats: stats-service-openmetrics - Add histogram support.
Stephan Bosch [Fri, 22 Nov 2019 18:55:48 +0000 (19:55 +0100)]
stats: stats-service-openmetrics - Make composition of response payload scalable.
Use the new HTTP server response payload ostream API.
Stephan Bosch [Fri, 22 Nov 2019 18:55:48 +0000 (19:55 +0100)]
stats: stats-service-openmetrics - Restructure metrics export for incremental output.
This way, the string buffer can be written to an output stream after every
exported (sub-) metric.
Stephan Bosch [Wed, 11 Mar 2020 18:29:15 +0000 (19:29 +0100)]
stats: stats-service-openmetrics - Fix code duplication between count and duration output metrics.