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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1987 Actions


    Problem Report Number 1987
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0573
    Raised 1995-09-12 08:00
    Updated 2003-03-13 08:00
    Published null
    Product Standard Transport Service XTI
    Certification Program The Open Brand certification program
    Test Suite VST version 4.1.3
    Test Identification XTI.os/cots/T.connect 21
    Problem Summary PGT4R.002 The test case attempts to test the read-only option TCP_MAXSEG for the TCP transport provider. However, in creating the option buffer, the option level is set to ISO_TP (see userintf.c below), which t...
    Problem Text
    The test case attempts to test the read-only option TCP_MAXSEG for the
    TCP transport provider. However, in creating the option buffer, the
    option level is set to ISO_TP (see userintf.c below), which the provider
    does not understand. The provider correctly discards the option with
    an unknown level during the t_connect() call, based on the XTI CAE
    Specification, section 5.3.2, "Illegal Options". The t_connect() call
    therefore returns 0 instead of a TACCES or TLOOK error.

    ========================
    common/vport/userintf.c:
    ========================
    u_r_o_opt(fd, provider, state, speclevel, level)
    int fd;
    int provider;
    int state, speclevel, level;
    {
    char *value;
    int len;
    int foundprovider = 0;
    static struct t_optmgmt req;
    static struct t_opthdr reqopt[64];
    struct t_opthdr *popt = reqopt;

    if (!speclevel)
    level = ANY_LEVEL;

    req.flags = T_NEGOTIATE;
    req.opt.buf = (char *) reqopt;
    req.opt.len = 0;
    req.opt.maxlen = sizeof(reqopt);

    if (provider == PD_TCP)
    {
    foundprovider++;

    switch (level)
    {
    case ANY_LEVEL:
    case INET_TCP:
    /* use TCP_MAXSEG in any state */
    if (getoptlist(INET_TCP, TCP_MAXSEG, 0, state, &
    value, &len, 0) != -1)
    addoption(&req.opt, &popt, ISO_TP,
    TCP_MAXSEG, (void *)value, len);
    break;
    [...]

    Trace of the t_connect call parameters:
    =======================================
    Tue Sep 12 11:39:00 1995 -> t_connect()
    > fd = 8
    > sndcall->addr.len = 16
    > sndcall->addr.buf = (16/16)
    00 02 4E 35 0F 0D 88 25 00 00 00 00 00 00 00 00 ..N5...%........
    > sndcall->opt.len = 16
    > sndcall->opt.buf = (16/16)
    00 00 00 10 00 00 01 00 00 00 00 02 00 00 00 00 ................
    > sndcall->udata.len = 0
    > sndcall->udata.buf = (0/0)
    > rcvcall->addr.maxlen = 16
    > rcvcall->addr.buf = 0x400142E0
    > rcvcall->opt.maxlen = 256
    > rcvcall->opt.buf = 0x400142F8
    > rcvcall->udata.maxlen = 0
    > rcvcall->udata.buf = 0x0
    < rcvcall->addr.len = 16
    < rcvcall->addr.buf = (16/16)
    00 02 4E 35 0F 0D 88 25 00 00 00 00 00 00 00 00 ..N5...%........
    < rcvcall->opt.len = 0
    < rcvcall->udata.len = 0
    < rcvcall->udata.buf = (0/0)
    Tue Sep 12 11:39:00 1995 <- t_connect() = 0
    Test Output
    400|0 21 1 16:29:17|IC Start
    200|0 21 16:29:17|TP Start
    520|0 21 00001136 1 1|t_connect() on TCP endpoint
    520|0 21 00001136 1 2|RETURN VALUES: expected: -1, observed: 0
    520|0 21 00001136 1 3|TERRNO VALUES: expected: 3 (TACCES) or 9 (TLOOK), observed
    : 0 (NO ERROR)
    220|0 21 1 16:29:17|FAIL
    410|0 21 1 16:29:17|IC End

    Review Information

    Review Type TSMA Review
    Start Date null
    Completed null
    Status Complete
    Review Recommendation No Resolution Given
    Review Response
    The file "userintf.c" is a user configurable and cannot be guaranteed to be
    consistent across all systems. It is the user's responsibility to make the
    appropriate changes to this file and it is suggested that, while it is
    recognised that this is an error in the file, the user makes the change from
    ISO_TP to INET_TCP in the appropriate place in this file. The test suite
    should then be recompiled and re-executed.

    It is recommended that this request is refused.

    Review Type SA Review
    Start Date null
    Completed null
    Status Complete
    Review Resolution Rejected (REJ)
    Review Conclusion
    This request is refused.

    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority