qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Luiz Capitulino <lcapitulino@redhat.com>
Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [RFC 0/7]: Add VNC connect/disconnect events
Date: Mon, 11 Jan 2010 13:55:19 +0000	[thread overview]
Message-ID: <20100111135519.GA19479@redhat.com> (raw)
In-Reply-To: <1262987236-2943-1-git-send-email-lcapitulino@redhat.com>

On Fri, Jan 08, 2010 at 07:47:09PM -0200, Luiz Capitulino wrote:
>  Hi there,
> 
>  This series contains two related changes. First a small cleanup is done in
> the current 'query-vnc' command, then two new QMP asynchronous events are
> introduced: VNC connect and disconnect.
> 
>  That's, everytime a VNC client connects or disconnects from QEMU, the
> QMP client will get full VNC client and VNC server info.
> 
>  There's one problem though and that's why this series is a RFC.
> 
>  The connection is a two step procedure if an authentication mechism is
> enabled. First the client establishes the connection then it authenticates.
> 
>  Currently, 'info vnc' and 'query-vnc' will show client information as soon
> as it establishes the connection even if the client didn't autheticate yet.
> 
>  This series changes that. Now, if an authentication mechanism is enabled,
> client information will only be available _after_ it has authenticated. Also,
> the connect/disconnect events are only emitted after the authentication step.
> 
>  There's a way to fix this and add the old behavior back, but we'll need
> one additional event (say CONNECT_AUTH) and the client will have to look
> at the server info to learn that a disconnection happened before
> authentication.

Hmm, I had not considered the timing problems when I discussed this with
you previously. I think it is important to separate the connect event
from the authentication event, because a mgmt application using QEMU
may want to see clients connecting even if they abort/delay before 
authenticating,

So perhaps we should declare that the lifecycle is

  -  CONNECT       (provide IP / port details)
  -  AUTHENTICATED (provide IP / port details + authenticated ID details
                    eg x509 dname, or SASL usernsmae)
  -  DISCONNECT    (provide IP / port details)


Obviously AUTHENTICATED may be optional if the client goes away
immedaitely before trying auth. The AUTHENTICATED event probably
also ought to allow for an indication of success vs failure so 
the app can see failed login attempts

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

  parent reply	other threads:[~2010-01-11 13:55 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-08 21:47 [Qemu-devel] [RFC 0/7]: Add VNC connect/disconnect events Luiz Capitulino
2010-01-08 21:47 ` [Qemu-devel] [PATCH 1/7] VNC: Use 'enabled' key instead of 'status' Luiz Capitulino
2010-01-08 21:47 ` [Qemu-devel] [PATCH 2/7] VNC: Make 'auth' key mandatory Luiz Capitulino
2010-01-08 21:47 ` [Qemu-devel] [PATCH 3/7] VNC: Rename client's 'username' key Luiz Capitulino
2010-01-08 21:47 ` [Qemu-devel] [PATCH 4/7] VNC: Add 'family' key Luiz Capitulino
2010-01-08 21:47 ` [Qemu-devel] [PATCH 5/7] VNC: Cache client info at connection time Luiz Capitulino
2010-01-08 21:47 ` [Qemu-devel] [PATCH 6/7] QMP: Introduce QMP disconnect event Luiz Capitulino
2010-01-08 21:47 ` [Qemu-devel] [PATCH 7/7] QMP: Introduce QMP connect event Luiz Capitulino
2010-01-11 13:55 ` Daniel P. Berrange [this message]
2010-01-12 21:28   ` [Qemu-devel] Re: [RFC 0/7]: Add VNC connect/disconnect events Luiz Capitulino
2010-01-12 22:28     ` Anthony Liguori
2010-01-13  9:14       ` Daniel P. Berrange

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100111135519.GA19479@redhat.com \
    --to=berrange@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=lcapitulino@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).