Changes: * Add validation to accept() to ensure file descriptors provided refer to SOCK_STREAM sockets in the SOCK_LISTENING state * Rather than writing a reply to the patty client socket when accepting a SABM or SABME request, write a message to the remote end of the listening socket; this avoids issues wherein a client receives an unexpected accept() response that may be unrelated to another pending request; this also allows client code to use select(2) on listening sockets * In patty_client_accept(), send the initial request to validate that the local socket can accept connections, and then wait for a connection to be made, reading a message written to the listening socket from the patty server * Allow select(2) to notify on accepted connections |
||
---|---|---|
.. | ||
patty |