|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1174 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 1174.
Report 1174 Actions
Problem Report Number 1174 Submitter's Classification Specification problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0376 Raised 1970-01-01 08:00 Updated 2003-03-13 08:00 Published null Product Standard Sockets (UNIX 95) Certification Program The Open Brand certification program Test Suite VSU version 4.1.0 Test Identification Sockets/socketpair 1 6 10 11 Problem Summary PG4U.00091 This request suggests that the test should allow an EAFNOSUPPORT error if an IUT does not support socketpair() for INET domain sockets. Problem Text
This test may fail if socketpair() is not supported on a INET
domain socket.
The CAE Specification says, in the Sockets Interfaces section,
under socketpair(): "The socketpair() function is used primarily
with UNIX domain socket and need not be suppoerted for other domains."
And in its ERRORS, if the implementation does not support the
specified address family, the errno is EAFNOSUPPORT.
Using INET on this call is not supported and should generate
EAFNOSUPPORT.Test Output
TEST PURPOSE #1
If the implementation supports a communications domain
and a connection-oriented socket type:
A successful call to int socketpair(int domain, int
type, int protocol, int socket_vector[2]) shall create
a pair of connected sockets in the domain domain of
type type, place the file descriptors for the sockets
into socket_vector, and return 0.
TEST: AF_INET SOCK_STREAM
TEST: Create socket pair
|TEST: Return value
ERROR: socketpair failed, errno = 120(EPROTONOSUPPORT - Protocol not supported)
FAIL
TEST PURPOSE #6
If the implementation supports a communications domain
and a connection-oriented socket type:
EMFILE in errno and return -1 on a call to int
socketpair(int domain, int type, int protocol, int
socket_vector[2]) when no more file descriptors are
available for the process.
PREP: Determine OPEN_MAX
TEST: AF_INET SOCK_STREAM
PREP: Consume all available file descriptors
TEST: Create socket pair
TEST: Return value
TEST: errno value
ERROR: socket call failed incorrectly, errno was 120(EPROTONOSUPPORT - Protocol not supported) should have been EMFILE
FAIL
TEST PURPOSE #10
If the implementation supports a communications domain
and a socket type which does not support the creation
of socket pairs:
EOPNOTSUPP in errno and return -1 on a call to int
socketpair(int domain, int type, int protocol, int
socket_vector[2]) when the specified protocol does not
permit creation of socket pairs.
TEST: AF_INET SOCK_STREAM
TEST: Create socket pair
TEST: Return value
ERROR: socketpair failed unexpectedly, expected errno = EOPNOTSUP, errno = 120(EPROTONOSUPPORT - Protocol not supported)
FAIL
TEST PURPOSE #11
If the implementation supports a communications domain:
EPROTOTYPE in errno and return -1 on a call to int
socketpair(int domain, int type, int protocol, int
socket_vector[2]) when the specified socket type is
not supported by the specified protocol.
PREP: Get VSU_ST_FOR_PROTO_INVALID configuration parameter
TEST: Create socket pair
TEST: Return value
TEST: errno value
ERROR: socketpair call failed incorrectly, errno was 120(EPROTONOSUPPORT - Protocol not supported) should have been EPROTOTYPE
FAILReview Information
Review Type TSMA Review Start Date null Completed null Status Complete Review Recommendation No Resolution Given Review Response
We recommend this request be refused.
We believe the correct error in these circumstances is EOPNOPSUP,
which the test suite allows for these tests.
The socketpair() spec describes this error as
[EOPNOTSUPP] The specified protocol does not
permit creation of socket pairs.
That is the situation the submitter describes.
The submitter suggests that EAFNOSUPPORT should be used. We believe
this error is reserved to indicate that the address family is not
supported at all. That is not the case here.
The test results above show the implementation actually returns
EPROTONOSUPPORT. We believe this error is reserved to indicate
that the protocol is not supported at all. That can not be the
case here because the default protocol for the address family
is requested by the test.
Please note that this matter has already been discussed by
XoTGnet participants and they came to the same conclusion.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
X
This request is refused.
Problem Reporting System Options:
- View Report 1174
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority