directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefan Zoerner <>
Subject Re: [jira] Resolved: (DIREVE-215) Wrong error messages for some operations
Date Sun, 07 Aug 2005 22:11:55 GMT
Hi Alex!

I am at least able to fix the messages of the other handlers I mentioned 
in the original JIRA defect.
And I will also do some checks how error messages look like in similar 

I will try to provide svn diffs (with comparable changes to the one you 
applied to the DeleteHandler) tomorrow for the relevant files.
This will be my first svn diff experience -- be prepared ...

Greetings from Hamburg and Goodnight -- Stefan

Alex Karasulu (JIRA) wrote:

>     [ ]
>Alex Karasulu resolved DIREVE-215:
>    Resolution: Fixed
>If you look at the diff for committed revision 230698 you'll see that I modified your
changes a bit.  I still send the stack trace back but only when logging is in full debug mode.
 I really need to work on the logging in these modules and reviewing the messages they return.
 Perhaps you can lend a hand so we can do this together.  You interested? 
>Here's the diff of my commits:
>BTW I will build and upload the new jars for this and apacheds built with it.
>>Wrong error messages for some operations
>>         Key: DIREVE-215
>>         URL:
>>     Project: Directory Server
>>        Type: Bug
>>  Components: protocol
>>    Versions: 0.9.1
>>    Reporter: Stefan Zoerner
>>    Assignee: Alex Karasulu
>>    Priority: Minor
>>     Fix For: 0.9.2
>> Attachments:
>>If a client tries to remove an entry, and the deletion fails because the entry is
not a leaf (error code 66), the LDAP message is wrong.
>>Status code and Exception type within the server are correct (as detected by the corresponding
test case). But the message text itself contains the words "failed to add entry". This information
is sent to the client, which may display it, e.g.
>>    * JNDI includes it during creation of appropriate Exception (com.sun.jndi.ldap.LdapCtx.mapErrorCode(66,
"failed to add entry ...").
>>    * Command line tools like ldapmodify display it on the console.
>>Example: If the following LDIF is applied to ApacheDS
>># create entry
>>dn: ou=noLeaf,ou=system
>>changetype: add
>>ou: noLeaf
>>objectclass: top
>>objectclass: organizationalUnit
>># create entry below the first
>>dn: ou=leaf,ou=noLeaf,ou=system
>>changetype: add
>>ou: leaf
>>objectclass: top
>>objectclass: organizationalUnit
>># delete subtree
>>dn: ou=noLeaf,ou=system
>>changetype: delete
>>it goes
>>$ ldapmodify -h magritte -p 10389 -D uid=admin,ou=system -w **** -f deleteSubtree.ldif
>>adding new entry ou=noLeaf,ou=system
>>adding new entry ou=leaf,ou=noLeaf,ou=system
>>deleting entry ou=noLeaf,ou=system
>>ldap_delete: Operation not allowed on nonleaf
>>ldap_delete: additional info: failed to add entry ou=noLeaf,ou=system:
>>... (very long Stack trace deleted) ...
>>I modified the error message within class org.apache.ldap.server.protocol.DeleteHandler
to "failed to delete entry ..." (attached), although I would prefer a more detailed message
(like "Not Allowed On Non-leaf", as Sun Directory does). But this is not possible at that
general place without an ugly switch or so.
>>The same "defect" (probably a cut/copy/paste of error message from AddHandler) is
present in CompareHandler, ModifyDnHandler, and ModifyHandler.
>>I would also suggest not to send the complete stack trace back to the client. I have
removed it in the attached version of the DeleteHandler and had a better command line experience
with ApacheDS (the stack traces should go in a server log only from my point of view). This
applies to other handlers (e.g. Add) as well.

View raw message