https://bugs.openldap.org/show_bug.cgi?id=9270
Issue ID: 9270
Summary: Admin guide: Add detailed information on indexing
Product: OpenLDAP
Version: 2.5
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: documentation
Assignee: bugs(a)openldap.org
Reporter: quanah(a)openldap.org
Target Milestone: ---
It would be useful to outline what the different types of indexing options do,
and when they are useful, in the admin guide.
For example:
presence indexing is only useful if looking to find entries with a given
attribute, when generally < 50% of the entries in the DB have an instance of
that attribute.
equality indexing would not be particularly useful on an attribute that exists
in most every entry, and the attribute always has the same value
etc.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9260
Bug ID: 9260
Summary: slapd-ldap(5) man page missing conn-pool-max option
Product: OpenLDAP
Version: 2.4.50
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: documentation
Assignee: bugs(a)openldap.org
Reporter: quanah(a)openldap.org
Target Milestone: ---
The slapd-ldap(5) man page is missing any information on the conn-pool-max
configuration option.
Part of ITS#4791
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugs.openldap.org/show_bug.cgi?id=9241
Bug ID: 9241
Summary: olcRefintNothing refuse to accept space in the target
dn
Product: OpenLDAP
Version: 2.4.49
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: overlays
Assignee: bugs(a)openldap.org
Reporter: sebastien.chaumat(a)qspin.be
Target Milestone: ---
When configuring refint :
dn: olcOverlay={2}refint,olcDatabase={1}mdb,cn=config
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
olcOverlay: {2}refint
olcRefintAttribute: seeAlso
olcRefintNothing: cn=admin,dc=test
is accepted
but
olcRefintNothing: cn=admin space,dc=test
is rejected when I ldapadd the configuration with the message :
ldap_add: Constraint violation (19)
additional info: <olcRefintNothing> extra cruft after <string>
I tried various quoting :
cn="admin space",dc=test
cn=admin\20space
"cn=admin space"
--
You are receiving this mail because:
You are on the CC list for the bug.
https://bugs.openldap.org/show_bug.cgi?id=9421
Issue ID: 9421
Summary: SIGSEGV in the MMR synchro
Product: OpenLDAP
Version: 2.4.56
Hardware: x86_64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: overlays
Assignee: bugs(a)openldap.org
Reporter: benjamin.demarteau(a)liege.be
Target Milestone: ---
We are in the process of migrating from a single outdated node to an up to date
MMR cluster. Through this process we write LSC synchronizations from the old
server to the new server so we can keep the old server around.
Our preliminary tests show that when LSC hammers the ldap using multiple
threads while another node is included in the replication, we get segmentation
faults with the following backtrace:
#0 0x00007f7f578748ef in __strncasecmp_l_avx () from /lib64/libc.so.6
#1 0x000056094a7ca298 in avl_find (root=0x56094bb28820,
data=data@entry=0x7f7e74000cd0, fcmp=fcmp@entry=0x56094a7166a0
<oc_index_name_cmp>) at avl.c:545
#2 0x000056094a716bde in oc_bvfind (ocname=0x7f7e74000cd0) at oc.c:186
#3 oc_bvfind (ocname=ocname@entry=0x7f7e74000cd0) at oc.c:178
#4 0x000056094a70ec5a in objectSubClassMatch (matchp=0x7f7e5fff8c8c,
flags=256, syntax=<optimized out>, mr=<optimized out>, value=<optimized out>,
assertedValue=0x7f7e74000cd0) at schema_prep.c:214
#5 0x000056094a6e9fb9 in ordered_value_match
(match=match@entry=0x7f7e5fff8c8c, ad=0x56094bb184e0,
mr=mr@entry=0x56094bb09810, flags=flags@entry=256, v1=v1@entry=0x7f7e5810f470,
v2=v2@entry=0x7f7e74000cd0,
text=0x7f7e5fff8c90) at value.c:693
#6 0x000056094a6ec44d in test_ava_filter (op=op@entry=0x7f7e5fff90c0,
e=e@entry=0x56094bb54a88, ava=0x7f7e74000cc8, type=type@entry=163) at
filterentry.c:777
#7 0x000056094a6ecfec in test_filter (op=op@entry=0x7f7e5fff90c0,
e=e@entry=0x56094bb54a88, f=f@entry=0x7f7e74000d08) at filterentry.c:88
#8 0x000056094a6ecc81 in test_filter_and (flist=<optimized out>,
e=0x56094bb54a88, op=0x7f7e5fff90c0) at filterentry.c:879
#9 test_filter (op=op@entry=0x7f7e5fff90c0, e=0x56094bb54a88, f=<optimized
out>) at filterentry.c:118
#10 0x00007f7f5382c58f in syncprov_matchops (op=op@entry=0x7f7e5fff9c80,
opc=opc@entry=0x7f7e58001808, saveit=saveit@entry=0) at syncprov.c:1393
#11 0x00007f7f5382e37f in syncprov_op_response (op=0x7f7e5fff9c80,
rs=<optimized out>) at syncprov.c:2115
#12 0x000056094a6dcb98 in slap_response_play (op=op@entry=0x7f7e5fff9c80,
rs=rs@entry=0x7f7e5fff9c10) at result.c:508
#13 0x000056094a6dd11c in send_ldap_response (op=op@entry=0x7f7e5fff9c80,
rs=rs@entry=0x7f7e5fff9c10) at result.c:583
#14 0x000056094a6ddd43 in slap_send_ldap_result (op=0x7f7e5fff9c80,
rs=0x7f7e5fff9c10) at result.c:861
#15 0x000056094a7a86fd in mdb_add (op=0x7f7e5fff9c80, rs=0x7f7e5fff9c10) at
add.c:435
#16 0x000056094a73cd78 in overlay_op_walk (op=op@entry=0x7f7e5fff9c80,
rs=0x7f7e5fff9c10, which=op_add, oi=0x56094bb8a720, on=<optimized out>) at
backover.c:677
#17 0x000056094a73ceab in over_op_func (op=0x7f7e5fff9c80, rs=<optimized out>,
which=<optimized out>) at backover.c:730
#18 0x00007f7f5361ff6a in accesslog_response (op=<optimized out>, rs=<optimized
out>) at accesslog.c:1877
#19 0x000056094a6dcb98 in slap_response_play (op=op@entry=0x7f7e7410fff0,
rs=rs@entry=0x7f7e5fffa870) at result.c:508
#20 0x000056094a6dd11c in send_ldap_response (op=op@entry=0x7f7e7410fff0,
rs=rs@entry=0x7f7e5fffa870) at result.c:583
#21 0x000056094a6ddd43 in slap_send_ldap_result (op=0x7f7e7410fff0,
rs=0x7f7e5fffa870) at result.c:861
#22 0x000056094a7a86fd in mdb_add (op=0x7f7e7410fff0, rs=0x7f7e5fffa870) at
add.c:435
#23 0x000056094a73cd78 in overlay_op_walk (op=op@entry=0x7f7e7410fff0,
rs=0x7f7e5fffa870, which=op_add, oi=0x56094bb8a900, on=<optimized out>) at
backover.c:677
#24 0x000056094a73ceab in over_op_func (op=0x7f7e7410fff0, rs=<optimized out>,
which=<optimized out>) at backover.c:730
#25 0x000056094a6d32bd in fe_op_add (op=0x7f7e7410fff0, rs=0x7f7e5fffa870) at
add.c:334
#26 0x000056094a6d4139 in do_add (op=0x7f7e7410fff0, rs=0x7f7e5fffa870) at
add.c:194
#27 0x000056094a6cbfc0 in connection_operation (ctx=ctx@entry=0x7f7e5fffaab0,
arg_v=arg_v@entry=0x7f7e7410fff0) at connection.c:1175
#28 0x000056094a6ccdbe in connection_read_thread (ctx=0x7f7e5fffaab0,
argv=0x1a) at connection.c:1311
#29 0x00007f7f5903bead in ldap_int_thread_pool_wrapper (xpool=0x56094bb2a1d0)
at tpool.c:696
#30 0x00007f7f57ae414a in start_thread () from /lib64/libpthread.so.0
#31 0x00007f7f57815f23 in clone () from /lib64/libc.so.6
If we take down the second node, we cannot reproduce the segfaults anymore.
Let me know if we can provide more information (we can't provide the core dump
since it's full of passwords).
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9449
Issue ID: 9449
Summary: When the "lockdetect" is setted in slapd.conf, the db
deadlock detected policy is setted incorrected
Product: OpenLDAP
Version: 2.4.57
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: slapd
Assignee: bugs(a)openldap.org
Reporter: li(a)lihaitao.cn
Target Milestone: ---
I have the "lockdetect random" setted in slapd.conf,the expected deadlock
detected policy is "DB_LOCK_RANDOM" but I got the valude "DB_LOCK_EXPIRE".
After many search of the source file, the lockdetect parse source is found on
openldap-2.4.57\servers\slapd\back-bdb\config.c :Line 894-903
---------------------
case BDB_LOCKD:
rc = verb_to_mask( c->argv[1], bdb_lockd );
if ( BER_BVISNULL(&bdb_lockd[rc].word) ) {
fprintf( stderr, "%s: "
"bad policy (%s) in \"lockDetect <policy>\" line\n",
c->log, c->argv[1] );
return 1;
}
bdb->bi_lock_detect = (u_int32_t)rc;
break;
---------------------
After analyse the verb_to_mask's return value, the "rc" is the index of the
bdb_lockd's setting items. So it can't be passwd to bi_lock_detect.
The right value is The "bdb_lockd[rc].mask".
I think it is a bug, my recommendation fix is like the next.
bdb->bi_lock_detect = (u_int32_t)rc;
->
bdb->bi_lock_detect = bdb_lockd[rc].mask;
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9419
Issue ID: 9419
Summary: Add support for HAProxy proxy protocol v2
Product: OpenLDAP
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: slapd
Assignee: bugs(a)openldap.org
Reporter: henson(a)acm.org
Target Milestone: ---
Add support for the HAProxy proxy protocol v2:
https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt
This will allow slapd to receive and act upon client addresses when operating
behind a NAT'ing load balancer or proxy server which would otherwise obscure
the true client address.
Patch will be submitted as a pull request on gitlab.
The submitted pull request is derived from OpenLDAP Software. All of the
modifications to OpenLDAP Software represented in the pull request were
developed by Paul B. Henson <henson(a)acm.org> based on specifications and
example code provided by HAProxy at the above listed URL. I have not assigned
rights and/or interest in this work to any party.
The modifications to OpenLDAP Software are subject to the following notice:
Copyright 2020 Paul B. Henson
Redistribution and use in source and binary forms, with or without
modification, are permitted only as authorized by the OpenLDAP Public License.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9474
Issue ID: 9474
Summary: ldap_install_tls() should return meaningful error code
Product: OpenLDAP
Version: 2.4.57
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: libraries
Assignee: bugs(a)openldap.org
Reporter: simon.pichugin(a)gmail.com
Target Milestone: ---
The description of my findings (take a note that these are OpenLDAP logs that
happen under the application that uses libldap):
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: tls_write: want=610,
written=610
...
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: TLS trace:
SSL_connect:SSLv3 flush data
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: tls_read: want=5
error=Interrupted system call
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: TLS trace:
SSL_connect:error in SSLv3 read finished A
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: TLS trace:
SSL_connect:error in SSLv3 read finished A
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: TLS: can't connect: .
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: ldap_free_connection 1
1
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: ldap_send_unbind
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: ber_flush2: 7 bytes to
sd 23
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: 0000: 00 05 00 01
00 42 00
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: ldap_write: want=7,
written=7
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: 0000: 00 05 00 01
01 42 00
[sssd[be[LDAP]]] [sss_ldap_debug] (0x4000): libldap: ldap_free_connection:
actually freed
So, 'error=Interrupted system call' is caught by this:
https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/…https://git.openldap.org/openldap/openldap/-/blob/master/libraries/liblber/…
It is only the debug message that comes from the caller itself so we can see
what is passed to OpenSSL.
And 'Interrupted system call' is just an EINTR string representation.
What we should do is to catch the error that OpenSSL returns to us after it is
interrupted.
As we can see from the logs:
"libldap: TLS: can't connect: ."
This line returns nothing:
https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/…
So 'ld->ld_error' is set to empty value.
If we go deeper into the 'tls_imp->ti_session_errmsg' call we can reach the
point where ERR_peek_error() is called:
https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/…https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/…https://git.openldap.org/openldap/openldap/-/blob/master/libraries/libldap/…
In the conclusion:
ldap_install_tls() should return meaningful error code that would allow to
figure out a reason for the failure, especially network IO fail due to EITR.
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9325
Issue ID: 9325
Summary: Expand SSL test suite for multiple EC support and SAN
checks
Product: OpenLDAP
Version: 2.5
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: build
Assignee: bugs(a)openldap.org
Reporter: quanah(a)openldap.org
Target Milestone: ---
Need to expand the TLS test suite with some additional certs and EC support to
ensure proper testing of issue#9054 and issue#9318
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9477
Issue ID: 9477
Summary: slapd on master branch segfaults at first connection
establishment with an LDAP client
Product: OpenLDAP
Version: 2.5
Hardware: x86_64
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: slapd
Assignee: bugs(a)openldap.org
Reporter: david.coutadeur(a)gmail.com
Target Milestone: ---
Everything is in the title:
slapd on master branch segfaults at first connection establishment with an LDAP
client
slapd-2.5.X-Devel
Compilation options:
./configure --prefix=/usr/local/openldap --libdir=/usr/local/openldap/lib64
--enable-overlays --enable-modules --enable-dynamic=yes --with-tls=openssl
--enable-debug --with-cyrus-sasl --enable-spasswd --enable-ppolicy
--enable-crypt --enable-ldap -enable-slapi --enable-meta --enable-sock
--enable-wrappers --enable-rlookups
using default slapd.conf file:
#
# See slapd.conf(5) for details on configuration options.
# This file should NOT be world readable.
#
include /usr/local/openldap/etc/openldap/schema/core.schema
# Define global ACLs to disable default read access.
# Do not enable referrals until AFTER you have a working directory
# service AND an understanding of referrals.
#referral ldap://root.openldap.org
pidfile /usr/local/openldap/var/run/slapd.pid
argsfile /usr/local/openldap/var/run/slapd.args
# Load dynamic backend modules:
# modulepath /usr/local/openldap/libexec/openldap
# moduleload back_mdb.la
# moduleload back_ldap.la
# Sample security restrictions
# Require integrity protection (prevent hijacking)
# Require 112-bit (3DES or better) encryption for updates
# Require 63-bit encryption for simple bind
# security ssf=1 update_ssf=112 simple_bind=64
# Sample access control policy:
# Root DSE: allow anyone to read it
# Subschema (sub)entry DSE: allow anyone to read it
# Other DSEs:
# Allow self write access
# Allow authenticated users read access
# Allow anonymous users to authenticate
# Directives needed to implement policy:
# access to dn.base="" by * read
# access to dn.base="cn=Subschema" by * read
# access to *
# by self write
# by users read
# by anonymous auth
#
# if no access controls are present, the default policy
# allows anyone and everyone to read anything but restricts
# updates to rootdn. (e.g., "access to * by * read")
#
# rootdn can always read and write EVERYTHING!
#######################################################################
# MDB database definitions
#######################################################################
database mdb
maxsize 1073741824
suffix "dc=my-domain,dc=com"
rootdn "cn=Manager,dc=my-domain,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw secret
# The database directory MUST exist prior to running slapd AND
# should only be accessible by the slapd and slap tools.
# Mode 700 recommended.
directory /usr/local/openldap/var/openldap-data
# Indices to maintain
index objectClass eq
For information, I also converted this configuration into cn=config with the
same result.
some commands after installation:
mkdir /usr/local/openldap/var/openldap-data
chown -R ldap:ldap /usr/local/openldap
Launch command:
/usr/local/openldap/libexec/slapd -h 'ldap://*:389 ldaps://*:636' -f
/usr/local/openldap/etc/openldap/slapd.conf -u ldap -g ldap -d -1
Establish connection with any client with manager credential on 389 port.
Console output:
6036a1a3 daemon: activity on 1 descriptor
6036a1a3 daemon: activity on:
6036a1a3 slap_listener_activate(7):
6036a1a3 daemon: epoll: listen=7 busy
6036a1a3 daemon: epoll: listen=8 active_threads=0 tvp=NULL
6036a1a3 daemon: epoll: listen=9 active_threads=0 tvp=NULL
6036a1a3 daemon: epoll: listen=10 active_threads=0 tvp=NULL
6036a1a3 >>> slap_listener(ldap://*:389)
6036a1a3 daemon: accept() = 14
6036a1a3 daemon: activity on 1 descriptor
6036a1a3 daemon: activity on:
6036a1a3 daemon: epoll: listen=7 active_threads=0 tvp=NULL
6036a1a3 daemon: epoll: listen=8 active_threads=0 tvp=NULL
6036a1a3 daemon: epoll: listen=9 active_threads=0 tvp=NULL
6036a1a3 daemon: epoll: listen=10 active_threads=0 tvp=NULL
6036a1a3 daemon: listen=7, new connection on 14
Erreur de segmentation
--
You are receiving this mail because:
You are on the CC list for the issue.
https://bugs.openldap.org/show_bug.cgi?id=9433
Issue ID: 9433
Summary: ldapsearch -Z fails to continue when StartTLS fails
Product: OpenLDAP
Version: 2.4.56
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: ---
Component: client tools
Assignee: bugs(a)openldap.org
Reporter: simon.pichugin(a)gmail.com
Target Milestone: ---
Created attachment 783
--> https://bugs.openldap.org/attachment.cgi?id=783&action=edit
ldapsearch debug log
When -Z is passed to an OpenLDAP utility, it will try to establish a TLS
connection with StartTLS, and in case it fails to do so it should continue
without the TLS layer.
OpenLDAP version:
openldap-2.4.56-4.fc34.x86_64 (but it also doesn't work on older versions too)
How reproducible:
Always
Steps to Reproduce:
1. Run `ldapsearch ...' against a server and see successful operation result.
2. Run `ldapsearch -Z ...' against a server whose certificate is not trusted
(e.g. a hostname mismatch) and observe it fails to connect as in point 1.
Actual results:
~~~
ldap_start_tls: Connect error (-11)
additional info: TLS: hostname does not match CN in peer certificate
# and it hangs there
~~~
Expected results:
The line
~~~
ldap_result: Can't contact LDAP server (-1)
~~~
is not present and the utility successfully continues with plain LDAP protocol
as expected.
Additional info:
I'm attaching a full debug log (-d -1) to this bug.
--
You are receiving this mail because:
You are on the CC list for the issue.