Commit graph

24116 commits

Author SHA1 Message Date
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
Howard Chu
a64320d8ab ITS#9929 dynlist: avoid unnecessary search for dynamic lists 2022-10-09 11:51:54 +01:00
Howard Chu
0b14cb97a6 ITS#9926 drop symlinks from homedir testdata
Create them when running the test script instead.
2022-10-06 15:32:39 +00:00
Ondřej Kuzník
d8f4b1a492 ITS#9926 Drop unneeded symlinks from source 2022-10-06 14:50:55 +01:00
Quanah Gibson-Mount
9de1273a63 Merge remote-tracking branch 'origin/mdb.RE/0.9' 2022-10-04 15:50:15 +00:00
Quanah Gibson-Mount
d87d682b6d Prepare for release (0.9.30) 2022-10-04 14:23:03 +00:00
Quanah Gibson-Mount
1f1df15edd ITS#9915 - Clarify quoting should only be used with slapd.conf configurations 2022-10-03 19:15:34 +00:00
Thomas Daniels
1c18f31d1c Remove 'h' and 'p' from options[] in client tools
The options -h and -p got removed from client tools in commit
66af4cfd5d. However, they were still
present in the options[] array in several client tools source files. So,
if one of those tools got executed with -h or -p followed by a value,
this lead to the error "unrecognized option -", without mentioning
which option was problematic. Removing 'h' and 'p' from options[] fixes
this.
2022-10-03 16:51:26 +00:00
Quanah Gibson-Mount
ca7128ad35 ITS#9919 2022-10-03 16:40:10 +00:00
Howard Chu
e640ce282a ITS#9924 slapo-deref: plug memleak
memory alloc'd by bvarray_dup must be freed by bvarray_free, not regular free.
2022-09-29 21:44:25 +00:00
Mike Hommey
abe36745d2 ITS#9919 - Mark infrequently used functions as cold rather than manually putting them in a separate section 2022-09-27 17:30:48 +01:00
Ondřej Kuzník
a779f148a0 ITS#9878 Have refint use interval 0 to schedule its task
Since the task is not rescheduled until a new operation comes in, close
a race where the reschedule chooses to stop it while the new item is
being added.
2022-09-26 17:34:21 +00:00
Quanah Gibson-Mount
b181666eec ITS#9030 2022-09-26 16:52:55 +00:00
Ondřej Kuzník
148204839f ITS#9886 Report time taken to process each syncrepl message 2022-09-26 16:37:14 +00:00
Ondřej Kuzník
9134be7ecc ITS#9886 Maintain si_lastcontact as struct timeval 2022-09-26 16:37:14 +00:00
Howard Chu
0b4098ca90 ITS#9921 fix vlvResult comment 2022-09-26 11:55:27 +01:00
Mike Hommey
4bb20ed082 ITS#9030 - Use sys/cachectl.h rather than asm/cachectl.h on mips
It also contains the cacheflush function declaration.
2022-09-23 02:39:27 +01:00
Ondřej Kuzník
1220282dd5 ITS#8196/ITS#9714 Switch to xorshift 2022-09-19 16:32:39 +00:00