This adds support for handling vncpasswd..
MRJ
vncpasswd support
diff --git a/src/xend_internal.c b/src/xend_internal.c
--- a/src/xend_internal.c
+++ b/src/xend_internal.c
@@ -1657,11 +1657,14 @@ xend_parse_sexp_desc(virConnectPtr conn,
} else if (tmp && !strcmp(tmp, "vnc")) {
int port = xenStoreDomainGetVNCPort(conn, domid);
const char *listenAddr = sexpr_node(node,
"device/vfb/vnclisten");
+ const char *vncPasswd = sexpr_node(node,
"device/vfb/vncpasswd");
const char *keymap = sexpr_node(node, "device/vfb/keymap");
virBufferVSprintf(&buf, " <input type='mouse'
bus='%s'/>\n", hvm ? "ps2": "xen");
virBufferVSprintf(&buf, " <graphics type='vnc'
port='%d'", port);
if (listenAddr)
virBufferVSprintf(&buf, " listen='%s'",
listenAddr);
+ if (vncPasswd)
+ virBufferVSprintf(&buf, " passwd='%s'",
vncPasswd);
if (keymap)
virBufferVSprintf(&buf, " keymap='%s'",
keymap);
virBufferAdd(&buf, "/>\n", 3);
@@ -1723,6 +1726,7 @@ xend_parse_sexp_desc(virConnectPtr conn,
if (tmp[0] == '1') {
int port = xenStoreDomainGetVNCPort(conn, domid);
const char *listenAddr = sexpr_fmt_node(root,
"domain/image/%s/vnclisten", hvm ? "hvm" : "linux");
+ const char *vncPasswd = sexpr_fmt_node(root,
"domain/image/%s/vncpasswd", hvm ? "hvm" : "linux");
const char *keymap = sexpr_fmt_node(root,
"domain/image/%s/keymap", hvm ? "hvm" : "linux");
/* For Xen >= 3.0.3, don't generate a fixed port mapping
* because it will almost certainly be wrong ! Just leave
@@ -1736,6 +1740,8 @@ xend_parse_sexp_desc(virConnectPtr conn,
virBufferVSprintf(&buf, " <graphics type='vnc'
port='%d'", port);
if (listenAddr)
virBufferVSprintf(&buf, " listen='%s'",
listenAddr);
+ if (vncPasswd)
+ virBufferVSprintf(&buf, " passwd='%s'",
vncPasswd);
if (keymap)
virBufferVSprintf(&buf, " keymap='%s'",
keymap);
virBufferAdd(&buf, "/>\n", 3);