Luiz Capitulino <lcapitul...@redhat.com> writes: > Return a QDict with server information. Connected clients are returned > as a QList of QDicts. > > The new functions (vnc_qdict_remote_addr(), vnc_qdict_local_addr() and > put_addr_qdict()) are used to insert 'host' and 'service' information > in the returned QDict. > > This patch is big, but I don't see how to split it. > > Signed-off-by: Luiz Capitulino <lcapitul...@redhat.com> > --- > console.h | 3 +- > monitor.c | 3 +- > vnc.c | 191 > +++++++++++++++++++++++++++++++++++++++++++++++++++---------- > 3 files changed, 164 insertions(+), 33 deletions(-) > [...] > diff --git a/vnc.c b/vnc.c > index 32c4678..f0fea6a 100644 > --- a/vnc.c > +++ b/vnc.c [...] > +/** > + * do_info_vnc(): Show VNC server information > + * > + * Return a QDict with server information. Connected clients are returned > + * as a QList of QDicts. > + * > + * The main QDict contains the following: > + * > + * - "status": "disabled" or "enabled" > + * - "host": server's IP address > + * - "service": server's port number > + * - "auth": authentication method (optional) > + * - "clients": a QList of all connected clients > + * > + * Clients are described by a QDict, with the following information: > + * > + * - "host": client's IP address > + * - "service": client's port number > + * - "x509 dname": TLS dname (optional)
Sure you want dict keys with spaces? I'd prefer "x509-dname". > + * - "username": SASL username (optional) > + * > + * Example: > + * > + * { "status": "enabled", "host": "0.0.0.0", "service": "50402", "auth": > "vnc", > + * "clients": [ { "host": "127.0.0.1", "service": "50401" } ] } > + */ > +void do_info_vnc(Monitor *mon, QObject **ret_data) [...]