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

The Open Brand -- Problem Reporting and Interpretations System


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


Report 2429 Actions


    Problem Report Number 2429
    Submitter's Classification Specification problem
    State Resolved
    Resolution Permanent Interpretation (PIN)
    Problem Resolution ID PIN.X.0275
    Raised 2004-10-29 03:45
    Updated 2004-10-30 15:07
    Published 2004-10-30 15:07
    Product Standard Internationalised System Calls and Libraries Extended V3 (UNIX 03)
    Certification Program The Open Brand certification program
    Test Suite VSU version 5.2.5
    Test Identification CAPI.os/sockets/sendto 13, 16
    CAPI.os/sockets/sendmsg 16
    Specification Base Definitions Issue 6
    Location in Spec http://www.opengroup.org/onlinepubs/009695399/functions/sendmsg.html
    http://www.opengroup.org/onlin
    Linked Problem Reports PIN.X.0176
    Problem Summary CAPI.os/sockets/sendto 13, 16 and CAPI.os/sockets/sendmsg 16, grey area
    in the specification
    Problem Text Assertions #13 and #16 for sendto and assertion #16 for sendmsg fail due
    to a grey area in the specification. This grey area is described in
    PIN.X.1076 which applies to UNIX95.

    The standard does not say anything about which errno should
    be returned when two error conditions are present at the same time:
    http://www.opengroup.org/onlinepubs/009695399/functions/sendmsg.html
    http://www.opengroup.org/onlinepubs/009695399/functions/sendto.html

    A new waiver should be granted for UNIX03.
    Test Output
    ****************************************************************************************************************
    /tset/CAPI.os/sockets/sendmsg/T.sendmsg 16 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain and a
    connectionless socket type:
    EOPNOTSUPP in errno and return -1 on a call to ssize_t sendmsg(int
    socket, const struct msghdr *message, int flags) when the specified
    flags are not supported for this type of socket.

    Test Information:
    TEST: AF_INET SOCK_DGRAM
    PREP: Create test sockaddr_in: address = 192.29.85.73, port = 3953
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.73, port 3953
    TEST: send message with MSG_OOB in flags
    TEST: Return value
    TEST: errno value
    ERROR: sendmsg call failed incorrectly, errno was 133 (EISCONN -
    Socket
    is connected) should have been
    EOPNOTSUPP
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.73, port 3953 to socket
    PREP: Server: notify client server is ready
    PREP: Server: read and echo data
    INFO: Server received signal 15
    INFO: Server terminated


    ****************************************************************************************************************


    ****************************************************************************************************************
    /tset/CAPI.os/sockets/sendto/T.sendto 13 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain and a socket
    type:
    EMSGSIZE in errno and return -1 on a call to ssize_t sendto(int
    socket, const void *message, size_t length, int flags, const struct
    sockaddr *dest_addr, size_t dest_len) when the message is too
    large to
    be sent at once as the socket requires.

    Test Information:
    PREP: Allocate a big buffer and fill with '#'.
    TEST: AF_INET SOCK_DGRAM
    PREP: Create test sockaddr_in: address = 192.29.85.73, port = 2881
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.73, port 2881
    TEST: send huge message
    TEST: Return value
    TEST: errno value
    ERROR: sendto call failed incorrectly, errno was 133 (EISCONN -
    Socket is connected) should have been EMSGSIZE
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.73, port 2881 to socket
    PREP: Server: notify client server is ready
    PREP: Server: read and echo data
    INFO: Server received signal 15
    INFO: Server terminated


    ****************************************************************************************************************


    ****************************************************************************************************************
    /tset/CAPI.os/sockets/sendto/T.sendto 16 Failed

    Test Description:
    Base Conditional Deviance
    If the implementation supports a communications domain and a
    connectionless socket type:
    EOPNOTSUPP in errno and return -1 on a call to ssize_t sendto(int
    socket, const void *message, size_t length, int flags, const struct
    sockaddr *dest_addr, size_t dest_len) when the specified flags
    are not
    supported for this type of socket.

    Test Information:
    TEST: AF_INET SOCK_DGRAM
    PREP: Create test sockaddr_in: address = 192.29.85.73, port = 1725
    PREP: Wait for server to be ready
    PREP: Create a socket
    PREP: Connect socket to address 192.29.85.73, port 1725
    TEST: send message with MSG_OOB in flags
    TEST: Return value
    TEST: errno value
    ERROR: sendto call failed incorrectly, errno was 133 (EISCONN -
    Socket is connected) should have been EOPNOTSUPP
    CLEANUP: Send SIGTERM to server
    PREP: Server: create socket
    PREP: Server: bind address 192.29.85.73, port 1725 to socket
    PREP: Server: notify client server is ready
    PREP: Server: read and echo data
    INFO: Server received signal 15
    INFO: Server terminated


    ****************************************************************************************************************

    Review Information

    Review Type SA Review
    Start Date 2004-10-29 03:45
    Last Updated 2004-10-30 01:22
    Completed 2004-10-30 01:22
    Status Complete
    Review Resolution Temporary Interpretation (TIN)
    Review Conclusion The SA believes that the Rationale supplied with this PR has merit and
    therefore agrees that a Temporary interpretation is appropriate
    pending an Austin Group interpretation.

    There are places in the specification where the word "connected" is used
    to refer to a connectionless-mode socket with a prespecified peer
    address. E.g. in section 2.10.16 Use of Options:

    "SO_ERROR may be used to check for asynchronous errors on connected
    connectionless-mode sockets"

    and on the send() page:

    "The send() function shall send a message only when the socket is
    connected (including when the peer of a connectionless socket has been
    set via connect())."



    Problem Reporting System Options:

     

    Back   


Contact the Certification Authority