|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1951 Details
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 EndReview 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:
- View Report 1951
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority