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

Re: [Xen-devel] [PATCH] vnclisten for HVM vnc



Attached is a 3rd iteration of the patch which changes address lookup so 
that gethostbyname is tried first, then falling back to inet_ntoa. Tested
it working with a variety of hostnames, some starting with digits, and 
tested with 0.0.0.0, 127.0.0.1 and a non-localhost IP.

    Signed-off-by:  Daniel P. Berrange <berrange@xxxxxxxxxx>

Regards,
Dan.

On Fri, Sep 29, 2006 at 01:03:02PM -0500, Anthony Liguori wrote:
> 
> >Ok, attached is an adaptation of Jeremy's initial patch to do this. 
> >
> >The logic for determining which interface to listen on goes like this:
> >
> > - If 'vnclisten' is set in guest config, use that (can use 0.0.0.0 to
> >   indicate all interfaces)
> > - If 'vnc-listen' is set in /etc/xen/xend-config.sxp, use that
> >   (again can set it to 0.0.0.0 to listen on all interfaces by
> >    default)
> > - Else  use 127.0.0.1  
> >
> >So, this makes VNC local only by default using 127.0.0.1. Anyone who wants
> >the old behaviour can just change xend-config.sxp setting...
> >
> >   (vnc-listen '0.0.0.0')
> >
> >...which will affect all guests without an explicit setting. 
> >
> >  Signed-off-by:  Daniel P. Berrange <berrange@xxxxxxxxxx>
> >
> >Regards,
> >Dan.
> >  
> >------------------------------------------------------------------------
> >
> >diff -r 593b5623a0d2 tools/examples/xend-config.sxp
> >--- a/tools/examples/xend-config.sxp Fri Sep 29 15:40:35 2006 +0100
> >+++ b/tools/examples/xend-config.sxp Fri Sep 29 13:01:11 2006 -0400
> >@@ -130,3 +130,8 @@
> > 
> > # The tool used for initiating virtual TPM migration
> > #(external-migration-tool '')
> >+
> >+# The interface for VNC servers to listen on. Defaults
> >+# to 127.0.0.1  To restore old 'listen everywhere' behaviour
> >+# set this to 0.0.0.0
> >+#(vnc-listen '127.0.0.1')
> >diff -r 593b5623a0d2 tools/examples/xmexample.hvm
> >--- a/tools/examples/xmexample.hvm   Fri Sep 29 15:40:35 2006 +0100
> >+++ b/tools/examples/xmexample.hvm   Fri Sep 29 13:01:11 2006 -0400
> >@@ -132,6 +132,11 @@ vnc=1
> > vnc=1
> > 
> > #----------------------------------------------------------------------------
> >+# address that should be listened on for the VNC server if vnc is set.
> >+# default is to use 'vnc-listen' setting from /etc/xen/xend-config.sxp
> >+#vnclisten="127.0.0.1"
> >+
> >+#----------------------------------------------------------------------------
> > # set VNC display number, default = domid
> > #vncdisplay=1
> > 
> >diff -r 593b5623a0d2 tools/ioemu/vl.c
> >--- a/tools/ioemu/vl.c       Fri Sep 29 15:40:35 2006 +0100
> >+++ b/tools/ioemu/vl.c       Fri Sep 29 13:01:11 2006 -0400
> >@@ -122,6 +122,7 @@ int nographic;
> > int nographic;
> > int vncviewer;
> > int vncunused;
> >+struct sockaddr_in vnclisten_addr;
> > const char* keyboard_layout = NULL;
> > int64_t ticks_per_sec;
> > char *boot_device = NULL;
> >@@ -2783,10 +2784,24 @@ fail:
> >     return -1;
> > }
> > 
> >+int parse_host(struct sockaddr_in *saddr, const char *buf)
> >+{
> >+    struct hostent *he;
> >+
> >+    if (isdigit(buf[0])) {
> >+        if (!inet_aton(buf, &saddr->sin_addr))
> >+            return -1;
> >  
> 
> Valid hostnames can begin with a digit as long as there are non-digits 
> in the name.  What I normally do is try inet_aton() iff gethostbyname 
> fails first.
> 
> Regards,
> 
> Anthony Liguori
> 
> >------------------------------------------------------------------------
> >
> >_______________________________________________
> >Xen-devel mailing list
> >Xen-devel@xxxxxxxxxxxxxxxxxxx
> >http://lists.xensource.com/xen-devel
> >  
> 

-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

Attachment: xen-vnclisten-3.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.