]> git.ipfire.org Git - thirdparty/dovecot/core.git/log
thirdparty/dovecot/core.git
5 years agolib-dict: Add "user" field to dict_* 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

5 years agolib-http: test-http-payload - Fix dead assignments.
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.

5 years agolib-http: test-http-payload - Remove useless and confusing break statements.
Stephan Bosch [Sat, 25 Apr 2020 11:24:59 +0000 (13:24 +0200)] 
lib-http: test-http-payload - Remove useless and confusing break statements.

5 years agolib: ostream-wrapper - Fix dead assignments.
Stephan Bosch [Mon, 20 Apr 2020 22:13:16 +0000 (00:13 +0200)] 
lib: ostream-wrapper - Fix dead assignments.

Found by Clang scan-build.

5 years agoauth: Add tests for some auth-mechanisms
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.

5 years agoauth: mech-otp: Add mech_otp_deinit and call it in main_deinit
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.

5 years agolib-test: test-common: Add test_assert_strcmp_idx macro
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.

5 years agoauth: Extract private header from mech-digest-md5
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.

5 years agoauth: Move auths array from static source to extern in header
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.

5 years agoauth: Use stats from auth_settings to check wether stats should be used
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.

5 years agoauth: Introduce several callbacks in auth-request-handler
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.

5 years agoauth: Extract auth-request-handler struct definition to private header
Markus Valentin [Fri, 27 Mar 2020 10:04:20 +0000 (11:04 +0100)] 
auth: Extract auth-request-handler struct definition to private header

5 years agoauth: Add checks for NULs for different auth-mechanisms
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.

5 years agoauth: Fail authentication if username/password contains NULs
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.

5 years agolib-smtp: smtp-client-connection - Try all IPs when connecting to remote host
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

5 years agosubmission: Use dns-client
Aki Tuomi [Mon, 20 Apr 2020 19:35:55 +0000 (22:35 +0300)] 
submission: Use dns-client

5 years agolib-master, global: master_service_init_log() - Remove prefix parameter
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.

5 years agoglobal: Use master_service_init_log_with_prefix() where explicit prefix is wanted
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

5 years agolib-master: Add master_service_init_log_with_prefix()
Timo Sirainen [Mon, 20 Apr 2020 18:41:05 +0000 (21:41 +0300)] 
lib-master: Add master_service_init_log_with_prefix()

5 years agoindexer-worker: Add PID to log prefix
Timo Sirainen [Mon, 20 Apr 2020 18:32:13 +0000 (21:32 +0300)] 
indexer-worker: Add PID to log prefix

5 years agoglobal: Use master_service_init_log_with_pid() where possible
Timo Sirainen [Mon, 20 Apr 2020 18:32:32 +0000 (21:32 +0300)] 
global: Use master_service_init_log_with_pid() where possible

5 years agolib-master: Add master_service_init_log_with_pid()
Timo Sirainen [Mon, 20 Apr 2020 18:28:40 +0000 (21:28 +0300)] 
lib-master: Add master_service_init_log_with_pid()

5 years agolib-master: Use service name from master for log prefixes and for service:<name>...
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.

5 years agomaster: Add SERVICE_NAME=<name> environment to child service processes
Timo Sirainen [Tue, 14 Apr 2020 16:26:46 +0000 (19:26 +0300)] 
master: Add SERVICE_NAME=<name> environment to child service processes

5 years agodns: Rename dns_client service to dns-client
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.

5 years agolib-ssl-iostream: Include setting name in all key parsing errors
Timo Sirainen [Mon, 20 Apr 2020 16:27:00 +0000 (19:27 +0300)] 
lib-ssl-iostream: Include setting name in all key parsing errors

5 years agolib-ssl-iostream: Improve error messages for ssl_client_ca_* 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

5 years agolib-ssl-iostream: Split off load_ca_locations()
Timo Sirainen [Wed, 15 Apr 2020 12:57:29 +0000 (15:57 +0300)] 
lib-ssl-iostream: Split off load_ca_locations()

5 years agolib-ssl-iostream: Add setting names to most SSL setting parsing errors
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

5 years agolib-ssl-iostream: If certificate is empty, say it clearly in the error message
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".

5 years agolib-master: Fix MASTER_SERVICE_FLAG_USE_SSL_SETTINGS when running standalone
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

5 years agolib-master: MASTER_SERVICE_FLAG_USE_SSL_SETTINGS no longer initialized SSL server
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

5 years ago*-login, lmtp: Enable MASTER_SERVICE_FLAG_HAVE_STARTTLS
Timo Sirainen [Mon, 20 Apr 2020 15:02:21 +0000 (18:02 +0300)] 
*-login, lmtp: Enable MASTER_SERVICE_FLAG_HAVE_STARTTLS

5 years agolib-master: Add 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

5 years agologin-proxy: "Started proxying to ..." - Use uppercase for the first letter
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.

5 years agologin-proxy: Remove unnecessary "disconnecting" text from log message
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.

5 years agologin-proxy: Add ip:port to log prefix and remove them from log messages
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

5 years agologin-proxy: Check for missing host IP address earlier
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.

5 years agologin-proxy: login_proxy_new() - Change host check to assert
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.

5 years agologin-proxy: login_proxy_free*() - Add asserts to make sure error always exists when...
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.

5 years agologin-proxy: Remove login_proxy_free_reason/delayed()
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.

5 years agologin-proxy: login_proxy_free_full() - Replace bool delayed with enum
Timo Sirainen [Thu, 9 Apr 2020 18:09:26 +0000 (21:09 +0300)] 
login-proxy: login_proxy_free_full() - Replace bool delayed with enum

5 years agologin-proxy: Add missing space between disconnect reason and "(extra info)"
Timo Sirainen [Thu, 9 Apr 2020 18:07:48 +0000 (21:07 +0300)] 
login-proxy: Add missing space between disconnect reason and "(extra info)"

5 years agologin-proxy: Clarify error messages when disconnecting from server before login is...
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

5 years agologin-common: client_disconnect() - Log with login_proxy event if it exists
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

5 years ago*-login: Use login_proxy.event for logging
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): ".

5 years agologin-proxy: Add login_proxy_get_event()
Timo Sirainen [Thu, 9 Apr 2020 20:19:13 +0000 (23:19 +0300)] 
login-proxy: Add login_proxy_get_event()

5 years agologin-proxy: Add event to login_proxy
Timo Sirainen [Thu, 9 Apr 2020 19:57:49 +0000 (22:57 +0300)] 
login-proxy: Add event to login_proxy

5 years agologin-proxy: Split off proxy_check_start()
Timo Sirainen [Thu, 9 Apr 2020 20:15:05 +0000 (23:15 +0300)] 
login-proxy: Split off proxy_check_start()

5 years agologin-proxy: Remove client->refcount > 1 assert
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.

5 years agologin-proxy: Remove dead code checking if client is destroyed
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.

5 years agologin-common: Replace i_error() with e_error() where possible
Timo Sirainen [Thu, 9 Apr 2020 21:37:34 +0000 (00:37 +0300)] 
login-common: Replace i_error() with e_error() where possible

5 years agologin-common: Remove client_log*() functions
Timo Sirainen [Thu, 9 Apr 2020 19:51:17 +0000 (22:51 +0300)] 
login-common: Remove client_log*() functions

5 years ago*-login: Use e_error() instead of client_log_err()
Timo Sirainen [Thu, 9 Apr 2020 19:50:26 +0000 (22:50 +0300)] 
*-login: Use e_error() instead of client_log_err()

5 years ago*-login: Use e_info() instead of client_log()
Timo Sirainen [Thu, 9 Apr 2020 19:43:34 +0000 (22:43 +0300)] 
*-login: Use e_info() instead of client_log()

5 years agologin-common: Use e_warning() instead of client_log_warn()
Timo Sirainen [Thu, 9 Apr 2020 19:40:42 +0000 (22:40 +0300)] 
login-common: Use e_warning() instead of client_log_warn()

5 years agologin-common: Log via e_info/warning/error() functions
Timo Sirainen [Thu, 9 Apr 2020 19:39:04 +0000 (22:39 +0300)] 
login-common: Log via e_info/warning/error() functions

5 years agologin-common: Add event to client
Timo Sirainen [Thu, 9 Apr 2020 19:19:48 +0000 (22:19 +0300)] 
login-common: Add event to client

5 years agologin-common: Split off args_parse_user()
Timo Sirainen [Thu, 9 Apr 2020 19:26:57 +0000 (22:26 +0300)] 
login-common: Split off args_parse_user()

5 years ago*-login: Add event category to login_binary
Timo Sirainen [Thu, 9 Apr 2020 19:11:54 +0000 (22:11 +0300)] 
*-login: Add event category to login_binary

5 years ago*-login: Change struct login_binary to be non-const
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.

5 years agologin-proxy: Remove unused login_proxy.disconnecting field
Timo Sirainen [Thu, 9 Apr 2020 18:57:36 +0000 (21:57 +0300)] 
login-proxy: Remove unused login_proxy.disconnecting field

5 years agolib: ostream-multiplex - Fix flush callback handling
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.

5 years agolib: ostream-multiplex - o_stream_send*(): Return 0 if buffer is full, not -2
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)

5 years agolib-smtp: Allow running make check as root
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.

5 years agolib-smtp: Add allow_root flag to smtp_submit_input and smtp_submit_session
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.

5 years agostats: stats-service-openmetrics - Check label for group_by metric at correct location.
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.

5 years agostats: openmetrics - Use json_append_escaped
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.

5 years agostats: metrics - Sanitize sub_name before appending to ostream
Aki Tuomi [Wed, 22 Apr 2020 11:49:30 +0000 (14:49 +0300)] 
stats: metrics - Sanitize sub_name before appending to ostream

5 years agostats: metrics - Use str_sanitize_utf8 to create submetric name
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.

5 years agosubmission-login: Fix printf type for SIZE in HELO reply
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.

5 years agolib-index: Fix signedness compiler warning with 32bit
Timo Sirainen [Sat, 18 Apr 2020 18:35:04 +0000 (21:35 +0300)] 
lib-index: Fix signedness compiler warning with 32bit

5 years agostats: Add missing stats_startup_time global variable to unit tests
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

5 years agostats: Change stats_settings to be static
Timo Sirainen [Mon, 20 Apr 2020 08:53:38 +0000 (11:53 +0300)] 
stats: Change stats_settings to be static

5 years agostats: client_http_init() - Add stats_settings parameter
Timo Sirainen [Mon, 20 Apr 2020 08:53:00 +0000 (11:53 +0300)] 
stats: client_http_init() - Add stats_settings parameter

5 years agostats: stats-service-openmetrics - Add histogram support.
Stephan Bosch [Tue, 10 Mar 2020 23:43:07 +0000 (00:43 +0100)] 
stats: stats-service-openmetrics - Add histogram support.

5 years agostats: stats-service-openmetrics - Make composition of response payload scalable.
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.

5 years agostats: stats-service-openmetrics - Restructure metrics export for incremental output.
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.

5 years agostats: stats-service-openmetrics - Fix code duplication between count and duration...
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.

5 years agostats: stats-service-openmetrics - Record has_submetric status in request context.
Stephan Bosch [Thu, 12 Mar 2020 15:04:38 +0000 (16:04 +0100)] 
stats: stats-service-openmetrics - Record has_submetric status in request context.

5 years agostats: stats-service-openmetrics - Use basic request struct for context data.
Stephan Bosch [Wed, 11 Mar 2020 18:45:51 +0000 (19:45 +0100)] 
stats: stats-service-openmetrics - Use basic request struct for context data.

5 years agostats: stats-service-openmetrics - Export Dovecot base metrics in a separate function.
Stephan Bosch [Wed, 11 Mar 2020 17:24:34 +0000 (18:24 +0100)] 
stats: stats-service-openmetrics - Export Dovecot base metrics in a separate function.

5 years agostats: stats-service-openmetrics - Rename resp to hsresp in stats_service_openmetrics...
Stephan Bosch [Sat, 23 Nov 2019 11:21:48 +0000 (12:21 +0100)] 
stats: stats-service-openmetrics - Rename resp to hsresp in stats_service_openmetrics_request().

5 years agostats: stats-service-openmetrics - Rename req to hsreq in stats_service_openmetrics_r...
Stephan Bosch [Sat, 23 Nov 2019 11:19:14 +0000 (12:19 +0100)] 
stats: stats-service-openmetrics - Rename req to hsreq in stats_service_openmetrics_request().

5 years agostats: Reformat stats-service-openmetrics.c.
Stephan Bosch [Wed, 11 Mar 2020 19:04:25 +0000 (20:04 +0100)] 
stats: Reformat stats-service-openmetrics.c.

5 years agostats: Do not export base metric with sub-metrics on prometheus
Aki Tuomi [Thu, 12 Mar 2020 09:48:28 +0000 (11:48 +0200)] 
stats: Do not export base metric with sub-metrics on prometheus

This can confuse prometheus.

5 years agolib-http: http_server_response_send_payload() - Reimplement with the new ostream...
Stephan Bosch [Fri, 15 Nov 2019 21:00:13 +0000 (22:00 +0100)] 
lib-http: http_server_response_send_payload() - Reimplement with the new ostream API.

This considerably simplifies the code.

5 years agolib-http: test-http-server-errors - Add tests for the new asynchronous payload output...
Stephan Bosch [Mon, 11 Nov 2019 22:35:17 +0000 (23:35 +0100)] 
lib-http: test-http-server-errors - Add tests for the new asynchronous payload output stream API.

5 years agolib-http: test-http-payload - Add tests for the new asynchronous server payload outpu...
Stephan Bosch [Thu, 14 Nov 2019 00:00:03 +0000 (01:00 +0100)] 
lib-http: test-http-payload - Add tests for the new asynchronous server payload output stream API.

5 years agolib-http: http-server-response - Replace payload output stream API implementation.
Stephan Bosch [Mon, 11 Nov 2019 20:53:09 +0000 (21:53 +0100)] 
lib-http: http-server-response - Replace payload output stream API implementation.

It now supports both blocking and non-blocking behavior.

5 years agolib: Create wrapper output stream.
Stephan Bosch [Sun, 25 Nov 2018 20:24:07 +0000 (21:24 +0100)] 
lib: Create wrapper output stream.

This allows creating the stream before the actual output is available, thereby
wrapping the whole process of making a connection, doing protocol handshakes,
and submitting the request. Once there's an actual output stream, data from the
wrapper stream can be sent. Until that time, the wrapper will block or return 0
(based on whether it is blocking or not).

The wrapper stream is a partial implementation that needs to be completed (by in
heritance) by the respective protocol implementation.

5 years agolib-http: http-server-connection - Hold immune request reference while sending response.
Stephan Bosch [Fri, 13 Mar 2020 23:57:48 +0000 (00:57 +0100)] 
lib-http: http-server-connection - Hold immune request reference while sending response.

5 years agolib-http: http-server-connection - When connection is closed, abort requests with...
Stephan Bosch [Fri, 13 Mar 2020 23:39:38 +0000 (00:39 +0100)] 
lib-http: http-server-connection - When connection is closed, abort requests with provided reason.

5 years agolib-http: http-server-request - Add http_server_request_immune_ref/unref() and use...
Stephan Bosch [Fri, 13 Mar 2020 22:55:50 +0000 (23:55 +0100)] 
lib-http: http-server-request - Add http_server_request_immune_ref/unref() and use the new API.

Makes the request immune to http_server_request_destroy() until the last immune
reference is dropped. The destruction is only delayed, so destroy is implicit
once the last immune reference is dropped.

5 years agolib-http: http-server-request - Notify response about request destroy before destroy...
Stephan Bosch [Fri, 13 Mar 2020 23:41:10 +0000 (00:41 +0100)] 
lib-http: http-server-request - Notify response about request destroy before destroy callback is called.

5 years agolib-http: http-server-request - Don't destroy anything when request destroy is delayed.
Stephan Bosch [Sat, 14 Mar 2020 11:21:15 +0000 (12:21 +0100)] 
lib-http: http-server-request - Don't destroy anything when request destroy is delayed.

5 years agolib-http: http-server-request - Log reason in http_server_request_abort() debug message.
Stephan Bosch [Fri, 13 Mar 2020 23:30:20 +0000 (00:30 +0100)] 
lib-http: http-server-request - Log reason in http_server_request_abort() debug message.

5 years agolib-http: http-server-connection - Significantly simplify destroying the request...
Stephan Bosch [Mon, 11 Nov 2019 17:47:18 +0000 (18:47 +0100)] 
lib-http: http-server-connection - Significantly simplify destroying the request payload stream.

5 years agolib-http: http-server-response - Fix management of connection idle timeout.
Stephan Bosch [Sun, 17 Nov 2019 23:34:50 +0000 (00:34 +0100)] 
lib-http: http-server-response - Fix management of connection idle timeout.

5 years agolib-http: http-server-response - Add response reference counting API.
Stephan Bosch [Mon, 11 Nov 2019 16:45:35 +0000 (17:45 +0100)] 
lib-http: http-server-response - Add response reference counting API.

Uses request reference counting internally. This is just a convenience API.