Commit graph

13050 commits

Author SHA1 Message Date
Ondřej Kuzník
2a5eff41b0 ITS#9953 Check for push replication 2023-02-17 21:07:16 +00:00
Howard Chu
4a9e449b24 ITS#9997 syncrepl: plug potential leak in changelog search
Note this is only used with changelog, which is nonstandard and obsolete.
2023-02-17 15:52:35 +00:00
Sam James
b260205fd5 ITS#10011 servers: fix -Wstrict-prototypes
For more information, see LWN.net [0] or LLVM's Discourse [1], the Gentoo wiki [2],
or the (new) c-std-porting mailing list [3].

[0] https://lwn.net/Articles/913505/
[1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213
[2] https://wiki.gentoo.org/wiki/Modern_C_porting
[3] hosted at lists.linux.dev.

Signed-off-by: Sam James <sam@gentoo.org>
2023-02-10 23:22:54 +00:00
Howard Chu
69f52354d2 ITS#9993 fix online_indexer termination/cleanup 2023-02-01 20:30:22 +00:00
Ondřej Kuzník
fa64703e6c ITS#9990 Preserve callbacks added already 2023-02-01 16:56:37 +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
Дилян Палаузов
08e1e2c66c typo unsuccesSful, presense/presence, accessSlog 2023-01-09 17:46:36 +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
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
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
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
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
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
Ondřej Kuzník
d8f4b1a492 ITS#9926 Drop unneeded symlinks from source 2022-10-06 14:50:55 +01: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
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
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
Ondřej Kuzník
034225ff5c ITS#9907 Some tools consider abandoned global data a leak 2022-09-15 17:33:39 +01:00
Ondřej Kuzník
aa209e4647 ITS#9892 Free operation data at the end of a transaction 2022-09-15 17:33:39 +01:00
Ondřej Kuzník
3ad71958ee ITS#9878 We no longer have to trigger li->li_conn_expire_task twice 2022-09-08 08:31:22 +01:00
Ondřej Kuzník
fa8cb31eb9 ITS#9878 One-shot tasks are now possible with interval == 0 2022-09-08 08:31:22 +01:00
Ondřej Kuzník
29c3a443d8 ITS#9878 Treat tasks with interval == 0 as one-shot
Some tasks need to be run once at a given time or the earliest
opportunity, also currently, using interval == 0 on a task triggers
a busy loop inside the scheduling task, halting progress for other
tasks and any other work usually serviced by that thread.

This change deals with both issues at the same time.
2022-09-08 08:31:22 +01:00
Ondřej Kuzník
294a16c10c ITS#9853 Allow inheriting lastbind precision from the frontend 2022-09-07 15:01:15 +01:00
Ondřej Kuzník
a033c1e74e ITS#9913 Protect code in clients_destroy and tier_destroy 2022-09-02 16:49:45 +01:00
Ondřej Kuzník
1942bc20a8 ITS#9339 Free remembered cookies on syncinfo free 2022-09-02 16:49:45 +01:00
Ondřej Kuzník
9014e8bb81 ITS#9907 Do not redefine variables inherited from slapd 2022-09-02 12:56:25 +01:00
Howard Chu
a6fa0450f6 ITS#9912 slapd: urls comes from optarg, not allocated
May leak on Windows if set in registry. Don't care.
2022-09-02 04:04:33 +01:00
Ondřej Kuzník
f3ed13fad2 ITS#6035 Plug olcAuthIDRewrite cn=config leak 2022-09-01 10:09:27 +01:00