| Summary: | net/openldap: Update to 2.5.6 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Michael Glaus <michael.glaus> | ||||
| Component: | Individual Port(s) | Assignee: | Xin LI <delphij> | ||||
| Status: | Closed Overcome By Events | ||||||
| Severity: | Affects Only Me | CC: | christian.schaettin, delphij | ||||
| Priority: | --- | Keywords: | needs-patch, needs-qa | ||||
| Version: | Latest | Flags: | koobs:
maintainer-feedback?
(delphij) |
||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| URL: | https://www.openldap.org/software/release/changes.html | ||||||
| Bug Depends on: | 257374 | ||||||
| Bug Blocks: | |||||||
| Attachments: |
|
||||||
|
Description
Michael Glaus
2021-07-30 12:52:54 UTC
(In reply to michael.glaus from comment #0) Yes, but this is currently blocked by bug 257374 @Xin Will this be a new set of openldap25-* ports, or an update through a minor version? (In reply to Xin LI from comment #1) Thank you for the answer. Is there any time estimate when the port will be updated? Created attachment 227441 [details]
WIP patch
Note that the current OpenLDAP usage of kqueue have some issues (long story short: kqueue descriptors shouldn't be close()'ed). I've patched locally but am too busy to work on this for upcoming week.
diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c
index 9048d25fe..c3b9cb24f 100644
--- a/servers/slapd/daemon.c
+++ b/servers/slapd/daemon.c
@@ -228,19 +228,14 @@ static slap_daemon_st *slap_daemon;
} while (0)
/* a kqueue fd obtained before a fork can't be used in child process.
- * close it and reacquire it.
+ * reacquire it.
*/
# define SLAP_SOCK_INIT2() do { \
- close(slap_daemon[0].sd_kq); \
slap_daemon[0].sd_kq = kqueue(); \
} while (0)
# define SLAP_SOCK_DESTROY(t) do { \
int kq_i; \
- if (slap_daemon[t].sd_kq > 0) { \
- close(slap_daemon[t].sd_kq); \
- slap_daemon[t].sd_kq = -1; \
- } \
for (kq_i = 0; kq_i < 2; kq_i++) { \
if (slap_daemon[t].sd_kqc[kq_i].sd_changes != NULL) { \
ch_free(slap_daemon[t].sd_kqc[kq_i].sd_changes); \
@@ -3155,10 +3150,6 @@ loop:
connections_shutdown();
}
-#ifdef HAVE_KQUEUE
- close( slap_daemon[tid].sd_kq );
-#endif
-
if ( LogTest( LDAP_DEBUG_ANY )) {
int t = ldap_pvt_thread_pool_backload( &connection_pool );
Debug( LDAP_DEBUG_ANY,
|