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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1951 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 1951.


Report 1951 Actions


    Problem Report Number 1951
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Test Suite Deficiency (TSD)
    Problem Resolution ID TSD.X.0978
    Raised 1996-08-16 08:00
    Updated 2003-03-13 08:00
    Published 1996-08-28 08:00
    Product Standard Transport Service XTI
    Certification Program The Open Brand certification program
    Test Suite VST version 4.1.4
    Test Identification XTI.os/cots/connect/T.connect 6,7
    Problem Summary TSDT4.016 connect{6} builds an options buffer with option IP_DONTROUTE and level INET_TCP. This is the wrong level for the option, so the option is effectively "unknown". (The subject of the test.) It then does...
    Problem Text

    connect{6} builds an options buffer with option IP_DONTROUTE and level
    INET_TCP. This is the wrong level for the option, so the option is
    effectively "unknown". (The subject of the test.)

    It then does a connect, and expects the option not to appear in the
    return buffer, since it was unknown.

    It checks for the option in the return buffer by calling
    SRC/common/tsetlib/findoption.c. If you look at this, you will notice
    that it does not initially check opt.len for >0, but instead
    immediately examines the first location in the buffer, and only at the
    end of the first pass does OPT_NEXTHDR, which checks opt.len.

    We do an initial copy of the option in the request buffer to the corresponding
    location in the return buffer, before actually evaluating the option request.
    When we determine that the option should be skipped for one reason or another,
    we do not increment our pointer to the return buffer. At the end of processing
    the request buffer, we set retopt.len to the difference between the pointer
    into the return buffer and the beginning of the return buffer.

    In this case, we detected the invalid option, and set retopt.len to zero.
    But the code in connect.c(t6_7_sub) and findoption did not test the len
    field, and instead immediately examined the return buffer.

    We consider this behavior of findoption to be invalid.

    connect{7} uses the same common subroutine as connect{6}.
    Test Output

    400|10 6 1 17:04:52|IC Start
    200|10 6 17:04:52|TP Start
    520|10 6 000393235 1 1|t_connect() on TCP endpoint
    520|10 6 000393235 1 2|Option with unknown name <16> found in rcvcall buffer
    220|10 6 1 17:04:53|FAIL
    410|10 6 1 17:04:53|IC End

    400|10 7 1 06:40:50|IC Start
    200|10 7 06:40:50|TP Start
    520|10 7 000327700 1 1|t_connect() on TCP endpoint
    520|10 7 000327700 1 2|Option with unknown name <1> found in rcvcall buffer
    220|10 7 1 06:40:51|FAIL
    410|10 7 1 06:40:51|IC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    It is agreed that this is a Test Suite Deficiency and it is recommended
    that a waiver is granted.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Test Suite Deficiency (TSD)
    Review Conclusion
    This is an agreed Test Suite Deficiency.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority