]>
git.ipfire.org Git - thirdparty/openldap.git/log
Ondřej Kuzník [Wed, 4 Apr 2018 15:36:28 +0000 (16:36 +0100)]
Reorganise listener support in cn=config and module startup
Ondřej Kuzník [Wed, 4 Apr 2018 15:32:53 +0000 (16:32 +0100)]
Introduce lload_open_new_listener
Ondřej Kuzník [Wed, 4 Apr 2018 15:29:36 +0000 (16:29 +0100)]
Switch to ldap_parse_url_ext
This simplifies port parsing in the end. Also pass the url to
ldap_open_listener in anticipation of incremental listener config.
Ondřej Kuzník [Wed, 4 Apr 2018 15:37:55 +0000 (16:37 +0100)]
Make io-threads modification startup-only
Ondřej Kuzník [Wed, 28 Mar 2018 09:29:42 +0000 (10:29 +0100)]
Record connect task to allow canceling it
Ondřej Kuzník [Wed, 28 Mar 2018 09:19:14 +0000 (10:19 +0100)]
Record pending DNS resolution to be able to cancel
Ondřej Kuzník [Wed, 28 Mar 2018 09:16:24 +0000 (10:16 +0100)]
Keep a reference around for the bind task
Ondřej Kuzník [Mon, 26 Mar 2018 12:28:38 +0000 (13:28 +0100)]
Work around libevent base not waking up on shutdown
Ondřej Kuzník [Fri, 23 Mar 2018 16:19:34 +0000 (16:19 +0000)]
Protect operation when abandoning
Ondřej Kuzník [Fri, 23 Mar 2018 16:16:44 +0000 (16:16 +0000)]
Implement runtime monitor (un)registration
Unregistration is a hack and we shoould either make the subsystems into
an entry (if monitor allows subentry generation) or implement subsystem
unregistration in back-monitor.
Ondřej Kuzník [Tue, 20 Mar 2018 17:25:11 +0000 (17:25 +0000)]
Do not unlock upstream without referencing its dying ops
Ondřej Kuzník [Tue, 20 Mar 2018 17:21:22 +0000 (17:21 +0000)]
Module shutdown support
Ondřej Kuzník [Fri, 16 Mar 2018 13:08:08 +0000 (13:08 +0000)]
Rework lloadd startup
Ondřej Kuzník [Fri, 16 Mar 2018 13:05:21 +0000 (13:05 +0000)]
Deal with no backends being configured
Ondřej Kuzník [Fri, 16 Mar 2018 12:41:37 +0000 (12:41 +0000)]
Record the backend name
Ondřej Kuzník [Thu, 5 Apr 2018 10:34:20 +0000 (11:34 +0100)]
Reflect backend URI change in cn=monitor
Nadezhda Ivanova [Wed, 21 Feb 2018 09:27:33 +0000 (11:27 +0200)]
Enable dynamic configuration
Ondřej Kuzník [Fri, 23 Feb 2018 13:03:21 +0000 (13:03 +0000)]
Fix interaction of graceful connection closing and SASL bind support
Ondřej Kuzník [Wed, 21 Feb 2018 14:06:00 +0000 (14:06 +0000)]
Change log level for unsolicited response
Ondřej Kuzník [Wed, 21 Feb 2018 13:51:51 +0000 (13:51 +0000)]
Fix operation status tracking.
An operation is rejected iff it has to be dropped before we can find an
upstream for it (unless we handle it ourselves, that is). At that point
it is failed unless completed successfully.
This makes a difference for multi-stage binds which alternate between
'failed' (we are waiting on a server response) and 'completed' (server
did what we asked them to, waiting on client to continue).
Ondřej Kuzník [Tue, 20 Feb 2018 15:45:35 +0000 (15:45 +0000)]
Introduce infra to handle config changes
Ondřej Kuzník [Tue, 20 Feb 2018 15:14:09 +0000 (15:14 +0000)]
expose task functions for invalidation
Ondřej Kuzník [Mon, 19 Feb 2018 14:22:40 +0000 (14:22 +0000)]
Split backend destruction from resetting it
Ondřej Kuzník [Wed, 14 Feb 2018 15:48:53 +0000 (15:48 +0000)]
Introduce a new connection status - gentle shutdown
Ondřej Kuzník [Wed, 14 Feb 2018 15:44:51 +0000 (15:44 +0000)]
Fix operation counts
Trying to abandon an operation does not automatically make it completed,
it might have failed already but we're just racing to reach the client
to record that.
Ondřej Kuzník [Wed, 14 Feb 2018 15:43:16 +0000 (15:43 +0000)]
Move op counting to operation_init
Ondřej Kuzník [Thu, 8 Feb 2018 23:47:35 +0000 (23:47 +0000)]
Cleanup sasl_bind_mech resets
Ondřej Kuzník [Thu, 8 Feb 2018 23:44:31 +0000 (23:44 +0000)]
Fix a race on bind response processing.
During response processing, an upstream connection could be marked ready
after a different bind had already been allocated to it, thus allowing
two binds to be in progress on the same connection.
Ondřej Kuzník [Wed, 7 Feb 2018 12:38:40 +0000 (12:38 +0000)]
Implement pause handlers
Ondřej Kuzník [Wed, 7 Feb 2018 12:33:31 +0000 (12:33 +0000)]
More meaningful connection type reporting
Ondřej Kuzník [Wed, 7 Feb 2018 12:30:58 +0000 (12:30 +0000)]
Module shutdown
Ondřej Kuzník [Wed, 7 Feb 2018 10:29:20 +0000 (10:29 +0000)]
Rework monitor startup
Takes care of dealing with monitor not present/not configured and fix a
monitor startup issue.
Nadezhda Ivanova [Mon, 5 Feb 2018 09:04:02 +0000 (11:04 +0200)]
Convert the load balancer into a backend
Nadezhda Ivanova [Thu, 1 Feb 2018 15:24:48 +0000 (17:24 +0200)]
Use slapd's config.h
Nadezhda Ivanova [Thu, 25 Jan 2018 11:19:05 +0000 (13:19 +0200)]
Lload cn=monitor initial implementation
Ondřej Kuzník [Wed, 24 Jan 2018 17:48:29 +0000 (17:48 +0000)]
Update tests to support lloadd as a module
Ondřej Kuzník [Thu, 18 Jan 2018 14:46:24 +0000 (14:46 +0000)]
Resolve authzid after a successful auth
Ondřej Kuzník [Wed, 17 Jan 2018 15:31:11 +0000 (15:31 +0000)]
Add SASL documentation on SASL handling
Ondřej Kuzník [Wed, 17 Jan 2018 15:30:24 +0000 (15:30 +0000)]
Reset pin on simple bind
Ondřej Kuzník [Wed, 17 Jan 2018 15:29:58 +0000 (15:29 +0000)]
Fix pinned operation forwarding
Ondřej Kuzník [Wed, 17 Jan 2018 15:27:14 +0000 (15:27 +0000)]
Operation abandon related fixes
Ondřej Kuzník [Wed, 17 Jan 2018 15:16:05 +0000 (15:16 +0000)]
Manage c_sasl_bind_mech on upstream
Ondřej Kuzník [Tue, 16 Jan 2018 17:43:20 +0000 (17:43 +0000)]
Clear c_auth on every bind request
For a new bind request, this is obvious, for SASL bind requests, we do
not know the final identity until we have finished handling it, make
sure it stays empty until then.
Ondřej Kuzník [Tue, 16 Jan 2018 17:32:37 +0000 (17:32 +0000)]
Do not compare c_auth when NULL
Ondřej Kuzník [Wed, 13 Dec 2017 17:51:20 +0000 (17:51 +0000)]
Handle EXTERNAL mechanism
Will only try to extract the TLS client certificate name if used during
the last handshake.
Ondřej Kuzník [Wed, 13 Dec 2017 17:39:42 +0000 (17:39 +0000)]
SASL bind support
Introduces pinned operations. When SASL bind finishes, we might still
have to maintain a link between the client an an upstream for future
bind operations if we got a SASL Bind in Progress result code. We zero
out the msgids and remember a server-unique identifer on the client and
the relevant operation that lets us retrieve that link again. This
operation is reclaimed just like anything else when connections drop.
Hopefully, this should work for LDAP TXN and VC Exop support with SASL
later as well since it allows for many-to-many links to exist.
Ondřej Kuzník [Wed, 13 Dec 2017 17:34:59 +0000 (17:34 +0000)]
Refactor request parsing and sending.
We have to do most of out processing before we send the request over to
the upstream. If we don't, we might be too late and the response might
have arrived already.
Ondřej Kuzník [Wed, 13 Dec 2017 16:09:26 +0000 (16:09 +0000)]
Passing the client directly will allow clearing it from op
Ondřej Kuzník [Wed, 13 Dec 2017 16:03:36 +0000 (16:03 +0000)]
RFC4511 says Binds do not abandon, send a "reset" bind instead
Ondřej Kuzník [Wed, 13 Dec 2017 15:56:10 +0000 (15:56 +0000)]
Initial extension to upstream selection
Ondřej Kuzník [Fri, 19 Jan 2018 17:12:49 +0000 (17:12 +0000)]
Do not copy files from slapd, just link them
Nadezhda Ivanova [Thu, 11 Jan 2018 15:43:18 +0000 (17:43 +0200)]
Enable compilation of the load balancer as a module
To compile the balancer as a slapd module, pass --enable-balancer=mod to ./configure
Use --enable-balancer(=yes) to compile as standalone server.
Nadezhda Ivanova [Mon, 18 Dec 2017 10:53:39 +0000 (12:53 +0200)]
Clean ups and renames to coexist with slapd
Ondřej Kuzník [Wed, 13 Dec 2017 15:26:49 +0000 (15:26 +0000)]
Update test suite
Ondřej Kuzník [Wed, 13 Dec 2017 12:17:23 +0000 (12:17 +0000)]
request_abandon RFC4511 conformance
Ondřej Kuzník [Wed, 22 Nov 2017 14:01:30 +0000 (14:01 +0000)]
Log timed out connections more clearly
Ondřej Kuzník [Wed, 22 Nov 2017 13:15:54 +0000 (13:15 +0000)]
Protect currently impossible branch
Ondřej Kuzník [Wed, 22 Nov 2017 13:05:11 +0000 (13:05 +0000)]
Introduce operation timeout machinery
Ondřej Kuzník [Wed, 22 Nov 2017 12:59:21 +0000 (12:59 +0000)]
Factor out abandon message preparation
Ondřej Kuzník [Wed, 22 Nov 2017 12:56:53 +0000 (12:56 +0000)]
Record operation activity times
Ondřej Kuzník [Wed, 22 Nov 2017 12:55:20 +0000 (12:55 +0000)]
Upstream queues ordered by c_connid
In preparation for operation timeout events.
Ondřej Kuzník [Thu, 16 Nov 2017 13:34:40 +0000 (13:34 +0000)]
Make timeouts common and redo connection read timeouts
Ondřej Kuzník [Wed, 22 Nov 2017 11:03:33 +0000 (11:03 +0000)]
We should just be able to call backend_retry
Ondřej Kuzník [Thu, 16 Nov 2017 12:34:21 +0000 (12:34 +0000)]
Set up TLS context for backends
Ondřej Kuzník [Mon, 25 Sep 2017 10:17:04 +0000 (11:17 +0100)]
Client TLS support
Ondřej Kuzník [Mon, 25 Sep 2017 10:15:59 +0000 (11:15 +0100)]
Upstream TLS support
Ondřej Kuzník [Thu, 16 Nov 2017 14:50:10 +0000 (14:50 +0000)]
Respond to timeout events properly
Ondřej Kuzník [Thu, 16 Nov 2017 12:39:51 +0000 (12:39 +0000)]
Update write timeout to timeval
Ondřej Kuzník [Wed, 27 Sep 2017 10:49:39 +0000 (11:49 +0100)]
Move bind handling to bind.c
Ondřej Kuzník [Wed, 27 Sep 2017 10:33:28 +0000 (11:33 +0100)]
Move client related functions to client.c
Ondřej Kuzník [Wed, 27 Sep 2017 10:01:17 +0000 (11:01 +0100)]
Rename bind handlers
Ondřej Kuzník [Thu, 28 Sep 2017 09:13:24 +0000 (10:13 +0100)]
Rename macros and symbols to lloadd
Ondřej Kuzník [Mon, 25 Sep 2017 10:09:04 +0000 (11:09 +0100)]
Exop support
At the moment, no exops are processed internally, all are passed on
unchanged.
Ondřej Kuzník [Mon, 25 Sep 2017 10:02:00 +0000 (11:02 +0100)]
Improve spec conformance, logging
Ondřej Kuzník [Mon, 25 Sep 2017 09:45:07 +0000 (10:45 +0100)]
Rework upstream conn setup
Ondřej Kuzník [Fri, 22 Sep 2017 10:26:26 +0000 (11:26 +0100)]
Refactor operation_send_reject
Ondřej Kuzník [Fri, 22 Sep 2017 10:27:36 +0000 (11:27 +0100)]
lload_libevent_init can fail and wants to log
Ondřej Kuzník [Fri, 22 Sep 2017 09:24:52 +0000 (10:24 +0100)]
Unify connection locking and I/O
Ondřej Kuzník [Mon, 17 Jul 2017 16:05:26 +0000 (17:05 +0100)]
Add a load test
Ondřej Kuzník [Mon, 17 Jul 2017 14:13:52 +0000 (15:13 +0100)]
Set binding state after we have dropped all ops
Ondřej Kuzník [Mon, 17 Jul 2017 09:56:06 +0000 (10:56 +0100)]
Switch from a global mutex
Ondřej Kuzník [Fri, 14 Jul 2017 12:47:30 +0000 (13:47 +0100)]
Do not unlock client unless we are destroying it
Ondřej Kuzník [Thu, 13 Jul 2017 16:08:50 +0000 (17:08 +0100)]
Do not crash when closing both client and upstream
Ondřej Kuzník [Wed, 12 Jul 2017 10:58:32 +0000 (11:58 +0100)]
Shorten time operation_mutex is locked
Ondřej Kuzník [Wed, 12 Jul 2017 08:03:49 +0000 (09:03 +0100)]
Stop processing if we freed the client
Ondřej Kuzník [Tue, 11 Jul 2017 12:08:53 +0000 (13:08 +0100)]
Reset connection state on abandon
Ondřej Kuzník [Tue, 11 Jul 2017 12:08:21 +0000 (13:08 +0100)]
Handle a client connection disconnected from op
Ondřej Kuzník [Mon, 10 Jul 2017 09:23:39 +0000 (10:23 +0100)]
CLOSING is another potential state we could be in
Ondřej Kuzník [Mon, 10 Jul 2017 09:21:35 +0000 (10:21 +0100)]
Do not back off until we get a failure
Ondřej Kuzník [Mon, 10 Jul 2017 12:40:03 +0000 (13:40 +0100)]
Close up the race
Ondřej Kuzník [Fri, 7 Jul 2017 15:00:47 +0000 (16:00 +0100)]
TENTATIVE: communicate more for op destroy race
Ondřej Kuzník [Fri, 7 Jul 2017 14:56:32 +0000 (15:56 +0100)]
Make ready only when still alive
Ondřej Kuzník [Mon, 3 Jul 2017 15:37:35 +0000 (16:37 +0100)]
More logging improvements
Ondřej Kuzník [Mon, 3 Jul 2017 09:41:37 +0000 (10:41 +0100)]
Avoid a deadlock with client
Ondřej Kuzník [Mon, 3 Jul 2017 09:05:59 +0000 (10:05 +0100)]
Update docs and defaults
Ondřej Kuzník [Fri, 30 Jun 2017 09:10:29 +0000 (10:10 +0100)]
Do not read on the last iteration.
When the pdu processing limit is hit, we still attempt to read another
PDU. If we succeed, the ber_get_next call in the read callback will
abort since a full PDU is already present.
Ondřej Kuzník [Fri, 30 Jun 2017 09:10:21 +0000 (10:10 +0100)]
More logging improvements
Ondřej Kuzník [Tue, 27 Jun 2017 15:37:59 +0000 (16:37 +0100)]
Fix emfile handling
Ondřej Kuzník [Tue, 27 Jun 2017 15:35:21 +0000 (16:35 +0100)]
Realign logging levels.
Stats now logs all operations, stats2 additionally intermediate messages
(search entries).
Ondřej Kuzník [Tue, 27 Jun 2017 14:34:44 +0000 (15:34 +0100)]
Only one bind at a time