HomeAbout Us A-Z IndexSearch * Contact Us Register LoginPress Shop

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 2276 Details

Help Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges

This page provides all information on Problem Report 2276.


Report 2276 Actions


    Problem Report Number 2276
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0640
    Raised 2003-08-20 00:52
    Updated 2003-08-27 14:24
    Published 2003-08-27 14:24
    Product Standard LDAP Certified
    Certification Program The Open Brand certification program
    Test Suite VSLDAP version 2.1-GA
    Test Identification 1_4_1_15
    Problem Summary Test ID: 1_4_1_15
    Problem Text Error Description: This test is an ldapsearch with three required
    attributes 1) cn 2) mail 3) telephonenumber;foo . The
    test is failing because the test suite reports that we are returning a
    value for "telephonenumber;foo". However, when we
    use our client we only return the appropriate dn, cn, and mail value. To
    show that this is a test suite deficiency, we
    modified the associated java file (find attached) to printout the
    attributes that were being passed back from the
    server. The output is below:

    cn=Margaret Thatcher, ou=Help Desk, ou=IT, ou=Americas, ou=Search,
    o=IMC, c=US attr cn has value Margaret Thatcher
    attr mail has value Margaret.Thatcher@dirconnect2.org

    Note that there is no line which says "attr telephonenumber;foo has
    value ". Hence our server is behaving correctly by not returning any
    value for the "telephonenumber;foo" attribute. The test suite code is
    deficient.


    Solution: Here is the modifation we made to the Java to verify the test
    suite deficiency to therefore produce the
    desired results.

    import TET.*;
    import vsldap.api.*;

    *
    * Test: common_elements1_4_1_15
    *
    * Class: A
    *
    * Assertion: A server treats an attributeDescription with any options
    that * it does not implement as an unrecognised attribute type
    * * Reference: rfc2251#4.1.5
    *
    * Strategy: * PROCEDURE: Submit a search request with a search
    filter, base, scope and * attributes list as given below.
    * INPUT: search:base = ou=Americas, ou=Search, o=IMC, c=US
    * INPUT: search:scope = wholeSubtree
    * INPUT: search:filter = (cn=Margaret Thatcher)
    * INPUT: search:attributes = {"cn", "telephonenumber;foo", "mail" }
    * EXPECTED: Unrecognized option should be ignored. The entry for
    Margaret * Thatcher should be returned. (Note telephonenumber
    attribute should not be
    * included in attributes returned, because an unknown option
    requires that * a server treat the attribute affected by that
    option as an unknown attribute).
    * NOTES: BLITS 3.3.2.5 * *
    * VSLDAP test case
    * (c) Copyright 2000-2002 The Open Group. All rights reserved.
    */



    public class common_elements1_4_1_15 extends SimpleTestCase
    {

    public static void main( String[] args )
    {
    main( args, new common_elements1_4_1_15() );
    }

    public void i1t1( TestSession ts )

    {
    LDAPSession ldap = new LDAPSession( ts );
    SearchResponse response;
    String good_attrs[] = { "cn", "mail" };
    String bad_attr = "telephonenumber;foo";

    try{
    ldap.connect(); }
    catch( LDAPexception e ){
    ts.tet_infoline( "WARNING: Failed to connect,
    resultCode: "+e.response.resultCode ); ts.tet_result(
    ts.TET_UNRESOLVED ); return;
    }



    String baseObject = "ou=Americas, ou=Search, o=IMC, c=US";
    String filter = "(cn=Margaret Thatcher)";

    SearchRequest request = new SearchRequest( baseObject, filter );
    request.scope = Scope.wholeSubtree;

    for( int i=0; i<good_attrs.length; i++)
    {
    request.attributes.addElement( good_attrs[i] );
    }
    request.attributes.addElement( bad_attr );

    try{
    response = ldap.search( request );

    if( response.entries.size() > 0 )
    {
    SearchResultEntry e = response.getEntry(0);

    /* Start Print Statement */
    System.out.println(e.objectName);

    for(int j = 0; j<e.attributes.size(); j++)
    {
    Attribute a = (Attribute)e.attributes.get(j);
    for(int k = 0; k<a.vals.size(); k++)
    {
    String value = (String)a.vals.elementAt(k);
    System.out.println("attr "+ a.type +" has
    value " + value);
    }
    }
    /* End Print Statement */

    if( (e.attributeExists( "cn", "Margaret
    Thatcher" ))
    &&(e.attributeExists( good_attrs[0], "*") )
    &&(e.attributeExists( good_attrs[1], "*") )
    &&((e.attributeExists( bad_attr, "*") == false) )
    )
    {
    ts.tet_result( ts.TET_PASS );
    }
    else
    {
    ts.tet_infoline( "WARNING: Wrong set of
    attributes returned" ); ts.tet_result(
    ts.TET_FAIL );
    }


    } else
    {
    ts.tet_infoline( "WARNING: Search returned no
    (0) entries" ); ts.tet_result( ts.TET_FAIL );
    }


    }
    catch( LDAPexception e ){ ts.tet_infoline(
    "WARNING: search resultCode: "+e.response.resultCode );
    ts.tet_result( ts.TET_UNRESOLVED );
    }


    try{
    ldap.unbind(); }
    catch( LDAPexception e ){
    ts.tet_infoline( "WARNING: Failed to unbind" );
    ts.tet_result( ts.TET_UNRESOLVED ); return;
    }

    }

    }

    Review Information

    Review Type TSMA Review
    Start Date 2003-08-20 00:52
    Last Updated 2003-08-22 03:28
    Completed 2003-08-22 03:28
    Status Complete
    Review Recommendation No Resolution Given
    Review Response The reporters say that they are failing because the test suite "reports
    that we are returning a value for "telephonenumber;foo". However there
    is no code in the test to make this report. In the absence of a test
    journal to back up the report I can not accept this as a TSD. Also I
    have been unable to reproduce the problem in testing.

    Review Type SA Review
    Start Date 2003-08-22 02:28
    Last Updated 2003-08-22 03:39
    Completed 2003-08-22 03:39
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion Without a journal output it is not possible to determine whether the
    test suite is at fault, furthermore the TSMA was unable to reproduce
    the behavior observed by the submitter and can find nothing in the test
    code that could cause it. This PR is thus rejected as a TSD on
    procedural grounds. The submitter may wish to resubmit a TSD request
    with the journal included.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority