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

The Open Brand -- Problem Reporting and Interpretations System


Problem Report 1174 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 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
    FAIL

    Review 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:

     

    Back   


Contact the Certification Authority