qemu/io
Daniel P. Berrange f69a8bde29 io: send proper HTTP response for websocket errors
When any error occurs while processing the websockets handshake,
QEMU just terminates the connection abruptly. This is in violation
of the HTTP specs and does not help the client understand what they
did wrong. This is particularly bad when the client gives the wrong
path, as a "404 Not Found" would be very helpful.

Refactor the handshake code so that it always sends a response to
the client unless there was an I/O error.

Fixes bug: #1715186

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
2017-10-04 13:21:53 +01:00
..
Makefile.objs io: introduce a DNS resolver API 2017-01-23 15:32:46 +00:00
channel-buffer.c io: avoid double-free when closing QIOChannelBuffer 2016-05-26 11:31:09 +05:30
channel-command.c io: add methods to set I/O handlers on AioContext 2017-02-21 11:14:07 +00:00
channel-file.c io: add methods to set I/O handlers on AioContext 2017-02-21 11:14:07 +00:00
channel-socket.c util: remove the obsolete non-blocking connect 2017-09-05 13:21:58 +01:00
channel-tls.c io: add methods to set I/O handlers on AioContext 2017-02-21 11:14:07 +00:00
channel-util.c all: Clean up includes 2016-02-23 12:43:05 +00:00
channel-watch.c io: add methods to set I/O handlers on AioContext 2017-02-21 11:14:07 +00:00
channel-websock.c io: send proper HTTP response for websocket errors 2017-10-04 13:21:53 +01:00
channel.c io: Add new qio_channel_read{, v}_all_eof functions 2017-09-06 10:11:54 -05:00
dns-resolver.c io: preserve ipv4/ipv6 flags when resolving InetSocketAddress 2017-07-14 14:28:29 +01:00
task.c io: fix possible double free of task error object 2017-01-26 10:26:18 +00:00
trace-events docs: fix broken paths to docs/devel/tracing.txt 2017-07-31 13:12:53 +03:00