slapd 2.4.23 trava em conexões ldaps

1

Nova instalação do CentOS 6.3, openldap-servers-2.4.23. Gerou uma nova solicitação de certificado, assinou o certificado, iniciou o slapd. O ldapsearch responde em ldapi: /// e ldap: ///. No entanto, assim que um pedido é feito em ldaps: ///, o processo slapd consome toda a CPU disponível e nunca responde.

strace -p -ff produz os seguintes resultados, em um loop infinito:

[pid  5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid  5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid  5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid  5978] close(21)                   = 0
[pid  5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid  5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid  5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid  5978] close(21)                   = 0
[pid  5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid  5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid  5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid  5978] close(21)                   = 0
[pid  5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid  5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid  5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid  5978] close(21)                   = 0
[pid  5978] open("/etc/openldap/certs/server.key", O_RDONLY) = 21
[pid  5978] stat("/etc/openldap/certs/server.key", {st_mode=S_IFREG|0640, st_size=1704, ...}) = 0
[pid  5978] read(21, "-----BEGIN PRIVATE KEY-----\nMIIE"..., 1704) = 1704
[pid  5978] close(21) 

Eu re-gerou certificados apenas para ter certeza de que eles não são corruptos, nem alegria.

    
por mapa3m 23.01.2013 / 06:10

1 resposta

1

Descobri isso. Aparentemente, o openldap carrega os certs de maneira diferente, dependendo de onde eles estão na estrutura do diretório. Se eles estão no diretório / etc / openldap / certs - ele os trata como MozNSS e depois falha espetacularmente para carregar qualquer coisa. Se eles estão em / etc / pki, ele usa o OpenSSL e carrega tudo muito bem.

    
por 23.01.2013 / 14:45