]> git.ipfire.org Git - thirdparty/openldap.git/log
thirdparty/openldap.git
4 years agoReorganise listener support in cn=config and module startup
Ondřej Kuzník [Wed, 4 Apr 2018 15:36:28 +0000 (16:36 +0100)] 
Reorganise listener support in cn=config and module startup

4 years agoIntroduce lload_open_new_listener
Ondřej Kuzník [Wed, 4 Apr 2018 15:32:53 +0000 (16:32 +0100)] 
Introduce lload_open_new_listener

4 years agoSwitch to ldap_parse_url_ext
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.

4 years agoMake io-threads modification startup-only
Ondřej Kuzník [Wed, 4 Apr 2018 15:37:55 +0000 (16:37 +0100)] 
Make io-threads modification startup-only

4 years agoRecord connect task to allow canceling it
Ondřej Kuzník [Wed, 28 Mar 2018 09:29:42 +0000 (10:29 +0100)] 
Record connect task to allow canceling it

4 years agoRecord pending DNS resolution to be able to cancel
Ondřej Kuzník [Wed, 28 Mar 2018 09:19:14 +0000 (10:19 +0100)] 
Record pending DNS resolution to be able to cancel

4 years agoKeep a reference around for the bind task
Ondřej Kuzník [Wed, 28 Mar 2018 09:16:24 +0000 (10:16 +0100)] 
Keep a reference around for the bind task

4 years agoWork around libevent base not waking up on shutdown
Ondřej Kuzník [Mon, 26 Mar 2018 12:28:38 +0000 (13:28 +0100)] 
Work around libevent base not waking up on shutdown

4 years agoProtect operation when abandoning
Ondřej Kuzník [Fri, 23 Mar 2018 16:19:34 +0000 (16:19 +0000)] 
Protect operation when abandoning

4 years agoImplement runtime monitor (un)registration
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.

4 years agoDo not unlock upstream without referencing its dying ops
Ondřej Kuzník [Tue, 20 Mar 2018 17:25:11 +0000 (17:25 +0000)] 
Do not unlock upstream without referencing its dying ops

4 years agoModule shutdown support
Ondřej Kuzník [Tue, 20 Mar 2018 17:21:22 +0000 (17:21 +0000)] 
Module shutdown support

4 years agoRework lloadd startup
Ondřej Kuzník [Fri, 16 Mar 2018 13:08:08 +0000 (13:08 +0000)] 
Rework lloadd startup

4 years agoDeal with no backends being configured
Ondřej Kuzník [Fri, 16 Mar 2018 13:05:21 +0000 (13:05 +0000)] 
Deal with no backends being configured

4 years agoRecord the backend name
Ondřej Kuzník [Fri, 16 Mar 2018 12:41:37 +0000 (12:41 +0000)] 
Record the backend name

4 years agoReflect backend URI change in cn=monitor
Ondřej Kuzník [Thu, 5 Apr 2018 10:34:20 +0000 (11:34 +0100)] 
Reflect backend URI change in cn=monitor

4 years agoEnable dynamic configuration
Nadezhda Ivanova [Wed, 21 Feb 2018 09:27:33 +0000 (11:27 +0200)] 
Enable dynamic configuration

4 years agoFix interaction of graceful connection closing and SASL bind support
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

4 years agoChange log level for unsolicited response
Ondřej Kuzník [Wed, 21 Feb 2018 14:06:00 +0000 (14:06 +0000)] 
Change log level for unsolicited response

4 years agoFix operation status tracking.
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).

4 years agoIntroduce infra to handle config changes
Ondřej Kuzník [Tue, 20 Feb 2018 15:45:35 +0000 (15:45 +0000)] 
Introduce infra to handle config changes

4 years agoexpose task functions for invalidation
Ondřej Kuzník [Tue, 20 Feb 2018 15:14:09 +0000 (15:14 +0000)] 
expose task functions for invalidation

4 years agoSplit backend destruction from resetting it
Ondřej Kuzník [Mon, 19 Feb 2018 14:22:40 +0000 (14:22 +0000)] 
Split backend destruction from resetting it

4 years agoIntroduce a new connection status - gentle shutdown
Ondřej Kuzník [Wed, 14 Feb 2018 15:48:53 +0000 (15:48 +0000)] 
Introduce a new connection status - gentle shutdown

4 years agoFix operation counts
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.

4 years agoMove op counting to operation_init
Ondřej Kuzník [Wed, 14 Feb 2018 15:43:16 +0000 (15:43 +0000)] 
Move op counting to operation_init

4 years agoCleanup sasl_bind_mech resets
Ondřej Kuzník [Thu, 8 Feb 2018 23:47:35 +0000 (23:47 +0000)] 
Cleanup sasl_bind_mech resets

4 years agoFix a race on bind response processing.
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.

4 years agoImplement pause handlers
Ondřej Kuzník [Wed, 7 Feb 2018 12:38:40 +0000 (12:38 +0000)] 
Implement pause handlers

4 years agoMore meaningful connection type reporting
Ondřej Kuzník [Wed, 7 Feb 2018 12:33:31 +0000 (12:33 +0000)] 
More meaningful connection type reporting

4 years agoModule shutdown
Ondřej Kuzník [Wed, 7 Feb 2018 12:30:58 +0000 (12:30 +0000)] 
Module shutdown

4 years agoRework monitor startup
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.

4 years agoConvert the load balancer into a backend
Nadezhda Ivanova [Mon, 5 Feb 2018 09:04:02 +0000 (11:04 +0200)] 
Convert the load balancer into a backend

4 years agoUse slapd's config.h
Nadezhda Ivanova [Thu, 1 Feb 2018 15:24:48 +0000 (17:24 +0200)] 
Use slapd's config.h

4 years agoLload cn=monitor initial implementation
Nadezhda Ivanova [Thu, 25 Jan 2018 11:19:05 +0000 (13:19 +0200)] 
Lload cn=monitor initial implementation

4 years agoUpdate tests to support lloadd as a module
Ondřej Kuzník [Wed, 24 Jan 2018 17:48:29 +0000 (17:48 +0000)] 
Update tests to support lloadd as a module

4 years agoResolve authzid after a successful auth
Ondřej Kuzník [Thu, 18 Jan 2018 14:46:24 +0000 (14:46 +0000)] 
Resolve authzid after a successful auth

4 years agoAdd SASL documentation on SASL handling
Ondřej Kuzník [Wed, 17 Jan 2018 15:31:11 +0000 (15:31 +0000)] 
Add SASL documentation on SASL handling

4 years agoReset pin on simple bind
Ondřej Kuzník [Wed, 17 Jan 2018 15:30:24 +0000 (15:30 +0000)] 
Reset pin on simple bind

4 years agoFix pinned operation forwarding
Ondřej Kuzník [Wed, 17 Jan 2018 15:29:58 +0000 (15:29 +0000)] 
Fix pinned operation forwarding

4 years agoOperation abandon related fixes
Ondřej Kuzník [Wed, 17 Jan 2018 15:27:14 +0000 (15:27 +0000)] 
Operation abandon related fixes

4 years agoManage c_sasl_bind_mech on upstream
Ondřej Kuzník [Wed, 17 Jan 2018 15:16:05 +0000 (15:16 +0000)] 
Manage c_sasl_bind_mech on upstream

4 years agoClear c_auth on every bind request
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.

4 years agoDo not compare c_auth when NULL
Ondřej Kuzník [Tue, 16 Jan 2018 17:32:37 +0000 (17:32 +0000)] 
Do not compare c_auth when NULL

4 years agoHandle EXTERNAL mechanism
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.

4 years agoSASL bind support
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.

4 years agoRefactor request parsing and sending.
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.

4 years agoPassing the client directly will allow clearing it from op
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

4 years agoRFC4511 says Binds do not abandon, send a "reset" bind instead
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

4 years agoInitial extension to upstream selection
Ondřej Kuzník [Wed, 13 Dec 2017 15:56:10 +0000 (15:56 +0000)] 
Initial extension to upstream selection

4 years agoDo not copy files from slapd, just link them
Ondřej Kuzník [Fri, 19 Jan 2018 17:12:49 +0000 (17:12 +0000)] 
Do not copy files from slapd, just link them

4 years agoEnable compilation of the load balancer as a module
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.

4 years agoClean ups and renames to coexist with slapd
Nadezhda Ivanova [Mon, 18 Dec 2017 10:53:39 +0000 (12:53 +0200)] 
Clean ups and renames to coexist with slapd

4 years agoUpdate test suite
Ondřej Kuzník [Wed, 13 Dec 2017 15:26:49 +0000 (15:26 +0000)] 
Update test suite

4 years agorequest_abandon RFC4511 conformance
Ondřej Kuzník [Wed, 13 Dec 2017 12:17:23 +0000 (12:17 +0000)] 
request_abandon RFC4511 conformance

4 years agoLog timed out connections more clearly
Ondřej Kuzník [Wed, 22 Nov 2017 14:01:30 +0000 (14:01 +0000)] 
Log timed out connections more clearly

4 years agoProtect currently impossible branch
Ondřej Kuzník [Wed, 22 Nov 2017 13:15:54 +0000 (13:15 +0000)] 
Protect currently impossible branch

4 years agoIntroduce operation timeout machinery
Ondřej Kuzník [Wed, 22 Nov 2017 13:05:11 +0000 (13:05 +0000)] 
Introduce operation timeout machinery

4 years agoFactor out abandon message preparation
Ondřej Kuzník [Wed, 22 Nov 2017 12:59:21 +0000 (12:59 +0000)] 
Factor out abandon message preparation

4 years agoRecord operation activity times
Ondřej Kuzník [Wed, 22 Nov 2017 12:56:53 +0000 (12:56 +0000)] 
Record operation activity times

4 years agoUpstream queues ordered by c_connid
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.

4 years agoMake timeouts common and redo connection read timeouts
Ondřej Kuzník [Thu, 16 Nov 2017 13:34:40 +0000 (13:34 +0000)] 
Make timeouts common and redo connection read timeouts

4 years agoWe should just be able to call backend_retry
Ondřej Kuzník [Wed, 22 Nov 2017 11:03:33 +0000 (11:03 +0000)] 
We should just be able to call backend_retry

4 years agoSet up TLS context for backends
Ondřej Kuzník [Thu, 16 Nov 2017 12:34:21 +0000 (12:34 +0000)] 
Set up TLS context for backends

4 years agoClient TLS support
Ondřej Kuzník [Mon, 25 Sep 2017 10:17:04 +0000 (11:17 +0100)] 
Client TLS support

4 years agoUpstream TLS support
Ondřej Kuzník [Mon, 25 Sep 2017 10:15:59 +0000 (11:15 +0100)] 
Upstream TLS support

4 years agoRespond to timeout events properly
Ondřej Kuzník [Thu, 16 Nov 2017 14:50:10 +0000 (14:50 +0000)] 
Respond to timeout events properly

4 years agoUpdate write timeout to timeval
Ondřej Kuzník [Thu, 16 Nov 2017 12:39:51 +0000 (12:39 +0000)] 
Update write timeout to timeval

4 years agoMove bind handling to bind.c
Ondřej Kuzník [Wed, 27 Sep 2017 10:49:39 +0000 (11:49 +0100)] 
Move bind handling to bind.c

4 years agoMove client related functions to client.c
Ondřej Kuzník [Wed, 27 Sep 2017 10:33:28 +0000 (11:33 +0100)] 
Move client related functions to client.c

4 years agoRename bind handlers
Ondřej Kuzník [Wed, 27 Sep 2017 10:01:17 +0000 (11:01 +0100)] 
Rename bind handlers

4 years agoRename macros and symbols to lloadd
Ondřej Kuzník [Thu, 28 Sep 2017 09:13:24 +0000 (10:13 +0100)] 
Rename macros and symbols to lloadd

4 years agoExop support
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.

4 years agoImprove spec conformance, logging
Ondřej Kuzník [Mon, 25 Sep 2017 10:02:00 +0000 (11:02 +0100)] 
Improve spec conformance, logging

4 years agoRework upstream conn setup
Ondřej Kuzník [Mon, 25 Sep 2017 09:45:07 +0000 (10:45 +0100)] 
Rework upstream conn setup

4 years agoRefactor operation_send_reject
Ondřej Kuzník [Fri, 22 Sep 2017 10:26:26 +0000 (11:26 +0100)] 
Refactor operation_send_reject

4 years agolload_libevent_init can fail and wants to log
Ondřej Kuzník [Fri, 22 Sep 2017 10:27:36 +0000 (11:27 +0100)] 
lload_libevent_init can fail and wants to log

4 years agoUnify connection locking and I/O
Ondřej Kuzník [Fri, 22 Sep 2017 09:24:52 +0000 (10:24 +0100)] 
Unify connection locking and I/O

4 years agoAdd a load test
Ondřej Kuzník [Mon, 17 Jul 2017 16:05:26 +0000 (17:05 +0100)] 
Add a load test

4 years agoSet binding state after we have dropped all ops
Ondřej Kuzník [Mon, 17 Jul 2017 14:13:52 +0000 (15:13 +0100)] 
Set binding state after we have dropped all ops

4 years agoSwitch from a global mutex
Ondřej Kuzník [Mon, 17 Jul 2017 09:56:06 +0000 (10:56 +0100)] 
Switch from a global mutex

4 years agoDo not unlock client unless we are destroying it
Ondřej Kuzník [Fri, 14 Jul 2017 12:47:30 +0000 (13:47 +0100)] 
Do not unlock client unless we are destroying it

4 years agoDo not crash when closing both client and upstream
Ondřej Kuzník [Thu, 13 Jul 2017 16:08:50 +0000 (17:08 +0100)] 
Do not crash when closing both client and upstream

4 years agoShorten time operation_mutex is locked
Ondřej Kuzník [Wed, 12 Jul 2017 10:58:32 +0000 (11:58 +0100)] 
Shorten time operation_mutex is locked

4 years agoStop processing if we freed the client
Ondřej Kuzník [Wed, 12 Jul 2017 08:03:49 +0000 (09:03 +0100)] 
Stop processing if we freed the client

4 years agoReset connection state on abandon
Ondřej Kuzník [Tue, 11 Jul 2017 12:08:53 +0000 (13:08 +0100)] 
Reset connection state on abandon

4 years agoHandle a client connection disconnected from op
Ondřej Kuzník [Tue, 11 Jul 2017 12:08:21 +0000 (13:08 +0100)] 
Handle a client connection disconnected from op

4 years agoCLOSING is another potential state we could be in
Ondřej Kuzník [Mon, 10 Jul 2017 09:23:39 +0000 (10:23 +0100)] 
CLOSING is another potential state we could be in

4 years agoDo not back off until we get a failure
Ondřej Kuzník [Mon, 10 Jul 2017 09:21:35 +0000 (10:21 +0100)] 
Do not back off until we get a failure

4 years agoClose up the race
Ondřej Kuzník [Mon, 10 Jul 2017 12:40:03 +0000 (13:40 +0100)] 
Close up the race

4 years agoTENTATIVE: communicate more for op destroy race
Ondřej Kuzník [Fri, 7 Jul 2017 15:00:47 +0000 (16:00 +0100)] 
TENTATIVE: communicate more for op destroy race

4 years agoMake ready only when still alive
Ondřej Kuzník [Fri, 7 Jul 2017 14:56:32 +0000 (15:56 +0100)] 
Make ready only when still alive

4 years agoMore logging improvements
Ondřej Kuzník [Mon, 3 Jul 2017 15:37:35 +0000 (16:37 +0100)] 
More logging improvements

4 years agoAvoid a deadlock with client
Ondřej Kuzník [Mon, 3 Jul 2017 09:41:37 +0000 (10:41 +0100)] 
Avoid a deadlock with client

4 years agoUpdate docs and defaults
Ondřej Kuzník [Mon, 3 Jul 2017 09:05:59 +0000 (10:05 +0100)] 
Update docs and defaults

4 years agoDo not read on the last iteration.
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.

4 years agoMore logging improvements
Ondřej Kuzník [Fri, 30 Jun 2017 09:10:21 +0000 (10:10 +0100)] 
More logging improvements

4 years agoFix emfile handling
Ondřej Kuzník [Tue, 27 Jun 2017 15:37:59 +0000 (16:37 +0100)] 
Fix emfile handling

4 years agoRealign logging levels.
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).

4 years agoOnly one bind at a time
Ondřej Kuzník [Tue, 27 Jun 2017 14:34:44 +0000 (15:34 +0100)] 
Only one bind at a time