You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Emmanuel Lecharny (JIRA)" <di...@incubator.apache.org> on 2005/02/19 03:24:49 UTC
[jira] Updated: (DIRSNICKERS-103) Bad encoding of tags number above 127
[ http://issues.apache.org/jira/browse/DIRSNICKERS-103?page=history ]
Emmanuel Lecharny updated DIRSNICKERS-103:
------------------------------------------
Attachment: asn1-ber.diff
Here are corrections for the issue. All the asn1-ber test are successful, with wome kind of weird messages, which seems to be "expected" errors ... :
[elecharny@wkslx01 ber]$ maven test
__ __
| \/ |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \ ~ intelligent projects ~
|_| |_\__,_|\_/\___|_||_| v. 1.0.2
Attempting to download asn1-codec-0.3-SNAPSHOT.jar.
Attempting to download ldap-common-0.9-SNAPSHOT.jar.
Attempting to download ldap-snacc-provider-0.9-SNAPSHOT.jar.
build:start:
java:prepare-filesystem:
java:compile:
[echo] Compiling to /home/elecharny/apache-ds-good/asn1/trunk/ber/target/classes
[echo]
==========================================================
NOTE: Targetting JVM 1.4, classes
will not run on earlier JVMs
==========================================================
java:jar-resources:
test:prepare-filesystem:
test:test-resources:
test:compile:
test:test:
[junit] Running org.apache.asn1.ber.BERDecoderCallbackAdapterTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.027 sec
[junit] Running org.apache.asn1.ber.SimplePrimitiveTLVTests
[junit] Tests run: 3, Failures: 0, Errors: 0, Time elapsed: 0.11 sec
[junit] Running org.apache.asn1.ber.ConstructedTLVTests
[junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.049 sec
[junit] Running org.apache.asn1.ber.MultiByteTagTests
[junit] Tests run: 9, Failures: 0, Errors: 0, Time elapsed: 0.051 sec
[junit] Running org.apache.asn1.ber.SingleByteLengthTests
[junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.123 sec
[junit] Running org.apache.asn1.ber.SingleByteTagTests
[junit] Tests run: 37, Failures: 0, Errors: 0, Time elapsed: 0.058 sec
[junit] Running org.apache.asn1.ber.EncodeDecodeTests
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.142 sec
[junit] Running org.apache.asn1.ber.MultiByteLengthTests
[junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.112 sec
[junit] Running org.apache.asn1.ber.BEREncoderTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.033 sec
[junit] Running org.apache.asn1.ber.BERDecoderStateTest
[junit] Tests run: 7, Failures: 0, Errors: 0, Time elapsed: 0.028 sec
[junit] Running org.apache.asn1.ber.LengthTest
[junit] Tests run: 6, Failures: 0, Errors: 0, Time elapsed: 0.006 sec
[junit] Running org.apache.asn1.ber.LdapMessageTests
[junit] Tests run: 9, Failures: 0, Errors: 0, Time elapsed: 0.207 sec
[junit] Running org.apache.asn1.ber.TypeClassTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.019 sec
[junit] Running org.apache.asn1.ber.TupleTreeDecoderTest
[junit] Tests run: 4, Failures: 0, Errors: 0, Time elapsed: 0.122 sec
[junit] Running org.apache.asn1.ber.TupleTest
[junit] Tests run: 24, Failures: 0, Errors: 0, Time elapsed: 0.027 sec
[junit] Running org.apache.asn1.ber.digester.BERDigesterTest
Error while triggering rule org.apache.asn1.ber.digester.BERDigesterTest$ErrorRule@c67a88 with digester org.apache.asn1.ber.digester.BERDigester@96ad7c: Rule.tag() threw error
java.lang.Error
at org.apache.asn1.ber.digester.BERDigesterTest$ErrorRule.tag(BERDigesterTest.java:939)
at org.apache.asn1.ber.digester.BERDigester.fireTagEvent(BERDigester.java:1033)
at org.apache.asn1.ber.digester.BERDigester$DigesterCallback.tagDecoded(BERDigester.java:164)
at org.apache.asn1.ber.BERDecoder.fireTagDecoded(BERDecoder.java:357)
at org.apache.asn1.ber.BERDecoder.decodeOccurred(BERDecoder.java:274)
at org.apache.asn1.codec.stateful.AbstractStatefulDecoder.decodeOccurred(AbstractStatefulDecoder.java:130)
at org.apache.asn1.ber.TagDecoder.decode(TagDecoder.java:57)
at org.apache.asn1.ber.BERDecoder.decode(BERDecoder.java:153)
at org.apache.asn1.ber.digester.BERDigester.decode(BERDigester.java:145)
at org.apache.asn1.ber.digester.BERDigesterTest.testErrorOnTag(BERDigesterTest.java:552)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
...
(lines and lines and lines)
...
at java.lang.reflect.Method.invoke(Method.java:324)
at com.werken.forehead.Forehead.run(Forehead.java:551)
at com.werken.forehead.Forehead.main(Forehead.java:581)
[junit] Tests run: 29, Failures: 0, Errors: 0, Time elapsed: 358.463 sec
[junit] Running org.apache.asn1.ber.digester.TagTreeTest
[junit] Tests run: 13, Failures: 0, Errors: 0, Time elapsed: 0.026 sec
[junit] Running org.apache.asn1.ber.digester.rules.ByteAccumulatorTest
[junit] Tests run: 8, Failures: 0, Errors: 0, Time elapsed: 0.011 sec
[junit] Running org.apache.asn1.ber.digester.rules.PrimitiveOctetStringRuleTest
[junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.128 sec
[junit] Running org.apache.asn1.ber.digester.rules.PrimitiveIntDecodeRuleTest
[junit] Tests run: 18, Failures: 0, Errors: 0, Time elapsed: 0.125 sec
[junit] Running org.apache.asn1.ber.digester.RulesBaseTest
[junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0.12 sec
[junit] Running org.apache.asn1.ber.digester.TagNodeTest
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.004 sec
[junit] Running org.apache.asn1.ber.TagTest
[junit] Tests run: 9, Failures: 0, Errors: 0, Time elapsed: 0.376 sec
[junit] Running org.apache.asn1.ber.DefaultMutableTupleNodeTest
[junit] Tests run: 28, Failures: 0, Errors: 0, Time elapsed: 0.044 sec
[junit] Running org.apache.asn1.ber.BERDecoderTest
[junit] Tests run: 11, Failures: 0, Errors: 0, Time elapsed: 0.043 sec
[junit] Running org.apache.asn1.ber.primitives.PrimitiveUtilsTest
[junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0.105 sec
BUILD SUCCESSFUL
Total time: 13 seconds
Finished at: Sat Feb 19 03:12:28 CET 2005
> Bad encoding of tags number above 127
> -------------------------------------
>
> Key: DIRSNICKERS-103
> URL: http://issues.apache.org/jira/browse/DIRSNICKERS-103
> Project: Directory Snickers
> Type: Bug
> Components: BER Runtime
> Versions: 0.2.0
> Reporter: Emmanuel Lecharny
> Assignee: Alex Karasulu
> Priority: Minor
> Attachments: asn1-ber.diff
>
> Tere is a bug in functions :
> org.apache.asn1.ber.Tag.getTagId(byte[])
> and
> org.apache.asn1.ber.Tag.getTagId(TagOctetCollector)
> when the tag has a number above 127 - which may be very unlikely to happen ! -. In this case, bytes are decoded in the revert order :
> ...
> // calculate tag value w/ long tag format
> for( int ii = 1 ; ii < octets.length; ii++ )
> {
> int shift = ( ii - 1 ) * 7 ;
> id |= ( octets[ii] & LONG_MASK ) << shift ;
> }
> ...
> should be :
> ...
> // calculate tag value w/ long tag format
> for ( int ii = 1; ii < octets.length; ii++ )
> {
> id = (id << 7) | (octets[ii] & LONG_MASK);
> }
> ...
> in both functions.
> The test case should also be corrected, as value are create din the revert order in test
> org.apache.asn1.bertestGetTagIdByteArray() :
> ...
> octets[1] = (byte)(ii & Tag.LONG_MASK);
> octets[2] = (byte)((ii >> 7) & Tag.LONG_MASK);
> ...
> should be :
> ...
> octets[1] = (byte)((ii >> 7) & Tag.LONG_MASK);
> octets[2] = (byte)(ii & Tag.LONG_MASK);
> ...
> and
> ...
> octets[1] = (byte)(ii & Tag.LONG_MASK);
> octets[2] = (byte)((ii >> 7) & Tag.LONG_MASK);
> octets[3] = (byte)((ii >> 14) & Tag.LONG_MASK);
> ...
> should be :
> ...
> octets[1] = (byte)((ii >> 14) & Tag.LONG_MASK);
> octets[2] = (byte)((ii >> 7) & Tag.LONG_MASK);
> octets[3] = (byte)(ii & Tag.LONG_MASK);
> ...
> Function org.apache.asn1.ber.Tag.getTagId(int) seems to works correctly - although not tested.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira