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
96d0eec034
ITS#8747 Use the same message when upstream connection is ready
2021-08-13 10:57:13 +01:00
Howard Chu
973a93036e
ITS#9122 expose SLAP_TOOL_DRYRUN to backends
...
Most backends should no-op everything. back-config will
still parse and process all config directives.
2021-08-13 02:09:48 +00:00
Ondřej Kuzník
c4ac5b319b
ITS#9538 Serialise CSN assignment in slapo-accesslog
2021-08-12 20:48:09 +00:00
Howard Chu
f6a61ab7fe
ITS#8958 back-mdb: checkpoint online indexer
...
Save old/new indexmasks to allow processing to resume if slapd is
stopped and restarted. Save last entryID indexed to allow resume
after restart or pool pause.
2021-08-12 18:59:06 +00:00
Howard Chu
5ad6ab3568
ITS#8958 rename ldap_pvt_thread_pool_pausecheck()
...
to ..._pausewait() since that's what it really does.
Add ..._pausequery() that only checks and doesn't wait.
2021-08-12 18:59:06 +00:00
Nadezhda Ivanova
81ed9e0d0e
ITS#9628 Fix incorrect c_n_ops_executing counter when backend is asynchronous
2021-08-12 15:57:49 +00:00
Aapo Romu
5b11591db9
ITS#9630 back-sql: Close transactions after bind and search
2021-08-12 14:40:51 +01:00
Aapo Romu
ab3db65388
ITS#9629 back-sql: Add support for ppolicy opattrs
...
So that ppolicy rules are applied
2021-08-12 14:40:40 +01:00
Quanah Gibson-Mount
2a6e24e924
ITS#9463 - Fix typo
2021-08-08 02:01:31 +00:00
HAMANO Tsukasa
2aaaf98315
ITS#9463 cumulative fix for back-wt
...
- LDAP MODRDN handling
- support paged response
- add wt_extended
- add config emit
- wt_key_read() return WT_NOTFOUND if not found key.
- add ext_candidates()
- fix idlcache session name
- fix warning
- don't reuse idlcache cursor
- set correct pid when modrdn with newsuperior
- fix condition bug
- fix send_search_entry() error handling
- fix for referral handling
- fix for readonly mode
- fix sizelimit response
- support modrdn
- improve modify handling
- clear ancestor idlcache
- fix for multi-DIT
- IMPORTANT CHANGES: Compatibility is broken with previous database table, please restore database from LDIF.
- checking for scope=children
- sort dn2idl result
- fix cursor leak
- support db_open with readonly mode
- add wt_tool_entry_delete
- initialize comp variable
- support referrals
- implement wt_tool_dn2id_get() and wt_tool_entry_modify() for slapadd -w
- skip redundant scan, and more debug message
- fix OID conflict with back-passwd
- no need to close session, It may cause SEGV.
- fixed wt_dn2entry for empty DN
- support multiple database
- Construct wiredtiger's config parameter. It allow multi line wtconfig settings
- add idlcache
- fix concurrent modification to a entry with multi values
- prevent to add duplicate dn entry
- suppress error message "search_near failed: WT_NOTFOUND"
- update Debug statements
- back-wt does not support subtree rename
- fix for @ondra review
- update slapd-wt.5 and warning for mode option
- add back-wt test into test target
- add scope checking
2021-08-07 19:27:43 +00:00
Howard Chu
d877251b2c
(From ITS#8958) allow 2.5 slapcat to read 2.4 DB
2021-08-06 22:50:23 +01:00
Howard Chu
6237ae17db
ITS#9611 bconfig: canonicalize structuralObjectclass
2021-08-06 22:13:47 +01:00
Ondřej Kuzník
94b361ed45
ITS#9620 Freeze cache while we search
2021-08-06 18:51:51 +00:00
Ondřej Kuzník
60c219243b
ITS#9620 Turn mi_cache_mutex into a RW lock
2021-08-06 18:51:51 +00:00
Ondřej Kuzník
8d235737c8
ITS#9620 Only persistent entries are stored in the cache
2021-08-06 18:51:51 +00:00
Ondřej Kuzník
1cf39a8568
ITS#5344 Record and maintain new DN on ModRDN ops
2021-08-06 15:30:47 +01:00
Howard Chu
9f4de680e3
ITS#6949 add support for logfile rotation
...
Uses debuglevel, not sysloglevel.
2021-08-05 15:45:19 +00:00
Quanah Gibson-Mount
27a5424371
ITS#9625 - Fix handling when pwdChangedTime is not present
...
Add a check to see if pwdChangedTime was actually present on the entry. If not, skip the expiry check.
Additionally change the debug log statement to TRACE instead of ANY, as the message is informational.
2021-08-04 19:58:01 +00:00
Ondřej Kuzník
8b24104d1a
ITS#9624 Read state while holding relevant mutex, cache if needed
2021-08-04 15:30:36 +00:00
Ondřej Kuzník
71de64fac4
ITS#9624 Make sure we reset only for Binds
2021-08-04 15:30:36 +00:00
Ondřej Kuzník
7c17f06197
ITS#9624 We've already checked before we call request_extended
2021-08-04 15:30:36 +00:00
Howard Chu
e700dc03ee
ITS#9615 move CheckModule from policy to overlay config
...
And fix errmsg FIXME
2021-08-03 16:31:49 +00:00
Howard Chu
a54f99858c
ITS#6138 let frontend handle all exop responses
2021-08-03 15:19:49 +00:00
Howard Chu
66ed15a288
ITS#6138 FIx exop handler to ignore SLAPD_ASYNCOPs
2021-08-03 15:19:49 +00:00
Howard Chu
658e526bb0
ITS#6138 drop unnecessary use of o_abandon
2021-08-03 15:19:49 +00:00
Howard Chu
795add7b96
ITS#6138 use SLAPD_NO_REPLY for persistent searches
...
The particular code doesn't matter, any result besides
SLAP_CB_CONTINUE always halts overlay/response processing.
2021-08-03 15:19:49 +00:00
Howard Chu
e9e6fd71e1
ITS#6138 don't overwrite rs->sr_err after sending response
2021-08-03 15:19:49 +00:00
Howard Chu
5a61175deb
ITS#6138 add lock flag to connection_op_finish()
2021-08-03 15:19:49 +00:00
Howard Chu
d3bd4aa76d
ITS#6138 don't allow redundant abandon/cancel ops
2021-08-03 15:19:49 +00:00
Howard Chu
bc29154c62
ITS#8649 syncrepl: fix backend selection in glued DBs
2021-08-03 13:10:27 +01:00
Howard Chu
5cd45ec937
ITS#9621 fix for multival with NULL mr
2021-08-02 20:24:58 +01:00
Quanah Gibson-Mount
417accbce4
ITS#9616 - Make example slapd.conf and slapd.ldif files functional
2021-07-30 17:30:19 +00:00
Quanah Gibson-Mount
6cfed41537
ITS#9616 - Always define olcModuleList for slapd-config
2021-07-30 17:29:51 +00:00
Nadezhda Ivanova
6463280d8c
Enable addition of targets to back-asyncmeta via cn=config
2021-07-29 15:05:36 +00:00
Howard Chu
79d33fe40e
ITS#9584 avoid busy-loop while refresh is serialized
2021-07-29 13:28:34 +01:00
Howard Chu
92ea88ec1f
ITS#9569 make reqMod optional in modify ops
2021-07-29 12:02:22 +01:00
Howard Chu
e1c90d0977
ITS#9584 serialize refresh phase
...
Only allow one consumer at a time to perform a refresh on a database.
2021-07-27 16:12:14 +01:00
Howard Chu
2c0707cf13
ITS#9157 save TLS errmsg in ld->ld_error
2021-07-22 15:27:31 +01:00
Howard Chu
81076a7f7c
ITS#8775 for passwordMod, pass real DN thru
...
Since conn->c_dn is the real DN, need to see real DN for <self>
ACLs to work.
2021-07-20 19:27:45 +01:00
Howard Chu
4bd6a6d49d
ITS#6916 unique: internal ops shouldn't have user's controls
2021-07-20 17:54:26 +01:00
Howard Chu
0ae71bafcf
ITS#9608 fix delete of nonexistent sessionlog
2021-07-13 12:10:28 +01:00
Howard Chu
a464a6e98f
ITS#9603 fix IPv6 addrs with tcpd
2021-07-01 16:16:19 +01:00
Ondřej Kuzník
a2e9cb1acd
ITS#7080 Postread control support for back-ldif/config
2021-06-27 17:39:46 +00:00
Ondřej Kuzník
5e4f1e862f
ITS#7080 Move slap_read_controls Debug message to STATS
2021-06-27 17:39:46 +00:00
Ondřej Kuzník
4cd096deff
ITS#9156 Do not spam the logs on account of lastbind
2021-06-21 18:37:30 +00:00
Ondřej Kuzník
9e1a961792
ITS#9581 Implement lastbind precision
2021-06-21 18:37:30 +00:00
Ondřej Kuzník
c7f4a5eb28
ITS#7215 Allow cleanups/commits to fail (once)
...
Some config changes need to be prepared at entry modification time and
then checked/committed at the end. Such a check can fail, so we need to
do this early enough and also commit the opposite change during a revert
step.
The assumption is that the original version is consistent and bconfig
can accurately reconstruct it, so the revert cleanups will not fail and
so all of them get to be run. We set ca->reply.err so that the cleanups
can be made aware and comply with this assumption.
2021-06-21 16:36:06 +00:00
Ondřej Kuzník
4255288ac4
ITS#7215 Postpone index_substr check
2021-06-21 16:36:06 +00:00
Ondřej Kuzník
3dcfffbd00
ITS#9576 Use stored defaults
2021-06-21 16:36:06 +00:00
Ondřej Kuzník
b4afe00942
ITS#9576 Put the used table in ConfigArgs
2021-06-21 16:36:06 +00:00
Ondřej Kuzník
3138c8d5db
ITS#9363 Some missed MAGIC defaults
2021-06-21 16:36:06 +00:00
Ondřej Kuzník
2d78b6274f
ITS#8747 Allow olcBkLloadClientMaxPending in cn=config
2021-06-21 16:36:06 +00:00
Ondřej Kuzník
f016d88786
ITS#9575 Warn when specifying olcPasswordHash in the cn=config entry
2021-06-21 15:32:03 +00:00
Quanah Gibson-Mount
362fbedc51
ITS#8333 - Update internationalISDNNumber for RFC4519
2021-06-15 18:18:03 +00:00
Tero Saarni
3e45c71d29
ITS#9468 do not arm expire timer for connections that are already tainted
2021-06-08 15:41:40 +00:00
Howard Chu
2f880087c9
ITS#9468 always init lc_time and lc_create_time
...
Doesn't cost us anything and guarantees expiry will work if conn_ttl
or idletimeout are configured at a later time.
2021-06-08 15:41:40 +00:00
Howard Chu
4de2314555
ITS#9561 slapd init.c: fix copy/paste error
...
Added in 629cafc98d for ITS#8707
2021-06-03 21:28:36 +01:00
Ondřej Kuzník
0ea78fde20
ITS#6467 Indicate which operation is lost if we fail to add log entry
2021-06-03 10:23:43 +01:00
Ondřej Kuzník
726a203133
ITS#6467 Free uuid list after we're finished
2021-06-03 10:22:14 +01:00
Howard Chu
3ca790514f
ITS#9557 back-mdb: fix mdb_waitfixup for candidate-based searches
...
Off-by-one left last scope unrefreshed
2021-05-27 12:48:36 +01:00
Nadezhda Ivanova
b92b03373b
ITS#9555 Changed alignment in the default definitions block to tabs instead of spaces
2021-05-25 15:01:51 +00:00
Nadezhda Ivanova
915e515970
ITS#9555 Introduce a default operations timeout for back-asyncmeta
2021-05-25 15:01:51 +00:00
Ondřej Kuzník
5943a33456
ITS#6467 Adjust log message
2021-05-15 10:01:51 +01:00
Ondřej Kuzník
c216ef53cd
ITS#6467 Reset avl root after releasing the tree
2021-05-15 10:01:18 +01:00
Ondřej Kuzník
6977635c3e
ITS#6467 Deal with modRDNs
2021-05-13 20:14:55 +00:00
Ondřej Kuzník
c2edf41fff
ITS#9552 Record reqNewDN for modRDNs
2021-05-13 20:14:55 +00:00
Ondřej Kuzník
df27b2bbfd
ITS#6467 Plug a shutdown leak
2021-05-13 20:14:55 +00:00
Ondřej Kuzník
b0b0fc8c67
ITS#9551 Handle empty DN in extended filters
2021-05-13 18:33:25 +00:00
Howard Chu
07e79471f9
ITS#9534,#9324 fix refresh startup
...
Partially revert 5aa7e0f69b
Use an explicit timeout for Refresh response. Need to give time
for the provider to reply.
2021-05-13 18:29:22 +01:00
Ondřej Kuzník
efb84b3e9b
ITS#6467 Handle syncrepl searches with base of ""
2021-05-11 18:19:22 +00:00
Tero Saarni
255a37461e
ITS#9468 fixed typos
2021-05-11 15:05:50 +00:00
Tero Saarni
06ed787137
ITS#9468 summarize discussion about rebind-as-user
2021-05-11 15:05:50 +00:00
Tero Saarni
97217da5e3
ITS#9468 back-ldap: Return disconect if rebind cannot be done
2021-05-11 15:05:50 +00:00
Ondřej Kuzník
cba03e49a4
ITS#8747 Protect shutdown code while workers are still alive
2021-05-10 18:49:13 +00:00
Ondřej Kuzník
8e4d7ffe79
ITS#8747 Remove c_private from LloadConnection
2021-05-10 18:49:13 +00:00
Ondřej Kuzník
1cb65102ce
ITS#8747 Keep an explicit backend pointer
2021-05-10 18:49:13 +00:00
Ondřej Kuzník
3802fa9217
ITS#8747 Fix lloadd builds --without-tls
2021-05-10 18:49:13 +00: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
2c1bb42f01
ITS#8747 Do not observe an epoch while calling dispose_cb
2021-05-10 18:49:13 +00:00
Ondřej Kuzník
c472639170
Report mbe->register_entry() errors
2021-05-10 18:49:13 +00:00
Ondřej Kuzník
de0caafe96
ITS#8721 Do not update ri_last unless we're actually retrying
2021-05-07 19:26:19 +00:00
Quanah Gibson-Mount
5c8bd550dd
ITS#9548 - Ensure modules in the pwmods directory get installed
2021-05-07 16:08:58 +00:00
Howard Chu
4993b34365
ITS#9544 fix #9511 patch
...
Include was erroneously deleted. partially reverts 6cdfc85fc5
2021-05-04 10:04:20 +01:00
Howard Chu
7b2c9aed3c
ITS#9541 fix typo in daemon.c
...
From commit ee49c83976
2021-04-30 09:24:32 +01:00
Howard Chu
145325dcc1
ITS#9537 slap_op_time: avoid duplicates across restarts
...
Initialize last_ times with current time sec & usec
2021-04-27 17:10:51 +01:00
Howard Chu
0c90b8c001
ITS#9531 back-mdb: fix delete of context entry
...
We already checked if attempting to delete the suffix, but
didn't skip the parent check as we should have.
2021-04-26 18:27:40 +01:00
Howard Chu
2cda679e3b
ITS#9534 fix prev commit
2021-04-24 15:47:03 +01:00
Howard Chu
87099f8e0d
ITS#9534 additional
...
Partially revert 0b20b92ec1
Reuse the client conn for delta-sync startup
2021-04-24 15:45:58 +01:00
Howard Chu
8a72584bd1
ITS#9534 fix delta-sync startup
...
When transitioning from plain refresh to delta mode, don't
wait for a reschedule, go immediately.
Partially reverts f2740c79b3
2021-04-24 15:38:02 +01:00
Ondřej Kuzník
9bbbbf5f6a
ITS#9502 TCP_USER_TIMEOUT for lloadd
2021-04-22 21:52:12 +00:00
Nadezhda Ivanova
6e3f6639b9
ITS#9502 Implement tcp-user-timeout support for back-ldap/(async)meta
2021-04-22 21:52:12 +00:00
Howard Chu
c63216abdc
ITS#9529 pcache: update refresh_time after query refresh
2021-04-21 22:32:42 +01:00
Howard Chu
6d285a33f8
ITS#9529 pcache: fix consistency_check locking
2021-04-21 22:15:27 +01:00
Ondřej Kuzník
72caa56a8c
ITS#8707 systemd notifications from lloadd
2021-04-20 22:54:19 +00:00
SATOH Fumiyasu
f3501534d4
ITS#8707 - Add slapd.service and lloadd.service for systemd
2021-04-20 22:54:19 +00:00
Ondřej Kuzník
629cafc98d
ITS#8707 Add systemd service notification support
2021-04-20 22:54:19 +00:00
Howard Chu
8f392914ca
ITS#9526 slapd-mdb tools: fix cursor init check
2021-04-18 17:51:30 +01:00
Ondřej Kuzník
ae77343d67
ITS#9520 Refuse parallelism if not compiled with libargon2
2021-04-14 18:17:59 +01:00
Ondřej Kuzník
8b353df0e2
ITS#9517 Add module args support to slappaswd and relevant docs
2021-04-14 18:17:59 +01:00
Ondřej Kuzník
d0eae40961
Expose slapTool for use elsewhere
2021-04-14 18:17:59 +01:00
Ondřej Kuzník
c29f0315c2
ITS#7786 Allow parsing of invalid entries when schema checking off
2021-04-12 16:28:49 +00:00
Ondřej Kuzník
afa19de2cb
ITS#9295 Handle add+delete on a single-value attr
2021-04-12 15:15:02 +00:00
Ondřej Kuzník
932cc56817
ITS#9519 Add namedObject draft and schema
2021-04-09 18:33:48 +00:00
Ondřej Kuzník
dde1bdf48f
ITS#9511 Fix terminator comment
2021-04-07 16:07:36 +01:00
Quanah Gibson-Mount
6cdfc85fc5
ITS#9511 - Stop plugin.c from generating an error when running make depend even if slapi is not enabled
2021-04-02 21:12:53 +00:00
Quanah Gibson-Mount
cd7127309e
Cleanup on example slapd.conf that's shipped to highlight the ability to temporarily modify a running slapd process even when using a slapd.conf file
2021-04-01 23:28:28 +00:00
Quanah Gibson-Mount
0ad73f8717
ITS#9437 - Fix slapo-otp overlay name
2021-03-31 23:12:00 +00:00
Howard Chu
94fbd96826
ITS#9513 Change all lutil time structs to use nanoseconds
...
Instead of microseconds
2021-03-31 18:53:50 +00:00
Howard Chu
9ac3909ead
ITS#9513 Intercept liblber error printer
...
And add time and thread ID prefix to all debug output
2021-03-31 18:53:50 +00:00
Howard Chu
01e5664c7c
ITS#9513 Cleanup debug output
...
Avoid splitting single lines across multiple Debug invocations
2021-03-31 18:53:50 +00:00
Ondřej Kuzník
80cfd8117b
ITS#7786 Try to synthesize missing attribute types
2021-03-31 16:14:25 +00:00
Ondřej Kuzník
fe7e4697e9
ITS#9437 Implement TOTP drift correction
2021-03-31 14:57:56 +00:00
Ondřej Kuzník
87f3bad8bb
ITS#9437 Add otp_2fa overlay
2021-03-31 14:57:56 +00:00
Ondřej Kuzník
e36d1e31c5
ITS#9001 manual changes
2021-03-30 15:46:40 +01:00
Ondřej Kuzník
51c444b065
ITS#8698 Defer policy checker cleanup if it's a pw extop
2021-03-30 02:10:19 +00:00
Ondřej Kuzník
0df931b98b
ITS#8698 Only remove our own callback
2021-03-30 02:10:19 +00:00
Quanah Gibson-Mount
adb16cbd64
ITS#9470 - Fix typos
2021-03-26 16:28:39 +00:00
Howard Chu
e6bf5795ac
ITS#9498 replace asserts
...
Just no-op if trying to close a connection that's already being closed.
2021-03-26 13:46:56 +00:00
Howard Chu
829263c454
ITS#8847 move lutil_sockaddrstr() to ldap_pvt_sockaddrstr()
2021-03-26 13:45:26 +00:00
Ondřej Kuzník
8382d3c380
ITS#9470 Add homedir overlay
2021-03-26 01:27:09 +00:00
Ondřej Kuzník
61e9b6d37a
ITS#9347 Log which policy attribute is invalid
2021-03-25 23:57:07 +00:00
Ondřej Kuzník
109d967ff2
ITS#7788 Hashing should be independent of a useable policy
2021-03-25 19:43:18 +00:00
Howard Chu
c6e521fa98
ITS#8950 move txn setup to frontend
...
Backends should just execute when invoked, frontend should
exclusively take care of queueing for txn setup.
2021-03-23 14:58:09 +00:00
Howard Chu
f9cb918d05
ITS#9504 back-ldap: set default idassert mode as documented
2021-03-22 17:50:32 +00:00
Howard Chu
f1ebb45695
ITS#9251 make max filter depth configurable
2021-03-22 17:31:13 +00:00
Howard Chu
da57548e52
ITS#9498 More connection streamlining
...
Since c_mutex is now always inited at startup time, we no longer
need connections_mutex to protect from uninit'd structures
2021-03-22 17:12:30 +00:00
Howard Chu
5398d44a36
ITS#8967 additional check
2021-03-22 09:18:32 +00:00
Howard Chu
a3935c7249
ITS#8967 back-mdb: fix adminlimit check
2021-03-22 08:36:49 +00:00
Howard Chu
f2740c79b3
ITS#8589 syncrepl: defer on REFRESH_REQUIRED
...
Schedule a new retry instead of immediate looping back. This
will also prevent locking up cn=config replication.
2021-03-21 17:41:19 +00:00
Howard Chu
cc2834c87a
ITS#9152 autoca: no-op if DB doesn't exist yet
2021-03-21 17:28:50 +00:00
Howard Chu
7a4e70f3e6
ITS#8577 don't allow setting logDB to current DB
2021-03-21 17:20:05 +00:00
Howard Chu
696d5656fa
ITS#9241 all ARG_DN configs must also use ARG_QUOTE
2021-03-21 16:47:43 +00:00
Howard Chu
cbb6441c30
ITS#8726 check newly registered loglevels immediately
...
See if they were requested as soon as they are successfully registered.
2021-03-21 16:36:30 +00:00
Howard Chu
bb6844e296
ITS#7295 don't init TLS threads by default
...
Do it explicitly in servers
2021-03-21 15:26:57 +00:00
Howard Chu
7ff1f42f7e
ITS#8246 frontend and config DBs are unique
...
Also make sure config_add_internal errmsg is returned to slapadd
2021-03-21 14:58:22 +00:00
Ondřej Kuzník
cf67fc22f3
ITS#9016 Do not forget to close directory handle
2021-03-19 12:48:09 +00:00
Ondřej Kuzník
3c12993fbe
ITS#9016 Check confdir is empty before generating from scratch
2021-03-18 21:07:43 +00:00
Ondřej Kuzník
eafcc405e2
ITS#6830 Enable NO-USER-MODIFICATION on ppolicy attributes
2021-03-18 17:32:30 +00:00
Ondřej Kuzník
4d6b01802a
ITS#9051 Check for more success result codes
2021-03-18 16:36:56 +00:00
Ondřej Kuzník
152c12d4d3
ITS#9051 Do not remove callback on intermediate responses
2021-03-18 16:36:56 +00:00
Ondřej Kuzník
0c8afb036a
ITS#9444 Manage sr_ref/sr_matched flags accordingly
...
send_ldap_response() clears them immediately even if we never attached
the data to be freed, so when we reinstate them, the flags are gone and
the next send_ldap_response() doesn't consider freeing them.
2021-03-18 15:34:26 +00:00
Ondřej Kuzník
f78887390a
ITS#9444 Pass original message when chain-return-error is set
2021-03-18 15:34:26 +00:00
Howard Chu
616e5bf1c3
ITS#9498 connection_next: fix validity check
2021-03-11 09:31:41 +00:00
Quanah Gibson-Mount
c7763538de
ITS#9453 - Make pw argon2 official
2021-03-10 23:21:08 +00:00
Howard Chu
28a04795f6
ITS#9479 asyncmeta: fix hanging ops
...
Two separate problems
1) ops that never got sent because of a pending Bind
2) errors that never got returned because of an active op
2021-03-10 00:18:59 +00:00
Quanah Gibson-Mount
180f5b62cb
ITS#9482 - Fix possiblity of uninitialized data being returned in slapi plugin
2021-03-09 20:49:42 +00:00
Quanah Gibson-Mount
891fc1e117
ITS#9481 - Fix cases when IPv6 support is disabled
2021-03-08 18:10:41 +00:00
Paul B. Henson
b91491a8ee
ITS#9481 - fix proxyp when IPv6 disabled
2021-03-08 18:10:41 +00:00
Konstantin Andreev
f2481c8d88
ITS#9446 - Correctly parse gecos field
2021-03-04 19:05:23 +00:00
Howard Chu
17abe7e710
ITS#9491 plug memctx leak - frontend already clears it
2021-03-04 17:03:20 +00:00
Ondřej Kuzník
99efeda06f
ITS#9288 Do no change tainted status on failed retry
...
It seems refcnt == 0 connections are tainted only if they were just
removed from cache.
2021-03-02 20:00:55 +00:00
Ondřej Kuzník
6bfdb0342d
ITS#8215 Some more slapmodify manpage tweaks
2021-03-02 19:08:50 +00:00
Quanah Gibson-Mount
05b1b4688c
ITS#9480 - Update example configurations to include monitor db
2021-03-02 16:12:05 +00:00
Ondřej Kuzník
34b95c520e
ITS#9438 Add remoteauth overlay
2021-02-25 22:11:39 +00:00
Ondřej Kuzník
38ea26b35f
ITS#7262 Retrieve the policy from the correct backend
2021-02-24 22:15:48 +00:00
Tero Saarni
0eacc4a793
ITS#9197 back-ldap: added task that prunes expired connections
2021-02-24 22:07:48 +00:00
Howard Chu
22fd5a8924
ITS#9477 fix regression from #9339
...
Must provide plain IP address for TCP wrapper
2021-02-24 19:59:51 +00:00
Paul B. Henson
146889f205
ITS#9419 Add support for HAProxy proxy protocol v2
2021-02-24 18:11:09 +00:00
Paul B. Henson
dcca73370b
Move slap_sockaddrstr into liblutil
2021-02-24 18:11:09 +00:00
Ondřej Kuzník
5fa0a651f5
revert: libevent 2.0 support
2021-02-24 18:11:09 +00:00
Ondřej Kuzník
a3c49b8709
ITS#9293 Store microseconds in pwdGraceUseTime
2021-02-24 17:03:22 +00:00
Ondřej Kuzník
d1799a5023
ITS#7596 Report correct number of grace authentications left
2021-02-24 17:03:22 +00:00
Ondřej Kuzník
ee564399df
ITS#9282 Check all csns
2021-02-18 17:31:32 +00:00
Quanah Gibson-Mount
5b2988ca54
ITS#9327 - Use STRIP_OPTS for lloadd
2021-02-17 19:55:25 +00:00
Quanah Gibson-Mount
ce2c5173bd
ITS#9161 - Fix various typos
...
Fix a number of different typos across the code base
2021-02-17 18:42:46 +00:00
Howard Chu
e5bd309fb2
ITS#9458 must alloc new conn->c_sb after freeing old one
2021-02-08 00:46:58 +00:00
Howard Chu
3539fc3321
ITS#9454 fix issuerAndThisUpdateCheck
2021-02-06 20:52:06 +00:00
Howard Chu
c0c1bd319e
ITS#9456 fix prev commit
...
No need to reschedule the task inside asyncmeta_timeout_loop.
Frontend already does it if task was init'd with a valid interval.
2021-02-06 15:45:22 +00:00
Howard Chu
7c129c8d62
ITS#9456 fix asyncmeta_timeout_loop()
2021-02-06 13:47:55 +00:00
Howard Chu
e3fd030aef
Fixup debug msgs
2021-02-05 23:55:27 +00:00
Ondřej Kuzník
e030e5eadd
Do not redefine lload_change everywhere
2021-02-04 18:07:25 +00:00
Quanah Gibson-Mount
6c469f0793
ITS#7790 - Rename config.h
...
Rename slapd/config.h to slap-config.h and update accordingly
Rename lloadd/config.h to lload-config.h and update accordingly
2021-02-02 21:26:39 +00:00
Ondřej Kuzník
1aecfe0b8f
ITS#6518 Only remove proxyauthz control if we generated one ourselves
2021-02-01 17:22:35 +00:00
Ondřej Kuzník
4da575d451
ITS#7766 Fix previous commit
2021-02-01 16:51:56 +00:00
Ondřej Kuzník
ac70b01bc4
ITS#6518 When using proxyauthz, replace existing control - (async)meta
2021-02-01 16:43:06 +00:00
Ondřej Kuzník
4a02ae132d
ITS#6518 When using proxyauthz, replace existing control
2021-02-01 16:04:52 +00:00
Ondřej Kuzník
20ec128916
ITS#9179 Always use effective identity when proxying
2021-02-01 14:22:45 +00:00
Howard Chu
0da38889e1
ITS#8541 fix data race in syncprov removal
2021-01-31 15:23:22 +00:00
Ondřej Kuzník
84db7cb21f
ITS#7766 Include all relevant attributes in diff
2021-01-28 20:59:17 +00:00
David Barchiesi
0799f58533
ITS#9442 Add negregex constraint type for not allowing values based on a regex.
2021-01-28 18:54:03 +00:00
Howard Chu
b979b57dcf
ITS#7468 slapd-relay: set real op->o_bd on successful bind
2021-01-21 13:23:34 +00:00
Ondřej Kuzník
58dfef012c
ITS#7439 Do not free parts of original filter
2021-01-20 11:39:17 +00:00
Ondřej Kuzník
a99e435200
Return success in glue destroy
2021-01-20 11:37:01 +00:00
Ondřej Kuzník
fc1bcaf9de
ITS#5941 manage callbacks to coexist with other overlays
2021-01-18 14:36:16 +00:00
Howard Chu
9d440e3d28
ITS#8307 slapo-accesslog additional check
2021-01-13 16:58:42 +00:00
Howard Chu
85b68aa5e2
ITS#8307 slapo-dds: mark internal searches as do_not_cache
2021-01-13 16:39:24 +00:00
Howard Chu
eefe12366c
ITS#8307 fix slapo-accesslog: noop if logDB isn't open yet
...
Add be_flag for DB OPEN status
2021-01-13 16:35:43 +00:00
Quanah Gibson-Mount
efaf9a4a17
Happy New Year!
2021-01-11 19:25:53 +00:00
Howard Chu
dfe1f6494d
ITS#9428 fix cancel exop
2020-12-20 21:31:15 +00:00
Howard Chu
27428b96f5
ITS#9427 fix issuerAndThisUpdateCheck
2020-12-16 18:52:42 +00:00
Howard Chu
354e678ce9
ITS#9426 dynlist: don't add unexpanded groups at end of search
...
if pagedResults is in use
2020-12-15 22:55:47 +00:00
Howard Chu
777098aa9d
ITS#9424 fix serialNumberAndIssuerSerialCheck
2020-12-14 19:03:27 +00:00
Ondřej Kuzník
d9f20cc09e
ITS#9363 Set appropriate defaults where needed
2020-12-08 19:11:22 +00:00
Ondřej Kuzník
0c3b8a3524
ITS#9363 Store defaults in ArgConf
2020-12-08 19:11:22 +00:00
Ondřej Kuzník
356715fd08
ITS#9363 Zero out values on config delete
2020-12-08 19:11:22 +00:00
Ondřej Kuzník
a44ba27410
ITS#9363 Unset readonly on delete
2020-12-08 19:11:22 +00:00
Quanah Gibson-Mount
d28e231a69
ITS#9420 - Fix memory leak in modrdn
...
Fix provided by grapvar@gmail.com
2020-12-08 16:05:35 +00:00
Howard Chu
4e801a9aaf
ITS#9416 more componentFilterMatch garbage
2020-12-03 19:30:53 +00:00
Howard Chu
6ae9bf167d
ITS#9014 fix component match parsing errors
2020-12-01 21:29:19 +00:00
Howard Chu
e394bcfa76
ITS#9413 fix slap_parse_user
2020-12-01 19:05:06 +00:00
Howard Chu
42d42421a8
ITS#9412 fix AVA_Sort on invalid RDN
2020-12-01 19:04:54 +00:00
Howard Chu
2aef56cd24
ITS#9411 fix thisUpdate check
2020-12-01 19:04:46 +00:00
Howard Chu
0c856f1b64
ITS#9410 remove assert in csnValidate
2020-11-30 16:42:17 +00:00
Howard Chu
b1c1a5eb51
ITS#9409 saslauthz: use slap_sl_free in prev commit
2020-11-30 16:20:18 +00:00
Howard Chu
0e09c857b6
ITS#9409 saslauthz: use ch_free on normalized DN
2020-11-30 11:45:46 +00:00
Howard Chu
a11b719c96
ITS#9408 fix vrfilter double-free
2020-11-28 15:54:17 +00:00
Howard Chu
5c27f9569f
ITS#9406 fix debug msg
2020-11-27 14:48:26 +00:00
Howard Chu
fa0f97545c
ITS#9406, #9407 remove saslauthz asserts
2020-11-27 14:37:10 +00:00
Howard Chu
12523b0f29
ITS#9400 back-ldap: fix prev commit
2020-11-24 16:08:29 +00:00
Howard Chu
dbe69684a1
ITS#9404 fix serialNumberAndIssuerCheck
...
Tighten validity checks
2020-11-23 17:14:00 +00:00
Howard Chu
1ea12260d5
ITS#9400 back-ldap: fix retry binds
...
Regression from fix for ITS#7403
2020-11-23 05:14:30 +00:00
Ondřej Kuzník
323bb1d9a4
Handle upstream rejecting a StartTLS exop
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
0abf3f5bc9
Flush cache before calling dispose()
...
This needs to be confirmed:
Location based atomics do not imply a full fence of the same level. So
to get the code in dispose() read the actual data, it seems we need to
initiate a fence.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
dfbed44b3e
Do not accept requests with msgid == 0
...
It is used internally to identify pinned operations and should not be
encountered over the wire.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
dfbf25d579
Honour keepalive settings for upstreams
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
25fff30e39
Let the last thread dispose of pending references
...
If we're idle, there might be objects pending cleanup for the last two
epochs. Unless another thread comes in and checks into a new epoch or we
shut down, they will linger forever.
If one of the objects was a connection, it wouldn't get closed and be
stuck in CLOSE_WAIT state, potentially refusing another ligitimate
connection if its socket address were to match the one we're yet to
close.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
41a74b4689
Introduce the notion of experimental features
2020-11-17 17:58:15 +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
959ff07911
Make sure read event is not enabled while upstream_bind is scheduled
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
b49f51879f
Implement client pending operation limits
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
f832024e90
Straighten up client pending op tracking
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
aab6af1c4e
Switch to LDAP_OTHER when handling a lost upstream.
...
LDAP_UNAVAILABLE signals "the server is shutting down or a subsystem
necessary to complete the operation is offline", so intelligent clients
tend to infer the connection will not be usable any more, which is not
the case here.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
81ead4a5f4
Fix races with backend_retry
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
78f25a3c91
A failed cn=config ADD needs to be handled
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
05e0906f8b
Fix backend starttls= setting being ignored
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
9444dfc991
Simplify pause handling
...
Gets rid of a race where unpause+pause fired in a quick succession would
miss the event_base_loopbreak() call.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
25a4d684fc
Permit lloadd to share slapd TLS context
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
63efcd63eb
Reuse connection walking in monitor for upstreams too
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
3bd2d7483e
Reuse connection_walk for client matters
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
638f8a2cbc
Tighten checks on retry management
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
2a813cb06d
Clean up backend_retry and its callers.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
241f65b9e0
Fix a race in managing b_dns_req
2020-11-17 17:58:15 +00:00
Nadezhda Ivanova
f4a2fdd400
Fix a new backend not being operational if added via cn=config
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
00806dd32a
libevent 2.0 support
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
f1ea9da3a0
Reorganise listener support in cn=config and module startup
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
bd7a6f67de
Introduce lload_open_new_listener
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
757c8beda7
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.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
93d20459f1
Make io-threads modification startup-only
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
db3961f489
Record connect task to allow canceling it
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
6b10c2988e
Record pending DNS resolution to be able to cancel
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
b039e7c1b0
Keep a reference around for the bind task
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
0314f95d7f
Work around libevent base not waking up on shutdown
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
db939eeb86
Protect operation when abandoning
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
07401e5829
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.
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
1ea5ee1f01
Do not unlock upstream without referencing its dying ops
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
b1c098ad76
Module shutdown support
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
05d6aae40f
Rework lloadd startup
2020-11-17 17:58:15 +00:00
Ondřej Kuzník
362f16479a
Deal with no backends being configured
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
4c355deb3d
Record the backend name
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
3a6b399580
Reflect backend URI change in cn=monitor
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
bace795984
Enable dynamic configuration
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
70ae4af60a
Fix interaction of graceful connection closing and SASL bind support
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
d954216f93
Change log level for unsolicited response
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
edfb3d73d6
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).
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
cfe9065824
Introduce infra to handle config changes
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
a7f8f58a63
expose task functions for invalidation
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
bf9f99dd88
Split backend destruction from resetting it
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
ca646cd02d
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.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
bea9bfb33d
Move op counting to operation_init
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
0011684760
Cleanup sasl_bind_mech resets
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
9bd90a741c
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.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
485a169758
Implement pause handlers
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
db5966f60d
More meaningful connection type reporting
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
22818e8583
Module shutdown
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
dab9054794
Rework monitor startup
...
Takes care of dealing with monitor not present/not configured and fix a
monitor startup issue.
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
678fa100f7
Convert the load balancer into a backend
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
7771606984
Use slapd's config.h
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
2d33032504
Lload cn=monitor initial implementation
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
7a69017f6f
Resolve authzid after a successful auth
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
c957bb9199
Add SASL documentation on SASL handling
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
205db0bf94
Reset pin on simple bind
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
cbc0ec04c0
Fix pinned operation forwarding
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
2ba833680f
Operation abandon related fixes
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
Ondřej Kuzník
c52328f63d
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.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
72ca711271
Do not compare c_auth when NULL
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
ee893ae147
Handle EXTERNAL mechanism
...
Will only try to extract the TLS client certificate name if used during
the last handshake.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
003a35c62f
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.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
21a22d1bf1
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.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
ddd1acc327
Passing the client directly will allow clearing it from op
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
1fd7249f8e
RFC4511 says Binds do not abandon, send a "reset" bind instead
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
66f06f3fa9
Initial extension to upstream selection
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
c91d61cf19
Do not copy files from slapd, just link them
2020-11-17 17:58:14 +00:00
Nadezhda Ivanova
37cd5f21d5
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.
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
ea83627929
request_abandon RFC4511 conformance
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
5cbd30ded9
Log timed out connections more clearly
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
c386d527ca
Protect currently impossible branch
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
aecc62c08e
Introduce operation timeout machinery
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
8ba44630ef
Factor out abandon message preparation
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
1790018488
Record operation activity times
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
a0ec50b33d
Upstream queues ordered by c_connid
...
In preparation for operation timeout events.
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
b4d7e8af8d
We should just be able to call backend_retry
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
f87127dfa2
Set up TLS context for backends
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
1b46f86627
Client TLS support
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
5ee4b67673
Move bind handling to bind.c
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
abab7e46ad
Move client related functions to client.c
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
f27517af95
Rename bind handlers
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
11f474385a
Exop support
...
At the moment, no exops are processed internally, all are passed on
unchanged.
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
7cd531c069
Improve spec conformance, logging
2020-11-17 17:58:14 +00:00
Ondřej Kuzník
c60ef73984
Rework upstream conn setup
2020-11-17 17:58:13 +00:00
Ondřej Kuzník
0b3531066d
Refactor operation_send_reject
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
d22db36cea
lload_libevent_init can fail and wants to log
2020-11-17 17:55:46 +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
cfeb4d82a3
Set binding state after we have dropped all ops
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
5fcef01d62
Switch from a global mutex
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
96b7619afc
Do not unlock client unless we are destroying it
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
362d550328
Do not crash when closing both client and upstream
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
532fc1bf98
Shorten time operation_mutex is locked
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
e03c9e6fb4
Stop processing if we freed the client
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
f7cf34e69c
Reset connection state on abandon
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
6140cdf6f8
Handle a client connection disconnected from op
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
d4225924bc
CLOSING is another potential state we could be in
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
0ad91e0546
Do not back off until we get a failure
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
cda8411c48
Close up the race
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
31074213f7
TENTATIVE: communicate more for op destroy race
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
622b87d5e8
Make ready only when still alive
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
16010e5e16
More logging improvements
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
7b7f9724c4
Avoid a deadlock with client
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
7b413f9ed4
Update docs and defaults
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
7046444327
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.
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
65def94380
More logging improvements
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
1dd0e5131a
Only one bind at a time
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
33a993553d
Unblock the client when we can't find an upstream
...
If we can't find an upstream, we keep the client around, so it needs to
be unblocked.
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
95df8a1ec8
Adjust backend operation counting
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
baf1feab82
Handle asynchronous connect properly
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
46fe014378
Make sure operation stays alive when we process it
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
0ff462b619
Fix issues in bind response handling
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
545198c70d
Simplify abandon processing
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
88390159a1
On connection shutdown, free op from the correct side
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
37cff37305
Manage connection refcnt better
2020-11-17 17:55:46 +00:00
Ondřej Kuzník
af7ce80c85
Remember and clear bind status correctly
2020-11-17 17:55:46 +00:00