Issue Details (XML | Word | Printable)

Key: DIRSERVER-309
Type: Bug Bug
Status: Closed Closed
Resolution: Duplicate
Priority: Major Major
Assignee: Emmanuel Lecharny
Reporter: Alex Karasulu
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
Directory ApacheDS

Decoder does no give sufficient information about errors so the LDAP server can respond with correct result code.

Created: 03/Feb/06 06:45 AM   Updated: 02/Oct/06 01:59 PM
Return to search
Component/s: ldap
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Issue Links:
Duplicate

Resolution Date: 28/Aug/06 01:23 PM


 Description  « Hide
Right now a communication exception is thrown by the server when a malformed DN is given in a PDU. I tested this with bind for example using a bad BindDN. When the ASN1 codec fails the server cannot really tell the difference between a bad protocol PDU which causes a protocolError (2) resulting in a JNDI CommunicationException from a bad DN which should return a resultCode of namingViolation (64) which in JNDI comes back to the client as an InvalidNameException. For more info on resultCodes mapping to JNDI exceptions see:

http://java.sun.com/products/jndi/jndi-ldap-gl.html#EXCEPT

Basically the ASN1 decoder has to throw exceptions with hints regarding the failure to allow the server to respond appropriately to the client. This can be done by embedding additional info such as a result code in an subclass of DecoderException. Then the LdapProtocolProvider can access this info.

This problem is a direct result of trying to parse a DN for correctness when this is not the responsibility of the ASN1 codec. The LDAP BER codec should be giving stuff back to the server as is and letting the server determine whether or not the dn or other (non-asn1 constrained) constructs are invalid.




 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Emmanuel Lecharny made changes - 04/Feb/06 09:07 PM
Field Original Value New Value
Assignee Alex Karasulu [ akarasulu ] Emmanuel Lecharny [ elecharny ]
Alex Karasulu made changes - 10/Feb/06 12:34 PM
Project Directory Server [ 10516 ] Directory ApacheDS [ 12310260 ]
Key DIREVE-339 DIRSERVER-309
Alex Karasulu made changes - 10/Feb/06 02:22 PM
Component/s ldap [ 12310715 ]
Alex Karasulu made changes - 21/Aug/06 09:22 PM
Assignee Emmanuel Lecharny [ elecharny ] Alex Karasulu [ akarasulu ]
Alex Karasulu made changes - 21/Aug/06 09:23 PM
Status Open [ 1 ] In Progress [ 3 ]
Emmanuel Lecharny made changes - 22/Aug/06 11:49 PM
Link This issue is duplicated by DIRSERVER-711 [ DIRSERVER-711 ]
Alex Karasulu made changes - 27/Aug/06 06:05 PM
Status In Progress [ 3 ] Open [ 1 ]
Alex Karasulu made changes - 27/Aug/06 06:05 PM
Assignee Alex Karasulu [ akarasulu ] Emmanuel Lecharny [ elecharny ]
Alex Karasulu made changes - 27/Aug/06 06:05 PM
Link This issue duplicates DIRSERVER-711 [ DIRSERVER-711 ]
Emmanuel Lecharny made changes - 28/Aug/06 01:23 PM
Status Open [ 1 ] Resolved [ 5 ]
Resolution Duplicate [ 3 ]
Alex Karasulu made changes - 02/Oct/06 01:59 PM
Status Resolved [ 5 ] Closed [ 6 ]