diff options
author | Alon Levy <alevy@redhat.com> | 2011-06-23 11:12:42 +0200 |
---|---|---|
committer | Alon Levy <alevy@redhat.com> | 2011-06-23 13:18:39 +0200 |
commit | de82fdb9dc0696526319cb89cf4305e8f3385771 (patch) | |
tree | ef5113c10987846406ab3426accb181696c6864b /server/smartcard.c | |
parent | 4caf14087d9968dfc0ec0b1b9c74aa5d6ac87ff0 (diff) | |
download | spice-de82fdb9dc0696526319cb89cf4305e8f3385771.tar.gz spice-de82fdb9dc0696526319cb89cf4305e8f3385771.tar.xz spice-de82fdb9dc0696526319cb89cf4305e8f3385771.zip |
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.
Diffstat (limited to 'server/smartcard.c')
-rw-r--r-- | server/smartcard.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/server/smartcard.c b/server/smartcard.c index 888b23a4..f948e5b2 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: |