[Spice-devel] [PATCH 1/2] server/smartcard: handle BaseChannel messages
Christophe Fergeau
cfergeau at redhat.com
Thu Jun 23 03:10:31 PDT 2011
On Thu, Jun 23, 2011 at 11:16:47AM +0200, Alon Levy wrote:
> According to spice.proto the smartcard channel can receive acks and any
> other message defined in BaseChannel. While the spicec implementation didn't
> send an ACK spice-gtk does, so handle it.
> ---
> server/smartcard.c | 6 ++++++
> 1 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/server/smartcard.c b/server/smartcard.c
> index 888b23a..f948e5b 100644
> --- a/server/smartcard.c
> +++ b/server/smartcard.c
> @@ -454,6 +454,12 @@ static int smartcard_channel_handle_message(RedChannel *channel, SpiceDataHeader
> VSCMsgHeader* vheader = (VSCMsgHeader*)msg;
> SmartCardChannel* smartcard_channel = (SmartCardChannel*)channel;
>
> + if (header->type != SPICE_MSGC_SMARTCARD_DATA) {
> + /* handle ack's, spicy sends them while spicec does not */
> + return red_channel_handle_message(channel, header->size, header->type,
> + msg);
> + }
> +
I couldn't figure out how other channels handle this, so ACK
> ASSERT(header->size == vheader->length + sizeof(VSCMsgHeader));
There shouldn't be an ASSERT here though, since as far as I can tell, these
values come directly from the network, so specially crafted messages could
use this assert to take down QEMU.
Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20110623/c6d9854f/attachment.pgp>
More information about the Spice-devel
mailing list