[libvirt] [RFC][PATCH] change the meaning of vnc port in xml

Daniel P. Berrange berrange at redhat.com
Tue Oct 16 10:17:03 UTC 2012


On Tue, Oct 16, 2012 at 05:54:50PM +0800, Hu Tao wrote:
> Now the vnc port in xml file reflects the REAL port hypervisor will
> listen on for vnc connection. But vnc ports usually start from 5900,
> it's common to say 0 for 5900, 1 for 5901, and so on.
> 
> This patch forbids negative vnc port number in xml, and maps port
> number below 5900 to 5900+port, but no change to those greater than
> 5900.
> ---
> 
> I have no idea whether this behaviour is sane or not. But my vnc
> client(vinagre) has the same behaviour, i.e., treats port 0 as 5900,
> 1 as 5901, but 5900 as 5900, 5901 as 5901.
> 
>  src/conf/domain_conf.c |    6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 0cea8eb..b3cbc34 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -6423,6 +6423,12 @@ virDomainGraphicsDefParseXML(xmlNodePtr node,
>                  if (flags & VIR_DOMAIN_XML_INACTIVE)
>                      def->data.vnc.port = 0;
>                  def->data.vnc.autoport = 1;
> +            } else if (def->data.vnc.port < 0) {
> +                virReportError(VIR_ERR_XML_ERROR,
> +                               _("invalid vnc port %s"), port);
> +                goto error;
> +            } else if (def->data.vnc.port < 5900) {
> +                def->data.vnc.port += 5900;
>              }
>          } else {
>              def->data.vnc.port = 0;

NACK, I don't think we want such magic behaviour in the XML. The XML
should concern itself *only* with real port numbers. It is upto the
client applications to decide whether to translate these into VNC
display numbers for the user.


Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list