summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlon Levy <alevy@redhat.com>2011-06-23 11:12:42 +0200
committerAlon Levy <alevy@redhat.com>2011-06-23 13:18:39 +0200
commitf1df038e4b65c93d9660f574edc3035db2aaa7df (patch)
tree1c29459aeaa4a32c709746e6274bfcf51c62933d
parent7f58ee17fd9557a488a5b74d5e9a9ddf3dca4c43 (diff)
server/smartcard: handle BaseChannel messages
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.
-rw-r--r--server/smartcard.c6
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);
+ }
+
ASSERT(header->size == vheader->length + sizeof(VSCMsgHeader));
switch (vheader->type) {
case VSC_ReaderAdd: