On 07/05/2011 11:57 AM, Christophe Fergeau wrote:
On Mon, Jul 04, 2011 at 02:37:09PM +0200, Christophe Fergeau wrote:
On Mon, Jul 04, 2011 at 01:27:16PM +0200, Gerd Hoffmann wrote:
On 07/01/11 15:58, Christophe Fergeau wrote:
if (strcmp(interface->type, SPICE_INTERFACE_RECORD) == 0) {
red_printf("SPICE_INTERFACE_RECORD");
if (interface->major_version != SPICE_INTERFACE_RECORD_MAJOR ||
interface->minor_version< SPICE_INTERFACE_RECORD_MINOR) {
red_printf("unsupported record interface");
return -1;
}
snd_attach_record(SPICE_CONTAINEROF(sin, SpiceRecordInstance, base));
}
That looks bogous.
Given your explanation below, I agree with you. I'm wondering if what was
originally intended was the opposite check, ie fail to create the channel
if QEMU supports a *newer* version of the interface than the installed
spice-server. Otherwise I'll make a patch to
- fail the channel creation if interface->major_version !=
SPICE_INTERFACE_RECORD_MAJOR
- only log a message if interface->minor_version<
SPICE_INTERFACE_RECORD_MINOR) (but create the channel anyway)
Does anyone have any thoughts on what was intended in this code?
In previous/early versions, mostly spice-server was calling qemu-kvm's
functions. Nowadays mostly qemu-kvm calls spice-server's functions. Just a
thought that may explain it. Or maybe a typo in the inequality sign.
In Gerd's example there is also a version check in the code (which makes it
safe), as the function that was added is a qemu-kvm function called by spice-server.
I think we do want the opposite check, as you mentioned.
Probably worth fixing other channels too.
_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/spice-devel