David Howells cc8feb8edd rxrpc: Fix exclusive connection handling
"Exclusive connections" are meant to be used for a single client call and
then scrapped.  The idea is to limit the use of the negotiated security
context.  The current code, however, isn't doing this: it is instead
restricting the socket to a single virtual connection and doing all the
calls over that.

This is changed such that the socket no longer maintains a special virtual
connection over which it will do all the calls, but rather gets a new one
each time a new exclusive call is made.

Further, using a socket option for this is a poor choice.  It should be
done on sendmsg with a control message marker instead so that calls can be
marked exclusive individually.  To that end, add RXRPC_EXCLUSIVE_CALL
which, if passed to sendmsg() as a control message element, will cause the
call to be done on an single-use connection.

The socket option (RXRPC_EXCLUSIVE_CONNECTION) still exists and, if set,
will override any lack of RXRPC_EXCLUSIVE_CALL being specified so that
programs using the setsockopt() will appear to work the same.

Signed-off-by: David Howells <dhowells@redhat.com>
2016-06-22 09:10:00 +01:00
..
2016-05-27 15:26:11 -07:00
2016-05-23 13:51:10 -07:00
2016-06-12 22:02:11 -04:00
2016-06-16 17:41:23 -07:00
2015-10-23 03:05:19 -07:00
2016-05-29 22:33:25 -07:00
2016-06-16 17:12:07 -07:00
2016-05-26 10:33:33 -07:00
2016-06-09 23:41:03 -07:00
2016-05-08 23:46:14 -04:00