我如何才能看到我的发行版(OpenSuSE)提供的 OpenLDAP 可执行文件是如何编译的?
经过长时间的调试,我认为我的 TLS 配置被忽略了。我想检查 slapd 是否使用 --with-tls 编译。有没有办法查看编译到可执行文件中的内容?
slapd -VVV 仅显示覆盖和后端,但没有告诉我有关 TLS 的任何信息。
答案1
查看源 RPMhttp://download.opensuse.org/repositories/network:/ldap:/OpenLDAP:/RE24/openSUSE_11.2/src/
openldap2-2.4.25-141.1.src.rpm 为 openldap2.spec 文件中的构建配置提供了此信息。
%configure \
--localstatedir=/var/run/slapd \
--libexecdir=/usr/lib/openldap \
--enable-wrappers \
--enable-spasswd \
--enable-modules \
--enable-shared \
--enable-dynamic \
--with-tls \
--with-cyrus-sasl \
--enable-crypt \
--enable-ipv6=yes \
%if "%{name}" == "openldap2"
--enable-aci \
--enable-bdb \
--enable-hdb \
--enable-rewrite \
--enable-ldap=yes \
--enable-meta=mod \
--enable-monitor=yes \
--enable-perl=mod \
--enable-sql=mod \
--enable-slp \
--enable-overlays=mod \
--enable-syncprov=yes \
--enable-ppolicy=yes \
%else
--disable-slapd \
%endif
--enable-lmpasswd \
--with-yielding-select
查看第 8 个标志,我看到指定了 --with-tls。
如果您需要针对不同版本的 openSuSE 进行配置,我相信您可以在另一个源 RPM 中找到类似的行,但是,我怀疑编译标志在不同版本之间不会发生很大变化。
答案2
您可以下载 SRPM 并检查 spec 文件。链接到 SSL 共享库是一个很好的迹象,表明它是:
$ ldd /usr/sbin/slapd | grep ssl
libssl.so.6 => /lib64/libssl.so.6 (0x00002b1e90a8b000)