https://bugs.openldap.org/show_bug.cgi?id=8901
--- Comment #7 from Howard Chu <hyc(a)openldap.org> ---
(In reply to Marcelo.DeCastroLoebens from comment #6)
> Thanks for the analysis and workaround provided.
>
> Do you have an opinion about the risk associated with the workaround? Since
> I'm not familiar with the code, that would be very helpful.
>
> I don't have the expertise to comprehensive test slapd in isolation, so I
> would like to know if you imagine possible side effects during "regular"
> usage (not shutdown).
There's no impact during regular use since ldap_pvt_thread_pool_close() is only
called during shutdown.
Actually, just to be more explicit - the sleep(1) should be inserted in
slapd/daemon.c:slapd_daemon_task() right after its call to
ldap_pvt_thread_pool_close(). There's no need to muck with libldap itself.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8901
--- Comment #6 from Marcelo.DeCastroLoebens(a)windriver.com ---
Thanks for the analysis and workaround provided.
Do you have an opinion about the risk associated with the workaround? Since I'm
not familiar with the code, that would be very helpful.
I don't have the expertise to comprehensive test slapd in isolation, so I would
like to know if you imagine possible side effects during "regular" usage (not
shutdown).
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8901
Howard Chu <hyc(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|VERIFIED |CONFIRMED
Resolution|FEEDBACK |---
--- Comment #5 from Howard Chu <hyc(a)openldap.org> ---
The problem is because ldap_pvt_thread_pool_close() doesn't actually know when
the last thread has exited. The last thread does a cond_signal() to tell that
it is exiting, but there's additional time between that and when the thread
actually returns (or calls pthread_exit). And LMDB's own reader_dest function
doesn't execute until the actual pthread_exit occurs. So when
ldap_pvt_thread_pool_close() returns, worker threads may still be running. Then
when backend_shutdown is called, which invokes back-mdb's shutdown and eventual
mdb_env_close(), it may get there before the worker threads have completed, and
so destroy the environment while worker threads are still trying to clear their
reader slots.
A proper fix would require some rewriting of the thread_pool code to track
thread creation and termination explicitly. A workaround for now would be to
insert a sleep(1) at the end of ldap_pvt_thread_pool_close().
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=8901
Howard Chu <hyc(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |Marcelo.DeCastroLoebens@win
| |driver.com
--- Comment #4 from Howard Chu <hyc(a)openldap.org> ---
*** Issue 10513 has been marked as a duplicate of this issue. ***
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9716
Issue ID: 9716
Summary: Fix default guide versions for head and 2.6
Product: OpenLDAP
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: documentation
Assignee: bugs(a)openldap.org
Reporter: quanah(a)openldap.org
Target Milestone: ---
The preamble file needs to be fixed in openldap head and the 2.6 release branch
to be correct.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9009
--- Comment #2 from Quanah Gibson-Mount <quanah(a)openldap.org> ---
head:
• aa02d9f5
by Howard Chu at 2026-05-22T03:51:12+01:00
ITS#9009 slapd-mdb: refix Makefile
RE27:
• 7ae0869b
by Howard Chu at 2026-05-22T19:12:49+00:00
ITS#9009 slapd-mdb: refix Makefile
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10512
Issue ID: 10512
Summary: systemd exec - update to absolute path
Product: OpenLDAP
Version: 2.6.10
Hardware: All
OS: Linux
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: slapd
Assignee: bugs(a)openldap.org
Reporter: daniel(a)iamniz.co.uk
Target Milestone: ---
Could the ExecStart option in the systemd unit file be updated to use a
absolute path?
ERROR:systemctl: slapd.service: Exec is not an absolute path: ExecStart=sh -c
'mkdir -p /run/slapd; \
chown "$SLAPD_USER":"$SLAPD_GROUP" /run/slapd; \
[ -d "$SLAPD_CONF" ] && confflag=-F || confflag=-f; \
exec /usr/sbin/slapd -d0 \
${SLAPD_SERVICES:+-h "$SLAPD_SERVICES"} \
${SLAPD_USER:+-u "$SLAPD_USER"} \
${SLAPD_GROUP:+-g "$SLAPD_GROUP"} \
${SLAPD_CONF:+$confflag "$SLAPD_CONF"} \
$SLAPD_OPTIONS'
ERROR:systemctl: slapd.service: Exec command does not exist: (ExecStart)
sh
ERROR:systemctl: slapd.service: but this does exist: /usr/bin/sh
ERROR:systemctl:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR:systemctl: The SystemD ExecXY commands must always be absolute
paths by definition.
ERROR:systemctl: Oops, 1 executable paths were not found in the current
environment. Refusing.
ERROR:systemctl:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Regards,
Dan Nisbet
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10162
Issue ID: 10162
Summary: Fix for binary attributes data corruption in back-sql
Product: OpenLDAP
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Keywords: needs_review
Severity: normal
Priority: ---
Component: backends
Assignee: bugs(a)openldap.org
Reporter: dex.tracers(a)gmail.com
Target Milestone: ---
Created attachment 1006
--> https://bugs.openldap.org/attachment.cgi?id=1006&action=edit
Fix for binary attributes corruption on backed-sql
I've configured slapd to use back-sql (mariadb through odbc) and observed
issues with the BINARY data retrievals from the database. The length of the
attributes was properly reported, but the correct data inside was always 16384
bytes and after that point - some junk (usually filled-up with AAAAAAAA and
some other attributes data from memory).
During the debugging - I've noticed that:
- The MAX_ATTR_LEN (16384 bytes) is used to set the length of the data for
BINARY columns when SQLBindCol is done inside of the
"backsql_BindRowAsStrings_x" function
- After SQLFetch is done - data in row->cols[i] is fetched up to the specified
MAX_ATTR_LEN
- After SQLFetch is done - the correct data size (greater than MAX_ATTR_LEN) is
represented inside of the row->value_len
I'm assuming that slapd allocates the pointer in memory (row->cols[i]), fills
it with the specified amount of data (MAX_ATTR_LEN), but when forming the
actual attribute data - uses the length from row->value_len and so everything
from 16384 bytes position till row->value_len is just a junk from the memory
(uninitialized, leftovers, data from other variables).
After an investigation, I've find-out that:
- for BINARY or variable length fields - SQLGetData should be used
- SQLGetData supports chunked mode (if length is unknown) or full-read mode if
the length is known
- it could be used in pair with SQLBindCol after SQLFetch (!)
Since we have the correct data length inside of row->value_len, I've just added
the code to the backsql_get_attr_vals() function to overwrite the corrupted
data with the correct data by issuing SQLGetData request. And it worked -
binary data was properly retrieved and reported over LDAP!
My current concerns / help needed - I'm not very familiar with the memory
allocation/deallocation mechanisms, so I'm afraid that mentioned change can
lead to memory corruption (so far not observed).
Please review attached patch (testing was done on OPENLDAP_REL_ENG_2_5_13, and
applied on the master branch for easier review/application).
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=10503
Quanah Gibson-Mount <quanah(a)openldap.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |TEST
Status|IN_PROGRESS |RESOLVED
--- Comment #6 from Quanah Gibson-Mount <quanah(a)openldap.org> ---
head:
• 9b55792b
by Howard Chu at 2026-05-19T16:39:09+00:00
ITS#10503 authzTo: reject member attributes with non-DN syntax
RE27:
• 0c8a5875
by Howard Chu at 2026-05-19T22:36:36+00:00
ITS#10503 authzTo: reject member attributes with non-DN syntax
RE26:
• 41d7478a
by Howard Chu at 2026-05-19T23:00:51+00:00
ITS#10503 authzTo: reject member attributes with non-DN syntax
--
You are receiving this mail because:
You are on the CC list for the issue.