Hi Stepan and Alexei,
I'm sorry I should post here to discuss before I commit. The reason is
Jndi has different requirement against other modules on ASN1. For
example, following code throws exception on harmony while passes on
RI.
String Id="test";
boolean crit=false;
byte[] ber1={48,1,10,1,0};
SortResponseControl src=null;
src = new SortResponseControl(Id, crit, ber1);
The stack trace is[1]
If I fix it in security directly, some regression[2] will be caused.
I'm not an expert on security, so I believe it is a temp workaround
for jndi. I'd like to roll back this commit and wait for discussion
here.
[1]
org.apache.harmony.security.asn1.ASN1Exception: Wrong content length
at
org.apache.harmony.security.asn1.BerInputStream.<init>(BerInputStream.java:12)
at
org.apache.harmony.security.asn1.DerInputStream.<init>(DerInputStream.java:39)
at org.apache.harmony.security.asn1.ASN1Type.decode(ASN1Type.java:98)
at
javax.naming.ldap.SortResponseControl.<init>(SortResponseControl.java:114)
at
org.apache.harmony.jndi.tests.javax.naming.ldap.TestSortResponseControl.testSortResponseControl019(TestSortResponseControl.java:440)
at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25)
at java.lang.reflect.Method.invoke(Method.java:258)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:16)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:19)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:28)
at junit.framework.TestSuite.run(TestSuite.java:23)
at
org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:128)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
[2]
test_Ctor$LbyteLintLint Failure No expected ASN1Exception
junit.framework.AssertionFailedError: No expected ASN1Exception at
org.apache.harmony.security.tests.asn1.der.BerInputStreamTest.test_Ctor$LbyteLintLint(BerInputStreamTest.java:136)
at java.lang.reflect.AccessibleObject.invokeV(AccessibleObject.java:25)
On 6/19/07, Alexei Fedotov <[EMAIL PROTECTED]> wrote:
+1 to Stepan's question
On 6/19/07, Stepan Mishura <[EMAIL PROTECTED]> wrote:
> Hi Tony,Kelvin,
>
> I'm confused with the issue resolution. The ASN.1 encoders/decoders
> from 'security' module used by other modules (auth, crypto). But I can
> not understand why 'jndi' module need the separate/own set of
> encoders/decoders copied from 'security' module (r548598). What's
> wrong with importing it from 'security' module? Could you comment?
>
> Thanks,
> Stepan.
>
> -----Original Message-----
> From: Tony Wu (JIRA) [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, June 19, 2007 12:10 PM
> To: [EMAIL PROTECTED]
> Subject: [jira] Commented: (HARMONY-4226) [classlib][jndi] Class
> SortResponseControl has some failures
>
>
> [
https://issues.apache.org/jira/browse/HARMONY-4226?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506046
> ]
>
> Tony Wu commented on HARMONY-4226:
> ----------------------------------
>
> Hi Kelvin,
> This patch brings extra dependency from security to jndi. I suggest
> that we use the Messages.java in jndi rather than that in security.
>
> > [classlib][jndi] Class SortResponseControl has some failures
> > ------------------------------------------------------------
> >
> > Key: HARMONY-4226
> > URL: https://issues.apache.org/jira/browse/HARMONY-4226
> > Project: Harmony
> > Issue Type: Bug
> > Components: Classlib
> > Environment: linux and windows
> > Reporter: Kelvin Ye
> > Assignee: Tony Wu
> > Attachments: harmony-4226.zip
> >
> >
> > Class SortResponseControl will fail in the following test cases, but RI
will pass.
> > String Id="test";
> > boolean crit=false;
> > byte[] ber1={48,1,10,1,0};
> > byte[] ber2={48,5,10,1,3};
> > byte[] ber3={48,3,10,2,3,3};
> > byte[] ber4={48,4,10,1,3,3,3};
> > byte[] ber5={48,8,10,1,3,(byte)128,3,'T','e','s','t'};
> > SortResponseControl src=null;
> > src = new SortResponseControl(Id, crit, ber1);
> > assertEquals(Id, src.getID());
> > assertEquals(src.getResultCode(), 0);
> > src = new SortResponseControl(Id, crit, ber2);
> > assertEquals(src.getResultCode(), 3);
> > src = new SortResponseControl(Id, crit, ber3);
> > assertEquals(src.getResultCode(), 771);
> > src = new SortResponseControl(Id, crit, ber4);
> > assertEquals(src.getResultCode(), 3);
> > src = new SortResponseControl(Id, crit, ber5);
> > assertEquals(src.getResultCode(), 3);
> > assertEquals("Tes", src.getAttributeID());
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue online
>
>
> Thanks,
> Stepan Mishura
> Intel Enterprise Solutions Software Division
>
--
With best regards,
Alexei,
ESSD, Intel
--
Tony Wu
China Software Development Lab, IBM