On 10/10/2017 10:43 AM, Daniel P. Berrange wrote: > The noVNC server sends a header "Connection: keep-alive, Upgrade" which > fails our simple equality test. Split the header on ',', trim whitespace > and then check for 'upgrade' token. > > Signed-off-by: Daniel P. Berrange > --- > io/channel-websock.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > @@ -440,7 +443,16 @@ static void qio_channel_websock_handshake_process(QIOChannelWebsock *ioc, > goto bad_request; > } > > - if (strcasecmp(connection, QIO_CHANNEL_WEBSOCK_CONNECTION_UPGRADE) != 0) { My first thought was whether you could just use strcasestr() instead of strcasecmp(), rather than the malloc overhead of g_strsplit(). But that would treat "noUpgradeGarbage" as success, making your approach a bit stricter. Reviewed-by: Eric Blake -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org