QMP: Introduce VNC_INITIALIZED event

It's emitted when a VNC client session is activated by QEMU,
client's information such as port, IP and auth ID (if the
session is authenticated) are provided.

Event example:

{ "event": "VNC_INITIALIZED",
    "timestamp": {"seconds": 1263475302, "microseconds": 150772},
    "data": {
        "server": { "auth": "sasl", "family": "ipv4",
                    "service": "5901", "host": "0.0.0.0"},
        "client": { "family": "ipv4", "service": "46089",
                    "host": "127.0.0.1", "sasl_username": "lcapitulino" } } }

Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Luiz Capitulino 2010-01-14 14:50:59 -02:00 committed by Anthony Liguori
parent 0d72f3d31b
commit 0d2ed46af4
4 changed files with 11 additions and 0 deletions

View File

@ -37,3 +37,9 @@ except that authentication ID is not provided.
Description: Issued when the conection is closed.
Data: 'server' and 'client' keys with the same keys as 'query-vnc'.
6 VNC_INITIALIZED
-----------------
Description: Issued when the VNC session is made active.
Data: 'server' and 'client' keys with the same keys as 'query-vnc'.

View File

@ -360,6 +360,9 @@ void monitor_protocol_event(MonitorEvent event, QObject *data)
case QEVENT_VNC_CONNECTED:
event_name = "VNC_CONNECTED";
break;
case QEVENT_VNC_INITIALIZED:
event_name = "VNC_INITIALIZED";
break;
case QEVENT_VNC_DISCONNECTED:
event_name = "VNC_DISCONNECTED";
break;

View File

@ -21,6 +21,7 @@ typedef enum MonitorEvent {
QEVENT_POWERDOWN,
QEVENT_STOP,
QEVENT_VNC_CONNECTED,
QEVENT_VNC_INITIALIZED,
QEVENT_VNC_DISCONNECTED,
QEVENT_MAX,
} MonitorEvent;

1
vnc.c
View File

@ -2112,6 +2112,7 @@ static int protocol_client_init(VncState *vs, uint8_t *data, size_t len)
vnc_flush(vs);
vnc_client_cache_auth(vs);
vnc_qmp_event(vs, QEVENT_VNC_INITIALIZED);
vnc_read_when(vs, protocol_client_msg, 1);