asserts and manadatory build instructions (was ITS#8240)
by Michael Ströder
hyc(a)symas.com wrote in ITS#8240:
> Our patch response was too hasty. There is no OpenLDAP bug here, the real
> issue is production binaries being built with asserts enabled instead of
> compiling with -DNDEBUG. That's an issue for packagers and distros to resolve.
> Closing this ITS, not an OpenLDAP bug.
Maybe I missed something. But this is the first time I've heard about -DNDEBUG
being mandatory when compiling binary packages for production use. Does it
have other effects?
And what are general rules for assert statements in OpenLDAP code?
In my own (Python) code assert statements are supposed to be only triggered if
something goes wrong *internally* (type issues etc.). If somebody manages to
trigger an assert statement with invalid input from "outside" I always
consider this to be a serious bug revealing insufficient error handling even
though e.g. web2ldap just logs the exception but won't crash. YMMV, but please
clarify.
I also wonder whether there are more mandatory rules for building packages and
where I can find them.
Please don't get me wrong: My inquiry is in good faith to avoid unnecessary
ITS based on misunderstanding.
Ciao, Michael.
1 year, 7 months
Re: Patch adding command line TLS support to the ldap utilities
by Quanah Gibson-Mount
--On Tuesday, January 31, 2017 5:07 PM +0100 Michael Ströder
<michael(a)stroeder.com> wrote:
> Hmm, up to now I thought setting LDAP_TLS_CACERT and friends overrides
> whatever is set in ldap.conf or .ldaprc.
Variables do override, however, I have no clue as to *what* things may be
set somewhere. If I were to unset LDAPNOINIT, any test is subject to
anything I don't specifically override that the user, system admin, etc,
may have set.
> And I also thought LDAPNOINIT disables all defaults from config files.
It disables everything (config files, environment variables, etc).
Thus the following files and variables are read, in order:
variable $LDAPNOINIT, and if that is not set:
system file /usr/local/etc/openldap/ldap.conf,
user files $HOME/ldaprc, $HOME/.ldaprc, ./ldaprc,
system file $LDAPCONF,
user files $HOME/$LDAPRC, $HOME/.$LDAPRC, ./$LDAPRC,
variables $LDAP<uppercase option name>.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
6 years, 4 months
Re: Patch adding command line TLS support to the ldap utilities
by Quanah Gibson-Mount
--On Tuesday, January 31, 2017 4:24 PM +0100 Michael Ströder
<michael(a)stroeder.com> wrote:
> Quanah Gibson-Mount wrote:
>> In working on creating a TLS testsuite for OpenLDAP, a glaring omission
>> in the abilities of the command line tools quickly became apparent.
>> Specifically, the inability to set any TLS related options.
>
> Just out of curiosity:
> Wasn't using the env vars not enough in the test suite's shell scripts?
No. I have no way of knowing what option(s)/conf files may exist in the
environment of the user building OpenLDAP. We set LDAPNOINIT in the test
suite to avoid this problem for the non-TLS portion, but there's no ability
to do anything TLS related at that point w/o such a patch.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
6 years, 4 months
Patch adding command line TLS support to the ldap utilities
by Quanah Gibson-Mount
In working on creating a TLS testsuite for OpenLDAP, a glaring omission in
the abilities of the command line tools quickly became apparent.
Specifically, the inability to set any TLS related options. I've written
up a patch to allow setting various options via "-o", and tested it in my
environment, where it is behaving as desired.
Specifically, any option passed in via -o /overrides/ any LDAP* environment
variable, any ~/.ldaprc, any system ldap.conf, etc. It also allows the
ldap* utilities to work with TLS when LDAPNOINIT is set in the utility
environment.
Attached is the patch for general review. There are likely more options
that would be useful to add, but this gives a basic framework for what I
need initially in the TLS test suite.
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
6 years, 4 months
RE24 testing call #1 (2.4.44) LMDB RE0.9 testing call #1 (0.9.20)
by Quanah Gibson-Mount
For this testing call, we particularly need folks to test OpenLDAP with
startTLS/LDAPS when compiled against OpenSSL (both pre 1.1 series and with
the 1.1 series). There is currenly nothing in the test suite that covers
encrypted connections (Although it's on my todo list). To build against
OpenSSL 1.1 may also require cyrus-sasl HEAD out of the cyrus-sasl GIT
repository, depending on your build options as the current cyrus-sasl
release does not support the OpenSSL 1.1 series. It can be found at
<https://github.com/cyrusimap/cyrus-sasl>. If you build with GSSAPI and
use Heimdal, you will also need the Heimdal 7.1.0 or later release (as that
is where OpenSSL 1.1 support was added). It can be obtained from
<http://h5l.org/>.
Also new with this release is the ability to run "make its" in the tests/
directory. This will run a specific set of tests around past bugs to
ensure there are no regressions. While I've tested this with modular
openldap builds, it has not been tested with the modules and backends built
into slapd, so there could be some issues in that scenario.
OpenLDAP 2.4.45 Engineering
Added slapd support for OpenSSL 1.1.0 series (ITS#8353, ITS#8533)
Fixed libldap handling of Diffie-Hellman parameters (ITS#7506)
Fixed libldap GnuTLS use after free (ITS#8385)
Fixed slapd sasl SEGV rebind in same session (ITS#8568)
Fixed slapd syncrepl filter handling (ITS#8413)
Fixed slapd syncrepl infinite looping mods with delta-sync MMR
(ITS#8432)
Fixed slapd callback struct so older modules without writewait
should function.
Custom modules may need to be updated for sc_writewait
callback (ITS#8435)
Fixed slapd-mdb so it passes ITS6794 regression test (ITS#6794)
Fixed slapd-meta uninitialized diagnostic message (ITS#8442)
Fixed slapo-accesslog to honor pauses during purge for cn=config
update (ITS#8423)
Fixed slapo-relay to correctly initialize sc_writewait (ITS#8428)
Build Environment
Added test065 for proxyauthz (ITS#8571)
Fix test008 to be portable (ITS#8414)
Fix its4336 regression test (ITS#8534)
Fix its4337 regression test (ITS#8535)
Fix regression tests to execute on all backends (ITS#8539)
Contrib
Added slapo-autogroup(5) man page (ITS#8569)
Added passwd missing conversion scripts for apr1 (ITS#6826)
Fixed contrib modules where the writewait callback was not
correctly initialized (ITS#8435)
Fixed smbk5pwd to build with newer OpenSSL releases
(ITS#8525)
Documentation
admin24 fixed tls_cipher_suite bindconf option (ITS#8099)
admin24 fixed typo cn=config to be slapd.d (ITS#8449)
Fixed slapd-config(5), slapd.conf(5) clarification on
interval keyword for refreshAndPersist (ITS#8538)
Fixed slapo-ppolicy(5) to clearly note rootdn requirement
(ITS#8565)
Fixed various minor grammar issues in the man pages
(ITS#8544)
LMDB 0.9.20 Release Engineering
Fix mdb_load with escaped plaintext (ITS#8558)
Fix mdb_cursor_last / mdb_put interaction (ITS#8557)
LMDB 0.9.19 Release (2016/12/28)
Fix mdb_env_cwalk cursor init (ITS#8424)
Fix robust mutexes on Solaris 10/11 (ITS#8339)
Tweak Win32 error message buffer
Fix MDB_GET_BOTH on non-dup record (ITS#8393)
Optimize mdb_drop
Fix xcursors after mdb_cursor_del (ITS#8406)
Fix MDB_NEXT_DUP after mdb_cursor_del (ITS#8412)
Fix mdb_cursor_put resetting C_EOF (ITS#8489)
Fix mdb_env_copyfd2 to return EPIPE on SIGPIPE (ITS#8504)
Fix mdb_env_copy with empty DB (ITS#8209)
Fix behaviors with fork (ITS#8505)
Fix mdb_dbi_open with mainDB cursors (ITS#8542)
Fix robust mutexes on kFreeBSD (ITS#8554)
Fix utf8_to_utf16 error checks (ITS#7992)
Fix F_NOCACHE on MacOS, error is non-fatal (ITS#7682)
Build
Make shared lib suffix overridable (ITS#8481)
Documentation
Cleanup doxygen nits
Note reserved vs actual mem/disk usage
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
6 years, 4 months
RE: RE24 testing call #1 (2.4.45) LMDB RE0.9 testing call #1 (0.9.20)
by Quanah Gibson-Mount
--On Friday, January 20, 2017 6:51 PM +0100 Dieter Klünter
<dieter(a)dkluenter.de> wrote:
> $ make its
> Testing (available) ITS regressions
> make[1]: Verzeichnis „/home/dieter/build/openldap/tests" wird betreten
> run configure with --enable-bdb to run BDB tests
> make[1]: Verzeichnis „/home/dieter/build/openldap/tests" wird
> verlassen make[1]: Verzeichnis „/home/dieter/build/openldap/tests"
> wird betreten run configure with --enable-hdb to run BDB tests
> make[1]: Verzeichnis „/home/dieter/build/openldap/tests" wird
> verlassen make[1]: Verzeichnis „/home/dieter/build/openldap/tests"
> wird betreten run configure with --enable-mdb to run BDB tests
> make[1]: Verzeichnis „/home/dieter/build/openldap/tests" wird
> verlassen
Thanks, fixed. :)
--Quanah
--
Quanah Gibson-Mount
Product Architect
Symas Corporation
Packaged, certified, and supported LDAP solutions powered by OpenLDAP:
<http://www.symas.com>
6 years, 4 months
RE: RE24 testing call #1 (2.4.44) LMDB RE0.9 testing call #1 (0.9.20)
by Dieter Klünter
Datum: Thu, 19 Jan 2017 21:33:18 +0100
Von: Dieter Klünter <dieter(a)dkluenter.de>
An: openldap-devel(a)openldap.org
Betreff: Re: RE24 testing call #1 (2.4.44) LMDB RE0.9 testing call #1
(0.9.20)
Am Wed, 18 Jan 2017 18:05:21 -0800
schrieb Quanah Gibson-Mount <quanah(a)symas.com>:
> For this testing call, we particularly need folks to test OpenLDAP
> with startTLS/LDAPS when compiled against OpenSSL (both pre 1.1
> series and with the 1.1 series). There is currenly nothing in the
> test suite that covers encrypted connections (Although it's on my
> todo list). To build against OpenSSL 1.1 may also require cyrus-sasl
> HEAD out of the cyrus-sasl GIT repository, depending on your build
> options as the current cyrus-sasl release does not support the
> OpenSSL 1.1 series. It can be found at
> <https://github.com/cyrusimap/cyrus-sasl>. If you build with GSSAPI
> and use Heimdal, you will also need the Heimdal 7.1.0 or later
> release (as that is where OpenSSL 1.1 support was added). It can be
> obtained from <http://h5l.org/>.
>
> Also new with this release is the ability to run "make its" in the
> tests/ directory. This will run a specific set of tests around past
> bugs to ensure there are no regressions. While I've tested this with
> modular openldap builds, it has not been tested with the modules and
> backends built into slapd, so there could be some issues in that
> scenario.
my configure:
--enable-bdb=no \
--enable-hdb=no \
--enable-mdb=yes \
these are the issues:
$ make its
Testing (available) ITS regressions
make[1]: Verzeichnis „/home/dieter/build/openldap/tests“ wird betreten
run configure with --enable-bdb to run BDB tests
make[1]: Verzeichnis „/home/dieter/build/openldap/tests“ wird verlassen
make[1]: Verzeichnis „/home/dieter/build/openldap/tests“ wird betreten
run configure with --enable-hdb to run BDB tests
make[1]: Verzeichnis „/home/dieter/build/openldap/tests“ wird verlassen
make[1]: Verzeichnis „/home/dieter/build/openldap/tests“ wird betreten
run configure with --enable-mdb to run BDB tests
make[1]: Verzeichnis „/home/dieter/build/openldap/tests“ wird verlassen
-Dieter
--
Dieter Klünter | Systemberatung
https://sys4.de
GPG Key ID:DA147B05
53°37'09,95"N
10°08'02,42"E
--
Dieter Klünter | Systemberatung
http://dkluenter.de
GPG Key ID:DA147B05
53°37'09,95"N
10°08'02,42"E
6 years, 4 months