On Fri, Mar 09, 2012 at 12:26:50PM -0500, Nahum Shalman wrote: > If we allow listening on arbitrary sockets like unix sockets, > we can get ENOPROTOOPT errors from setsockopt calls that set TCP > specific options. This should be allowed to happen. > --- > server/inputs_channel.c | 2 +- > server/spicevmc.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/server/inputs_channel.c b/server/inputs_channel.c > index a3f26c0..fb25fe0 100644 > --- a/server/inputs_channel.c > +++ b/server/inputs_channel.c > @@ -470,7 +470,7 @@ static int inputs_channel_config_socket(RedChannelClient > *rcc) > > if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, > &delay_val, sizeof(delay_val)) == -1) { > - if (errno != ENOTSUP) { > + if (errno != ENOTSUP && errno != ENOPROTOOPT) { > red_printf("setsockopt failed, %s", strerror(errno)); > return FALSE; > } > diff --git a/server/spicevmc.c b/server/spicevmc.c > index 30aaf2f..9449c1e 100644 > --- a/server/spicevmc.c > +++ b/server/spicevmc.c > @@ -92,7 +92,7 @@ static int > spicevmc_red_channel_client_config_socket(RedChannelClient *rcc) > if (rcc->channel->type == SPICE_CHANNEL_USBREDIR) { > if (setsockopt(stream->socket, IPPROTO_TCP, TCP_NODELAY, > &delay_val, sizeof(delay_val)) != 0) { > - if (errno != ENOTSUP) { > + if (errno != ENOTSUP && errno != ENOPROTOOPT) { > red_printf("setsockopt failed, %s", strerror(errno)); > return FALSE; > }
ACK, this looks like a reasonable errno to whitelist. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| _______________________________________________ Spice-devel mailing list Spice-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/spice-devel