[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Support for extensible certificate mapping



>I think that this kind of mapping belongs below SASL, as
>suggested in your dnX509peerNormalize override solution.

OK, I'll commit a fix soon. As I mentioned, I'm having some difficulty
performing an internal search from within the certificate map function.
I suspect this is because dnX509peerNormalize() is called from within
connection_read() and something isn't setup properly. Of course it's
just as possible that it's a SLAPI bug (slapi_search_internal() 
performs the search).

I believe the problem is that bdb_cache_entry_db_lock() fails. Note that
I am using back-hdb, not back-bdb.

The error is as follows:

=> bdb_search
bdb_dn2entry("dc=dsg,dc=padl,dc=com")
bdb(dc=dsg,dc=padl,dc=com): Locker does not exist
bdb_cache_entry_db_lock: entry 1, rw 0, rc 22

The stack trace:

#0  bdb_cache_entry_db_lock (env=0x82e2ce0, locker=0, ei=0x82f7ec8, rw=0, tryOnly=0, lock=0x5546f330)
    at cache.c:142
#1  0x080e6c56 in hdb_cache_find_id (op=0x82f7a28, tid=0x0, id=1, eip=0x5546f264, islocked=0, locker=0, 
    lock=0x5546f330) at cache.c:670
#2  0x080eb59d in hdb_dn2entry (op=0x82f7a28, tid=0x0, dn=0x82f7a50, e=0x5546f518, matched=1, locker=0, 
    lock=0x5546f330) at dn2entry.c:69
#3  0x080cb0c7 in hdb_do_search (op=0x82f7a28, rs=0x5552f5f0, sop=0x82f7a28, ps_e=0x0, ps_type=0)
    at search.c:563
#4  0x080ca9ad in hdb_search (op=0x82f7a28, rs=0x5552f5f0) at search.c:370
#5  0x081104ef in slapi_search_internal (ldn=0x404f6fc2 "", scope=2, 
...
#10 0x0807c4a9 in dnX509peerNormalize (ssl=0x82e8448, dn=0x5552f7a8) at dn.c:977
#11 0x08068f58 in connection_read (s=20) at connection.c:1358
#12 0x080661e1 in slapd_daemon_task (ptr=0x0) at daemon.c:1931
#13 0x402819dd in start_thread () from /lib/tls/libpthread.so.0
#14 0x40344ffa in clone () from /lib/tls/libc.so.6

Any ideas?

-- Luke

--