|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 2429 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 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 16Specification Base Definitions Issue 6 Location in Spec http://www.opengroup.org/onlinepubs/009695399/functions/sendmsg.html
http://www.opengroup.org/onlinLinked Problem Reports PIN.X.0176 Problem Summary CAPI.os/sockets/sendto 13, 16 and CAPI.os/sockets/sendmsg 16, grey area
in the specificationProblem 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:
- View Report 2429
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority