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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 1193 Actions


    Problem Report Number 1193
    Submitter's Classification Test Suite problem
    State Resolved
    Resolution Rejected (REJ)
    Problem Resolution ID REJ.X.0395
    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/connect 17
    Problem Summary PG4U.00072 The IR claims that the connect() is blocking because no accept() as been performed.
    Problem Text
    The IR claims that the connect() is blocking because no accept()
    as been performed.

    The implementation of the assertion is not portable.

    The AF_UNIX SOCK_STREAM test on this assertion is FAILED because
    the connect() issued from the server failed with errno EINTR.

    connect() for AF_UNIX sockets has a slightly different implementation
    than connect() for AF_INET sockets. AF_UNIX does not complete a
    connection until the accept is done on the server side. (AF_INET, on
    the other hand, would complete the connection and return a zero return
    value as soon as the listen is done on the server side.)

    Since this testcase never issues an accept on the server side
    the connect call will never complete. It waits until it finally times
    out and sends a signal to interrupt the request and fails with EINTR.
    Test Output
    TEST PURPOSE #17
    If the implementation supports the AF_UNIX
    communications domain and a connection-oriented socket
    type:
    EACCES in errno and return -1 on a call to int
    connect(int socket, const struct sockaddr *address,
    size_t address_len) when the address family of the
    socket is AF_UNIX and write access is denied to the
    named socket.
    TEST: AF_UNIX SOCK_STREAM
    PREP: Create test sockaddr_un: path = ../tmp/unix.ACbCxQ
    PREP: Make a directory
    PREP: Set file in this directory as address
    PREP: Create socket
    PREP: Wait for child to be ready
    TEST: Call connect to address without write permission
    TEST: Return value
    TEST: errno value
    ERROR: connect call failed incorrectly, errno was 120(EINTR - Interrupted system call) should have been EACCES
    PREP: Child: create socket
    PREP: Child: bind to socket
    PREP: Child: change permissions on the file
    PREP: Child: listen on socket with backlog of 2
    PREP: Child: tell parent ready
    PREP: Child: wait for parent to complete test
    17 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 test is correct.

    Blocking during the connect indicates that the connect() accepted
    the address specified as valid and is waiting for the connect()
    to complete.

    The issue of requiring an accept() call before the connect() will
    complete is not meaningful since the connect() should never reach
    the point of attempting the connection.

    The spec requires that connect() return EACCESS when write access
    is denied to the named socket.

    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