After upgrade from 10.3-RELEASE to 11.0-RELEASE I encountered the problem with starting slpad daemon. Mounting local filesystems:. ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/libexec/openldap 32-bit compatibility ldconfig path: /usr/lib32 Starting slapd. /etc/rc: WARNING: failed to start slapd The problem was, I think so, in the startup script of openldap-server in /usr/local/etc/rc.d/slapd where below line indicates order of another services have to start before slapd. WAS: # REQUIRE: FILESYSTEMS ldconfig CHANGED TO: # REQUIRE: FILESYSTEMS ldconfig netif Above means that slapd will start after the network service will start. So when network is not started, slapd will never run. pkg info openldap-server-2.4.44 Open source LDAP server implementation /etc/rc.conf slapd_enable="YES" slapd_flags='-h "ldap://10.10.10.10:389/"'
Maintainer feedback?
same here on 11.1-RELEASE, can we have a fix for this issue?
I can't reproduce this. Please provide additional details.
(In reply to Xin LI from comment #3) FreeBSD ldap1 11.1-RELEASE-p8 FreeBSD 11.1-RELEASE-p8 #0: Tue Mar 13 17:07:05 UTC 2018 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 pkg info -q icu-61.1,1 libevent-2.1.8_1 libiconv-1.14_11 libltdl-2.4.6 openldap-client-2.4.46 openldap-server-2.4.46_1 pkg-1.10.5 openldap-server-2.4.46_1 was built with the following options: ACCESSLOG : on DYNAMIC_BACKENDS: on MDB : on MEMBEROF : on SYNCPROV : on failure at boot: /etc/rc: DEBUG: checkyesno: slapd_cn_config is set to NO. /etc/rc: DEBUG: checkyesno: slapd_enable is set to YES. /etc/rc: DEBUG: run_rc_command: start_precmd: start_precmd /etc/rc: DEBUG: checkyesno: slapd_cn_config is set to NO. /etc/rc: DEBUG: checkyesno: rc_startmsgs is set to YES. Starting slapd. /etc/rc: DEBUG: run_rc_command: doit: limits -C daemon /usr/local/libexec/slapd -u ldap -g ldap /etc/rc: WARNING: failed to start slapd slapd.conf is unmodified. It starts correctly if I put NETWORKING in the REQUIRE line of the rc.d script.
(In reply to mikael.urankar from comment #4) Ok... Do you by any chance use DHCP for your interface?
No, it's a static ip: hostname="ldap1" ifconfig_vtnet0="192.168.2.20/24" defaultrouter="192.168.2.1" ntpd_enable="YES" # Run ntpd Network Time Protocol (or NO). ntpd_config="/etc/ntp.conf" # ntpd(8) configuration file ntpd_sync_on_start="YES" slapd_enable="YES" #rc_debug=yes
I tried on a second machine, FreeBSD-11.1-Release, package from the quarterly branch 2018Q2, slapd.conf unmodified (I only uncommented moduleload back_mdb), static ip and I still have the error: more debug info with -d 255: ldap_url_parse_ext(ldap://localhost/) ldap_init: trying /usr/local/etc/openldap/ldap.conf ldap_init: using /usr/local/etc/openldap/ldap.conf ldap_init: HOME env is / ldap_init: trying //ldaprc ldap_init: trying //.ldaprc ldap_init: trying ldaprc ldap_init: LDAPCONF env is NULL ldap_init: LDAPRC env is NULL 5acdbd29 @(#) $OpenLDAP: slapd 2.4.46 (Apr 8 2018 12:20:41) $ root@111amd64-quarterly-job-03:/wrkdirs/usr/ports/net/openldap24-server/work/openldap-2.4.46/servers/slapd ldap_pvt_gethostbyname_a: host=, r=-1 5acdbd29 daemon_init: <null> 5acdbd29 daemon_init: listen on ldap:/// 5acdbd29 daemon_init: 1 listeners to open... ldap_url_parse_ext(ldap:///) 5acdbd29 daemon: bind(5) failed errno=49 (Can't assign requested address) 5acdbd29 daemon: bind(5) failed errno=49 (Can't assign requested address) 5acdbd29 slap_open_listener: failed on ldap:/// 5acdbd29 slapd stopped. 5acdbd29 connections_destroy: nothing to destroy. /etc/rc: WARNING: failed to start slapd The issue is also mentionned on the forum: https://forums.freebsd.org/threads/openldap-fails-to-start-on-boot.58365/
A commit references this bug: Author: delphij Date: Wed Apr 11 09:29:26 UTC 2018 New revision: 467039 URL: https://svnweb.freebsd.org/changeset/ports/467039 Log: Require netif be run before starting slapd. PR: 213671 Submitted by: arkadiusz.majewski at iptrace.pl Changes: head/net/openldap24-server/Makefile head/net/openldap24-server/files/slapd.in
I've used the reporter's proposed fix and thanks for their submission. It seems that I haven't hit by this because I always run OpenLDAP inside jails.
Thanks a lot! Is it possible to merge the fix to the quaterly branch?
A commit references this bug: Author: delphij Date: Wed Apr 11 09:42:04 UTC 2018 New revision: 467041 URL: https://svnweb.freebsd.org/changeset/ports/467041 Log: MFH: r467039 Require netif be run before starting slapd. PR: 213671 Submitted by: arkadiusz.majewski at iptrace.pl Approved by: ports-secteam Changes: _U branches/2018Q2/ branches/2018Q2/net/openldap24-server/Makefile branches/2018Q2/net/openldap24-server/files/slapd.in
(In reply to mikael.urankar from comment #10) Yes, I think this is serious enough to warrant a merge. I've done it as 467041.