Apache Directory Project - [jira] Updated: (DIREVE-215) Wrong error messages for some operations

This is Interesting: Free IT Magazines  
Home > Archive > Apache Directory Project > August 2005 > [jira] Updated: (DIREVE-215) Wrong error messages for some operations





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author [jira] Updated: (DIREVE-215) Wrong error messages for some operations
Stefan Zoerner (JIRA)

2005-08-07, 5:45 pm

[ http://issues.apache.org/jira/brows...VE-215?page=all ]

Stefan Zoerner updated DIREVE-215:
----------------------------------

Attachment: DeleteHandler.java

Here is the updated DeleteHandler class mentiones in the defect description.

> Wrong error messages for some operations
> ----------------------------------------
>
> Key: DIREVE-215
> URL: http://issues.apache.org/jira/browse/DIREVE-215
> Project: Directory Server
> Type: Bug
> Components: protocol
> Versions: 0.9.1
> Reporter: Stefan Zoerner
> Assignee: Alex Karasulu
> Priority: Minor
> Attachments: DeleteHandler.java
>
> 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.

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secur...nistrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira


Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com