spice server: connection events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Over the time when working with spice events in VDSM (for the oVirt project) we have been encountering some issues which I would like to discuss here.

Currently when anyone establishes a connection to the port the spice server emits the 'connected' event, once the right password/ticket etc is passed and the proper connection is established, the spice server emits the 'initialized' event and last but not least when someone disconnects the 'disconnected' event is triggered.

Now so far so good. Now here are the problems I have been encountering with it over the time with it: - If someone randomly connects to the port (e.g. on a public internet facing host with random connect attempts due to port scans, intrusions etc) the connected and disconnected events are passed all the time.
  The same applies for invalid password connections.

- Receiving connected, initialized and disconnected events for every channel separately. While this might make sense in some way, as there are multiple established connections by spice, there's the problem, that we want to react on that event, however basically are getting our code triggered multiple times as we do not seem to know what channel was actually affected.

- Seamless/live migrations: On seamless/live migrations from one host to another, we're also having the issue that the disconnected events are passed, which again might make sense from the connection level point of view, but not from the connection level point of view, but not from a session point of view, as the spice session was transferred to another host and the client obeys and reconnects.


After talking with David Jasa about the issue, I think a potential solution for this issue would be to introduce a new set of events, which are easier for applications to keep track of and avoid to handle those problems. The spice server should be able to track sessions for a client, and should be able to emit events accordingly to it. So I would propose to emit session-started and session-ended events and only once per session and not on a connection basis, plus that the session-ended shall not be passed when a migration to another host was the reason for disconnections.

I would be pleased to hear your opinions on this.

Thanks :-)



--
Regards,

Vinzenz Feenstra | Senior Software Engineer
RedHat Engineering Virtualization R & D
Phone: +420 532 294 625
IRC: vfeenstr or evilissimo

Better technology. Faster innovation. Powered by community collaboration.
See how it works at redhat.com

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]