Issue Details (XML | Word | Printable)

Key: DIRSTUDIO-2
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Pierre-Arnaud Marcelot
Reporter: Pierre-Arnaud Marcelot
Votes: 0
Watchers: 0
Operations

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

The DSML Parser doesn't parse well base64 Data

Created: 27/Nov/06 03:12 PM   Updated: 08/Dec/06 11:23 AM
Return to search
Component/s: studio-dsml-parser
Affects Version/s: None
Fix Version/s: None

Time Tracking:
Not Specified

Resolution Date: 08/Dec/06 11:23 AM


 Description  « Hide
The DSML Parser doesn't parse well base64 Data. Especially in the ExtendedRequest.

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Pierre-Arnaud Marcelot made changes - 27/Nov/06 03:14 PM
Field Original Value New Value
Component/s ldapstudio-dsml-parser [ 12311523 ]
Pierre-Arnaud Marcelot added a comment - 06/Dec/06 03:27 PM
To specify a value as base64 encoded the following attribute must be added to the tag surrounding the value :
§ xsi:type="xsd:base64Binary" §, where xsi refers to namespace XMLSchema-Instance ( xmlns:xsi="http://www.w3c.org/2001/XMLSchema-instance" ) and xsd to namespace XMLSchema ( xmlns:xsd="http://www.w3c.org/2001/XMLSchema" ).

Base64 encoded values can be found in the following tags :
- <initial>, <any>, <final> of a Substrings Filter
- <value> in a ExtensibleMatch Filter
- <value> in a EqualityMatch Filter, GreaterOrEqual Filter, LessOrEqual Filter, ApproxMatch Filter
- <value> in a <assertion> tag in a CompareRequest
- <value> in a <attr> tag in SearchResultEntry and AddRequest
- <value> in a <modification> tag in ModifyRequest


Pierre-Arnaud Marcelot added a comment - 06/Dec/06 03:29 PM
I forgot to add another one :
- <controlValue> in a Control

Pierre-Arnaud Marcelot made changes - 06/Dec/06 03:29 PM
Status Open [ 1 ] In Progress [ 3 ]
Repository Revision Date User Message
ASF #483139 Wed Dec 06 16:33:02 UTC 2006 pamarcelot Resolving a part of the issue DIRSTUDIO-2. Base64 values are now supported in the <controlValue> tag in Control elements.
Files Changed
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/abandonRequest/request_with_1_control_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/authRequest/request_with_1_control_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modDNRequest/request_with_1_control_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/request_with_1_control_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/delRequest/request_with_1_control_base64_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/authRequest/AuthRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/searchRequest/SearchRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/extendedRequest/ExtendedRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/modifyRequest/ModifyRequestTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/compareRequest/request_with_1_control_base64_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/modDNRequest/ModifyDNRequestTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/addRequest/request_with_1_control_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modifyRequest/request_with_1_control_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedRequest/request_with_1_control_base64_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2Grammar.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/compareRequest/CompareRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/addRequest/AddRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/abandonRequest/AbandonRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/delRequest/DelRequestTest.java

Pierre-Arnaud Marcelot added a comment - 06/Dec/06 04:34 PM
Base64 values are now supported in the <controlValue> tag in Control elements.
SVN commit 483139.

Repository Revision Date User Message
ASF #483930 Fri Dec 08 11:08:09 UTC 2006 pamarcelot Updating DSML Parser. Resolving Jira DIRSTUDIO-2 (DSML Parser doesn't parse well base64 Data).

Base64 encoded values can be found in the following tags :
- <initial>, <any>, <final> of a Substrings Filter
- <value> in a ExtensibleMatch Filter
- <value> in a EqualityMatch Filter, GreaterOrEqual Filter, LessOrEqual Filter, ApproxMatch Filter
- <value> in a <assertion> tag in a CompareRequest
- <value> in a <attr> tag in SearchResultEntry and AddRequest
- <value> in a <modification> tag in ModifyRequest

Resolving problem where an exception was thrown if a value in a response was empty (<value></value>)
Files Changed
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/addResponse/response_with_1_empty_referral.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/compareResponse/response_with_1_control_empty_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/ParserUtils.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultDone/SearchResultDoneTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/errorResponse/ErrorResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultDone/response_with_1_control_empty_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/modDNResponse/ModifyDNResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modifyResponse/response_with_empty_error_message.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultEntry/response_with_1_attr_1_empty_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultEntry/SearchResultEntryTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/addResponse/response_with_empty_error_message.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/compareResponse/CompareResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_substrings_1_base64_any.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/addResponse/AddResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultDone/response_with_empty_error_message.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_equalityMatch_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_extensibleMatch_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedResponse/response_with_empty_response.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/compareRequest/CompareRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/addRequest/AddRequestTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedResponse/response_with_base64_response.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_substrings_1_base64_final.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modifyRequest/request_with_1_modification_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modifyResponse/response_with_1_empty_referral.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultEntry/response_with_1_attr_1_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/delResponse/response_with_1_control_empty_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modDNResponse/response_with_1_control_empty_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/errorResponse/response_with_empty_message.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_lessOrEqual_base64_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedRequest/request_with_empty_requestName.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modDNResponse/response_with_1_empty_referral.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedRequest/request_with_2_requestValue.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modDNResponse/response_with_empty_error_message.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2ResponseGrammar.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/compareResponse/response_with_1_empty_referral.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/modifyResponse/ModifyResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/addRequest/request_with_1_attr_with_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/addResponse/response_with_1_control_empty_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2ResponseParser.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultReference/response_with_1_control_empty_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2Parser.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/delResponse/DelResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultReference/response_with_1_empty_ref.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedResponse/response_with_1_empty_referral.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedResponse/response_with_empty_responseName.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/compareRequest/request_with_1_complete_assertion_base64_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedRequest/request_with_requestValue.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedResponse/response_with_empty_error_message.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/searchRequest/SearchRequestTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/compareResponse/response_with_empty_error_message.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultDone/response_with_1_empty_referral.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/delResponse/response_with_1_empty_referral.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/main/java/org/apache/directory/ldapstudio/dsmlv2/Dsmlv2Grammar.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultReference/SearchResultReferenceTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/extendedResponse/ExtendedResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchResponse/searchResultEntry/response_with_1_control_empty_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/authResponse/response_with_1_control_empty_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_substrings_1_base64_initial.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/extendedRequest/ExtendedRequestTest.java
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/modifyRequest/ModifyRequestTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/authResponse/response_with_1_empty_referral.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_greaterOrEqual_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/delResponse/response_with_empty_error_message.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/authResponse/response_with_empty_error_message.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/searchRequest/filters/request_with_approxMatch_base64_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedResponse/response_with_1_control_empty_value.xml
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/modifyResponse/response_with_1_control_empty_value.xml
MODIFY /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/java/org/apache/directory/ldapstudio/dsmlv2/authResponse/AuthResponseTest.java
ADD /directory/sandbox/pamarcelot/ldapstudio/ldapstudio-dsml-parser/src/test/resources/org/apache/directory/ldapstudio/dsmlv2/extendedRequest/request_with_base64_requestValue.xml

Pierre-Arnaud Marcelot added a comment - 08/Dec/06 11:23 AM
Base64 encoded values are now supported in the following tags :
- <initial>, <any>, <final> of a Substrings Filter
- <value> in a ExtensibleMatch Filter
- <value> in a EqualityMatch Filter, GreaterOrEqual Filter, LessOrEqual Filter, ApproxMatch Filter
- <value> in a <assertion> tag in a CompareRequest
- <value> in a <attr> tag in SearchResultEntry and AddRequest
- <value> in a <modification> tag in ModifyRequest.

Fixed at SVN commit 483930.

Pierre-Arnaud Marcelot made changes - 08/Dec/06 11:23 AM
Resolution Fixed [ 1 ]
Status In Progress [ 3 ] Resolved [ 5 ]
Pierre-Arnaud Marcelot added a comment - 08/Dec/06 11:23 AM
Closed.

Pierre-Arnaud Marcelot made changes - 08/Dec/06 11:23 AM
Status Resolved [ 5 ] Closed [ 6 ]