Commit graph

24133 commits

Author SHA1 Message Date
Ondřej Kuzník
fa64703e6c ITS#9990 Preserve callbacks added already 2023-02-01 16:56:37 +00:00
Quanah Gibson-Mount
b220ba1077 ITS#9718 - Fix nonportable sed usage 2023-01-30 22:06:06 +00:00
Quanah Gibson-Mount
6a3a71692a ITS#9985 - Fix module name to pw-totp 2023-01-30 15:41:16 +00:00
Howard Chu
801297cb77 ITS#9991 send_ldap_ber: make sure we're only closing our own connection 2023-01-30 14:44:27 +00:00
Ondřej Kuzník
868309c90d ITS#8102 Do not continue if deconfigured during pause 2023-01-30 12:06:24 +00:00
Ondřej Kuzník
fa030ef8dc ITS#9930 Do not reschedule consumers that are shutting down 2023-01-30 10:26:23 +00:00
Ondřej Kuzník
12bf5a95ba ITS#9045 rlock only if there may be other threads
We can't rlock if we've registered ourselves as a writer. We can only
figure that out by checking if we're the thread that initiated the
pause: is the server paused already?
2023-01-23 11:53:36 +00:00
Ondřej Kuzník
5ccbe63246 ITS#9930 Just wait until si_mutex is ready
We're in a much better place now and there is only a single task active
for a given syncinfo_t plus the task that's just scheduled it and is
wrapping up. Any remaining times this wouldn't be true are probably bugs
to be fixed.
2023-01-19 15:21:05 +00:00
Ondřej Kuzník
e6e42642ca ITS#9983 Also fix c_refcnt sequencing 2023-01-19 03:17:59 +00:00
Ondřej Kuzník
0df9d9156a ITS#9983 Rework op->o_refcnt decref sequencing
epoch_append should be called at the point the object is not reachable
anymore, otherwise a thread from a "future" might still access it post
reclamation.
2023-01-19 03:17:59 +00:00
Ondřej Kuzník
bd3b6b679f ITS#9984 Keep listener base around even if not active 2023-01-18 12:57:02 +00:00
Quanah Gibson-Mount
f58f2160ba Fix options for olcIndexHash64
Use cn=config format of TRUE/FALSE instead of slapd.conf format on/off
2023-01-11 17:03:55 +00:00
Howard Chu
e2727bb8ab ITS#9976 doc: ldap_sasl_bind: mention ber_bvfree 2023-01-10 15:14:16 +00:00
Дилян Палаузов
08e1e2c66c typo unsuccesSful, presense/presence, accessSlog 2023-01-09 17:46:36 +00:00
Howard Chu
192282d987 ITS#9957 slapo-dynlist: more explicit config doc 2023-01-09 16:59:43 +00:00
Howard Chu
3ebe6625c1 ITS#9966 slapo-pcache: fix crash in consistency_check 2022-12-25 11:21:32 +00:00
Howard Chu
0acf148af2 ITS#9960 slapo-dynlist: mark internal searches as internal 2022-12-15 10:07:06 +00:00
Howard Chu
1f251fa4e6 ITS#9880 slapo-accesslog: fix reqStart ordering filter
Same as ITS#9358 but for ordering matching rule, not just equality
2022-12-07 14:58:35 +00:00
Quanah Gibson-Mount
10d4461634 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2022-12-05 16:21:51 +00:00
Howard Chu
c8e039aa15 ITS#9929 plug memleaks 2022-12-01 15:39:03 +00:00
Howard Chu
00610ee886 ITS#9121 dynlist: cleanup unused code 2022-12-01 15:39:03 +00:00
Howard Chu
9d53f7ccbc ITS#9929 preserve e_name for memberOf values 2022-12-01 15:39:03 +00:00
Howard Chu
cc79020b42 ITS#9929: more performance tweaks
For simple (non-nested) member compares, avoid unnecessary fetches
of dyngroups that can't match the filter.
cache filter/entry instance info across multiple dyn entries to
avoid refetching each filter entry for each dyngruop test.
2022-12-01 15:39:03 +00:00
Howard Chu
d337ae751f ITS#9929 slapo-dynlist: more performance tweaks
Minimize cost of dynamic lists while still making them filterable:
require their attrs to be explicitly mapped if filtering is to be supported.

Also check config scope in compare op
2022-12-01 15:39:03 +00:00
Howard Chu
31e6efeb07 ITS#9955 liblunicode: fix buffer size in UTF8bvnormalize
output buffer may overrun 1 byte for specially crafted approxMatch search filters.
Not exploitable, no operational or security impact.
2022-12-01 14:58:37 +00:00
Howard Chu
f16ef18fc9 ITS#9916 2022-11-28 23:41:00 +00:00
Howard Chu
139831a5c0 ITS#9916 liblmdb: use alternate MDB_page2 struct for some accesses
fakepage pointers are only guaranteed to be 2-byte aligned. Use a
2-byte aligned struct definition when referencing 2-byte page members
if a page pointer possibly points to a fakepage.
2022-11-28 23:18:56 +00:00
Quanah Gibson-Mount
0c2168993b ITS#9806 2022-11-28 17:51:38 +00:00
Howard Chu
d2fa5806d8 ITS#9806 LMDB page_split: key threshold depends on page size
32 was chosen for page size of 4KB. Not large nough for 16KB pages.
2022-11-28 14:32:33 +00:00
Ondřej Kuzník
512a99b054 ITS#9951 Postpone releasing a connection reference while in cn=monitor 2022-11-24 10:04:42 +00:00
Ondřej Kuzník
e45869dd7e ITS#9947 Fix race in epoch.c and simplify 2022-11-07 10:00:10 +00:00
Howard Chu
5e2fa8a213 ITS#9940 back-mdb: fully init empty DN in tool_entry_get 2022-11-01 17:13:23 +00:00
Ondřej Kuzník
a6f3106afc ITS#9045 Do not share cn=config entries with outside code
config_back_entry_get currently returns the entry directly without
securing the rwlock, which is unsafe. However we can't keep holding it
on return in case the caller decides to hold onto the entry
indefinitely, hence rlock+entry_dup+runlock.
2022-10-31 18:16:42 +00:00
Howard Chu
2316927dc9 ITS#9942 back-mdb: always release entries from Add ops 2022-10-31 17:30:02 +00:00
Ondřej Kuzník
37b2b1ed6d ITS#9598 Do not track olcIncomingConnections in lloadd/test007
Some values we export in cn=monitor are not managed in a single place,
instead, a task exists that gathers a snapshot of the lloadd state and
stores it for monitor consumption. This exposes a race between the test
reading it out and lloadd updating this cached copy. While we still have
to rely on a shell, rather than being intelligent about whether or not
we should emit a readout into search.out or wait and try again (which is
what test004-monitor does), just filter this attribute out.
2022-10-31 16:44:01 +00:00
Nadezhda Ivanova
8c594c36a3 ITS#9941 Fix asyncmeta manpage to clarify that only round-robin scheduling is used for target connections. 2022-10-27 12:58:43 +03:00
Howard Chu
e85a624663 ITS#9899 fix use of non-standard u_char/u_int types 2022-10-26 16:33:30 +01:00
Howard Chu
41f87c53ec ITS#9937 libldap: fix put_simple_filter() with invalid filter
Add check for trivial input string.
2022-10-20 12:38:02 +01:00
Howard Chu
cbdeb374cf ITS#9936 slapcat/slapschema: fix free of subtree cmdline option
Must dup arg since subtree may also come from parsed URL.
2022-10-20 12:27:01 +01:00
Howard Chu
3991a0d191 ITS#9935 slapd UTF8StringValidate: fix read past end of string
Harmless, length check at end of routine would have returned an
error anyway.
2022-10-20 12:20:00 +01:00
Howard Chu
04eded74fe ITS#9930 fix cn=config / write_waiter deadlock
If a writer is blocked and a config pause is pending, just
close the blocked connection. Don't wait around for a slow
client to catch up.
2022-10-14 15:22:24 +01:00
Connor Smith
6489b6a857 ITS#9925 Fix some ancient #ifdef checks
Use #elif defined(...) for HAVE_WINSOCK and MACOS. All other instances
of these macros use #ifdef or similar. A compiler may warn about them
not being defined.

In libraries/liblber/sockbuf.c, (DOS && PCNFS) and (DOS && NCSA) were
replaced with HAVE_PCNFS and HAVE_NCSA, respectively. It seems logical
to do the same at the only remaining occurrence of DOS, PCNFS, and NCSA.

Use #if HARDCODE_DATA consistently, replacing two instances of #ifdef.
HARDCODE_DATA is always defined, and this way you can set HARDCODE_DATA
to 0 and have it work, rather than it going down the wrong branch and
failing in these two cases.
2022-10-13 03:37:47 +00:00
Ondřej Kuzník
13d9c925dd ITS#9907 Move TLS context cleanup into lload_global_destroy 2022-10-12 17:36:12 +00:00
Howard Chu
572a9a1597 ITS#9931 test scripts: fix BSD vs GNU date syntax 2022-10-11 17:03:34 +01:00
Howard Chu
fb1c0d6214 ITS#9926 test085 additional fix
Git doesn't recreate empty directories, make it explicitly
2022-10-11 15:25:29 +01:00
Howard Chu
5082754f59 ITS#9931 test082 fix sed portability 2022-10-11 15:21:43 +01:00
Howard Chu
62f52807e2 ITS#9931 test scripts: fix BSD vs GNU date syntax 2022-10-11 15:14:54 +01:00
Howard Chu
a858f892b3 ITS#9931 test079: fix ldapsearch invocations 2022-10-11 14:06:46 +01:00
Howard Chu
01cf74be02 ITS#9929 more for prev commit
Don't prevent returning dynamic lists if dynamic groups were part of search.
2022-10-09 16:41:04 +01:00
Howard Chu
a3c7e5076a ITS#9929 dynlist: more for prev commit
Was broken if only dynamic lists were configured, and not groups.
Also, optional config URIs were being ignored.
2022-10-09 15:04:31 +01:00