I could not decode the sub filter sent by Outlook which is hidden in a virtuallistcontrol requrest’s data section, using the library, as it throws IO exception:

java.io.IOException

            at netscape.ldap.client.JDAPBERTagDecoder.getElement(Unknown Source)

            at netscape.ldap.ber.stream.BERTag.<init>(Unknown Source)

            at netscape.ldap.ber.stream.BERElement.getElement(Unknown Source)

            at netscape.ldap.ber.stream.BERConstruct.<init>(Unknown Source)

            at netscape.ldap.ber.stream.BERSequence.<init>(Unknown Source)

            at netscape.ldap.ber.stream.BERElement.getElement(Unknown Source)

            at com.intraspect.ldap.server.LDAPVirtualListRequest.parseResponse(LDAPVirtualListRequest.java:109)

            at com.intraspect.ldap.server.LDAPVirtualListRequest.<init>(LDAPVirtualListRequest.java:97)

            at com.intraspect.ldap.server.LDAPConnection.processSearchRequest(LDAPConnection.java:379)

            at com.intraspect.ldap.server.LDAPConnection.processResponse(LDAPConnection.java:156)

            at com.intraspect.ldap.server.LDAPConnection.run(LDAPConnection.java:73)

            at com.intraspect.util.ThreadPoolThread.run(ThreadPoolThread.java:73)

 

I figured out that the fix is something like this in class JDAPBERTagDecoder, method:

 

    public BERElement getElement(BERTagDecoder decoder, int tag,

        InputStream stream, int[] bytes_read, boolean[] implicit)

 

            case 0x81:

                element = new BEROctetString(decoder, stream, bytes_read);       -> I added this part.

                implicit[0] = true;

            break;

            case 0x85:  /* Context Specific [5]:

                 * (a) Handle Microsoft v3 referral bugs! (Response)                   -> some existing codes

                 * (b) Handle Microsoft v3 supportedVersion in Bind

                 *     response           

                 */

                element = new BERInteger(stream, bytes_read);

                implicit[0] = true;

            break;

 

 …

 

I am not 100% sure about this, and not sure if this is MS specific or it is a library bug, anybody can help??

 

Thanks a lot,

 

Ming

Software Engineer

Vignette Corporation

Level 1

116 Miller Street

North Sydney 2060

 

Phone:   +61 2 9455 5318

Fax:       +61 2 9455 5200

Mobile:  +61 402 317 053

minghui.liu@vignette.com

Vignette's software and expertise help organizations harness the power of information and the Web to deliver measurable improvements in business efficiency. Vignette is the efficiency expert. Visit http://www.vignette.com to learn more

 

 

 

Reply via email to