[Spice-devel] [PATCH spice-server 4/4] Provide and reuse default implementation for config_socket

Christophe Fergeau cfergeau at redhat.com
Wed Feb 15 11:09:52 UTC 2017


On Wed, Feb 15, 2017 at 06:02:00AM -0500, Frediano Ziglio wrote:
> > 
> > On Tue, Feb 14, 2017 at 03:55:25PM +0100, Christophe Fergeau wrote:
> > > I would not provide any default implementation, and just change
> > > red_channel_config_socket to
> > > 
> > 
> > Thinking more about this, I actually would provide a default
> > implementation, and move the setsockopt/fnctl code from
> > reds_init_client_connection() in the default implementation, and make
> > sure the child classes properly chain up to it (or call it directly if
> > chaining up is complicated)
> > 
> > Christophe
> > 
> 
> This would introduce possible race conditions.
> On reds.c the sockets are initialized before any usage.
> Setting not blocking is quite mandatory to avoid some races using
> some layers (like TLS). In this case before config_socket there
> are the headers to tell which channel is this. A client could use
> the race to cause the Qemu main thread to stop waiting for data
> (potentially this could happen without authentication).

Does this include TCP_NODELAY as well?

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/spice-devel/attachments/20170215/5e83c407/attachment.sig>


More information about the Spice-devel mailing list