Quanah Gibson-Mount
788e9592ba
Happy New Year!
2022-01-07 18:40:00 +00:00
Ondřej Kuzník
6cc6ec2f72
ITS#9600 Do not hold locks while calling into back-monitor
2021-10-05 11:05:25 +01:00
Ondřej Kuzník
4588f4e528
ITS#9597 Fix NoD support
2021-08-13 16:01:13 +01:00
Ondřej Kuzník
b66a62799d
ITS#9597 Send Notice of Disconnection when shutting down a client connection
2021-08-13 10:57:13 +01:00
Ondřej Kuzník
a186fd70ab
ITS#8747 Do not continue reading if connection is dying
2021-05-10 18:49:13 +00:00
Ondřej Kuzník
4f4997551d
ITS#8747 Avoid epoch recursion in connection_write_cb
2021-05-10 18:49:13 +00:00
Ondřej Kuzník
e36d1e31c5
ITS#9001 manual changes
2021-03-30 15:46:40 +01:00
Quanah Gibson-Mount
efaf9a4a17
Happy New Year!
2021-01-11 19:25:53 +00:00
Ondřej Kuzník
1f6d8611a3
Implement read throttling when writes backlog
...
Reject operations in such a case with LDAP_BUSY. If read_event feature
is on, just stop reading from the connection. However this could still
result in deadlocks in reasonable situations. Need to figure out better
ways to make it safe and still protect ourselves.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
68b163fca9
Introduce mutex checks
...
Switched off unless thread debugging is on, but still useful for static
analysis.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
62a806b243
Thread error checking
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
1328777a85
Fix a SASL channel-binding leak
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
58d66a3946
Fix race between unlinking a client and processing incoming data
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
b2e57148fa
Shorten to one epoch per PDU
...
A full read cycle can take a very long time if the limits are set too
high.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
dc1961cb15
Epoch based memory reclamation
...
Similar to the algorithm presented in
https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-579.pdf
Not completely lock-free at the moment. Also the problems with epoch
based memory reclamation are still present - a thread actively observing
an epoch getting stuck will prevent LloadConnections and LloadOperations
being freed, potentially running out of memory.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
4b3d21146b
Introduce SASL support for upstream connections
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
b4f43ed8e1
Refactor backend reset
...
Reuse the connection walking facility in timeout management.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
a7f8f58a63
expose task functions for invalidation
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
7f22bac4ac
Introduce a new connection status - gentle shutdown
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
5c1245de06
Manage c_sasl_bind_mech on upstream
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
8bc7650a7c
Clean ups and renames to coexist with slapd
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
0cfd4fca4d
Make timeouts common and redo connection read timeouts
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
a0cd41ecd2
Upstream TLS support
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
063981a06d
Respond to timeout events properly
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
ccf75c96c4
Update write timeout to timeval
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
b801ca17cb
Rename macros and symbols to lloadd
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
8d93e0baa0
Unify connection locking and I/O
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
1740f36bfc
Fix emfile handling
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
30e538e836
Realign logging levels.
...
Stats now logs all operations, stats2 additionally intermediate messages
(search entries).
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
05f2ac2583
Unify logging output
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
495dfa69a2
Split client/upstream PDU size limits
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
58a880bc7b
Convert backend and upstream management to use CIRCLEQ.
...
This alone doesn't make the server do a round robin.
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
77f2c57132
Reset c_*ber after freeing and check c_pendingber race
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
ea7e40b8e7
Shutdown handling
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
fba4bed6e2
connection reference counting
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
c0d254a4ce
Do not leak BerElements
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
5bdb4e1570
Update maximum number or parameters for backend
2020-11-17 17:42:44 +00:00
Ondřej Kuzník
bf66b48fe3
Upstream connection setup
2020-11-17 17:15:40 +00:00
Ondřej Kuzník
1a45249054
Update connection init
2020-11-17 17:15:40 +00:00
Ondřej Kuzník
46ddb4039c
lloadd ahoy
2020-11-17 17:15:40 +00:00