]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
vz: support vnc password
authorNikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
Wed, 20 Apr 2016 14:05:44 +0000 (17:05 +0300)
committerMaxim Nestratov <mnestratov@virtuozzo.com>
Sat, 25 Jun 2016 19:56:04 +0000 (22:56 +0300)
Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@virtuozzo.com>
src/vz/vz_sdk.c

index a15a0e60e22bee133a67491f9c5ddbea43a19317..5a48a46d7e13b48465e95cf2293745baec247dad 100644 (file)
@@ -1180,6 +1180,7 @@ prlsdkAddVNCInfo(PRL_HANDLE sdkdom, virDomainDefPtr def)
     PRL_VM_REMOTE_DISPLAY_MODE vncMode;
     PRL_UINT32 port;
     PRL_RESULT pret;
+    char *passwd = NULL;
 
     pret = PrlVmCfg_GetVNCMode(sdkdom, &vncMode);
     prlsdkCheckRetGoto(pret, error);
@@ -1190,6 +1191,14 @@ prlsdkAddVNCInfo(PRL_HANDLE sdkdom, virDomainDefPtr def)
     if (VIR_ALLOC(gr) < 0)
         goto error;
 
+    if (!(passwd = prlsdkGetStringParamVar(PrlVmCfg_GetVNCPassword, sdkdom)))
+        goto error;
+
+    if (*passwd != '\0') {
+        gr->data.vnc.auth.passwd = passwd;
+        passwd = NULL;
+    }
+
     pret = PrlVmCfg_GetVNCPort(sdkdom, &port);
     prlsdkCheckRetGoto(pret, error);
 
@@ -1215,6 +1224,7 @@ prlsdkAddVNCInfo(PRL_HANDLE sdkdom, virDomainDefPtr def)
 
  error:
     virDomainGraphicsDefFree(gr);
+    VIR_FREE(passwd);
     return -1;
 }
 
@@ -2748,6 +2758,9 @@ static int prlsdkApplyGraphicsParams(PRL_HANDLE sdkdom,
         prlsdkCheckRetExit(pret, -1);
     }
 
+    pret = PrlVmCfg_SetVNCPassword(sdkdom, gr->data.vnc.auth.passwd ? : "");
+    prlsdkCheckRetExit(pret, -1);
+
     if (gr->data.vnc.autoport) {
         pret = PrlVmCfg_SetVNCMode(sdkdom, PRD_AUTO);
         prlsdkCheckRetGoto(pret, cleanup);