[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
testing of client error-handling by overlay
- To: OpenLDAP Devel <openldap-devel@OpenLDAP.org>
- Subject: testing of client error-handling by overlay
- From: Pierangelo Masarati <ando@sys-net.it>
- Date: Sat, 23 Apr 2005 17:22:10 +0200
- User-agent: Mozilla Thunderbird 1.0 (X11/20041206)
I'm designing (actually, it's done, being tested) an overlay that is
intended to test the behavior of clients when returned an unexpected
error result. "Unexpected" fo course means "not usually returned";
actually, I guess nobody ever checked how one's clients behave when they
receive a LDAP_BUSY in the middle of a complicated sequence of
operations... For this purpose I've designed an overlay that defines a
branch of the underlying database, say "cn=Diagnostics" under
"dc=example,dc=com". Operations directed to a child of that
(non-existing) object are virtual objects that contain an error code and
a(n optional) text part. When any of those are hit by an operation,
i.e. when o_req_ndn matches any of these, the error code is returned,
and the operation ends there. If it's a referral, the default_referral,
or a specific referral value is added, otherwise the frontend barfs at
0x0a without any. If it's an extended operation, the send_result is
delegated to the frontend. If one searches the "cn=Diagnostics" object
with onelevel or subtree scope, a listing of all the available entries
is sent. The entries are configured in slapd.conf in terms of RDN,
error code and (optional) text message. Extensions will allow to limit
the behavior to few selected operations and so. I was also considering
the opportunity to allow addition on the fly of new virtual entries to
allow the fast reconfiguration without restarting the server.
Comments?
p.
PS: I need an OID for the objectClass of the entries and two for the
errCode and errText attributes. Since the errCode is actually the IANA
assigned error number, I wonder if it's already defined anywhere.
--
Pierangelo Masarati
mailto:pierangelo.masarati@sys-net.it
SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497