What is the justification for this change. We already have a means
to set the VNC password from the monitor. If this isn't sufficient
we should introduce an additional method which isn't Xen specific.
I know XenD currently sends the passwords to QEMU via xenstore,
but that's not a good reason to preserve this approach. XenD
does lots of stuff via XenStore which it should be doing via
command line arguments - such as setting up disks instead of using
the -drive param.
IMHO, XenD should just set the VNC password by connecting to the
monitor. That's what its there for after all.
Daniel
On Thu, Aug 21, 2008 at 06:27:33PM +0200, Gerd Hoffmann wrote:
>
> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
> ---
> hw/xen_machine_pv.c | 26 ++++++++++++++++++++++++++
> 1 files changed, 26 insertions(+), 0 deletions(-)
>
> diff --git a/hw/xen_machine_pv.c b/hw/xen_machine_pv.c
> index 851837c..9f18742 100644
> --- a/hw/xen_machine_pv.c
> +++ b/hw/xen_machine_pv.c
> @@ -24,6 +24,7 @@
>
> #include "hw.h"
> #include "boards.h"
> +#include "console.h"
>
> #include "xen_backend.h"
>
> @@ -110,6 +111,29 @@ static int xen_init_pv(DisplayState *ds)
> return 0;
> }
>
> +static void xen_init_vnc(void)
> +{
> + char xspath[256], *dom = NULL, *vm = NULL, *pw = NULL;
> + int len;
> +
> + dom = xs_get_domain_path(xenstore, xen_domid);
> + snprintf(xspath, sizeof(xspath), "%s/vm", dom);
> + vm = xs_read(xenstore, 0, xspath, &len);
> + if (!vm)
> + goto out;
> + snprintf(xspath, sizeof(xspath), "%s/vncpassword", vm);
> + pw = xs_read(xenstore, 0, xspath, &len);
> + if (!pw || !strlen(pw))
> + goto out;
> + vnc_display_password(NULL, pw);
> + fprintf(stderr, "vnc password set from xenstore\n");
> +
> +out:
> + free(dom);
> + free(vm);
> + free(pw);
> +}
> +
> /* -------------------------------------------------------------------- */
> /* paravirtualized xen machine */
>
> @@ -136,6 +160,8 @@ static void xenpv_init(ram_addr_t ram_size, int
> vga_ram_size,
> goto err;
> }
>
> + xen_init_vnc();
> +
> /* create dummy cpu, halted */
> if (cpu_model == NULL) {
> #ifdef TARGET_X86_64
> --
> 1.5.5.1
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
--
|: 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 :|
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|