char: don't assume telnet initialization will not block
commitf2001a7e0555b66d6db25a3ff1801540814045bb
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 19 Jan 2016 11:14:30 +0000 (19 11:14 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 26 Jan 2016 14:58:11 +0000 (26 15:58 +0100)
treef805ef4725f2c99a37ee496b7b0a9c07f92274cd
parent9894dc0cdcc397ee5b26370bc53da6d360a363c2
char: don't assume telnet initialization will not block

The current code for doing telnet initialization is writing to
a socket without checking the return status. While it is highly
unlikely to be a problem when writing to a bare socket, as the
buffers are large enough to prevent blocking, this cannot be
assumed safe with TLS sockets. So write the telnet initialization
code into a memory buffer and then use an I/O watch to fully
send the data.

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Message-Id: <1453202071-10289-4-git-send-email-berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
qemu-char.c