Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
libvirt
提交
3c539844
L
libvirt
项目概览
openeuler
/
libvirt
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
libvirt
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
3c539844
编写于
5月 21, 2013
作者:
G
Guannan Ren
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
qemu: add ', share=<policy>' to qemu commandline
example: qemu ${otherargs} \ -vnc 127.0.0.1:0,share=allow-exclusive
上级
2a58d076
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
77 addition
and
0 deletion
+77
-0
src/qemu/qemu_command.c
src/qemu/qemu_command.c
+36
-0
tests/qemuargv2xmltest.c
tests/qemuargv2xmltest.c
+1
-0
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
+4
-0
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.xml
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.xml
+35
-0
tests/qemuxml2argvtest.c
tests/qemuxml2argvtest.c
+1
-0
未找到文件。
src/qemu/qemu_command.c
浏览文件 @
3c539844
...
...
@@ -6099,6 +6099,19 @@ qemuBuildGraphicsVNCCommandLine(virQEMUDriverConfigPtr cfg,
virBufferAsprintf
(
&
opt
,
",websocket=%d"
,
graphics
->
data
.
vnc
.
websocket
);
}
if
(
graphics
->
data
.
vnc
.
sharePolicy
)
{
if
(
!
virQEMUCapsGet
(
qemuCaps
,
QEMU_CAPS_VNC_SHARE_POLICY
))
{
virReportError
(
VIR_ERR_CONFIG_UNSUPPORTED
,
"%s"
,
_
(
"vnc display sharing policy is not "
"supported with this QEMU"
));
goto
error
;
}
virBufferAsprintf
(
&
opt
,
",share=%s"
,
virDomainGraphicsVNCSharePolicyTypeToString
(
graphics
->
data
.
vnc
.
sharePolicy
));
}
if
(
graphics
->
data
.
vnc
.
auth
.
passwd
||
cfg
->
vncPassword
)
virBufferAddLit
(
&
opt
,
",password"
);
...
...
@@ -10030,6 +10043,29 @@ virDomainDefPtr qemuParseCommandLine(virCapsPtr qemuCaps,
vnc
->
data
.
vnc
.
websocket
=
vnc
->
data
.
vnc
.
port
+
5700
;
}
}
else
if
(
STRPREFIX
(
opts
,
"share="
))
{
char
*
sharePolicy
=
opts
+
strlen
(
"share="
);
if
(
sharePolicy
&&
*
sharePolicy
)
{
int
policy
=
virDomainGraphicsVNCSharePolicyTypeFromString
(
sharePolicy
);
if
(
policy
<
0
)
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
_
(
"unknown vnc display sharing policy '%s'"
),
sharePolicy
);
virDomainGraphicsDefFree
(
vnc
);
VIR_FREE
(
orig_opts
);
goto
error
;
}
else
{
vnc
->
data
.
vnc
.
sharePolicy
=
policy
;
}
}
else
{
virReportError
(
VIR_ERR_INTERNAL_ERROR
,
"%s"
,
_
(
"missing vnc sharing policy"
));
virDomainGraphicsDefFree
(
vnc
);
VIR_FREE
(
orig_opts
);
goto
error
;
}
}
opts
=
nextopt
;
...
...
tests/qemuargv2xmltest.c
浏览文件 @
3c539844
...
...
@@ -201,6 +201,7 @@ mymain(void)
DO_TEST
(
"graphics-vnc"
);
DO_TEST
(
"graphics-vnc-socket"
);
DO_TEST
(
"graphics-vnc-websocket"
);
DO_TEST
(
"graphics-vnc-policy"
);
DO_TEST
(
"graphics-vnc-sasl"
);
DO_TEST
(
"graphics-vnc-tls"
);
...
...
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.args
0 → 100644
浏览文件 @
3c539844
LC_ALL=C PATH=/bin HOME=/home/test USER=test LOGNAME=test QEMU_AUDIO_DRV=none \
/usr/bin/qemu -S -M pc -m 214 -smp 1 -monitor unix:/tmp/test-monitor,server,nowait \
-no-acpi -boot c -usb -hda /dev/HostVG/QEMUGuest1 \
-net none -serial none -parallel none -vnc 127.0.0.1:0,share=allow-exclusive
tests/qemuxml2argvdata/qemuxml2argv-graphics-vnc-policy.xml
0 → 100644
浏览文件 @
3c539844
<domain
type=
'qemu'
>
<name>
QEMUGuest1
</name>
<uuid>
c7a5fdbd-edaf-9455-926a-d65c16db1809
</uuid>
<memory
unit=
'KiB'
>
219100
</memory>
<currentMemory
unit=
'KiB'
>
219100
</currentMemory>
<vcpu
placement=
'static'
>
1
</vcpu>
<os>
<type
arch=
'i686'
machine=
'pc'
>
hvm
</type>
<boot
dev=
'hd'
/>
</os>
<clock
offset=
'utc'
/>
<on_poweroff>
destroy
</on_poweroff>
<on_reboot>
restart
</on_reboot>
<on_crash>
destroy
</on_crash>
<devices>
<emulator>
/usr/bin/qemu
</emulator>
<disk
type=
'block'
device=
'disk'
>
<driver
name=
'qemu'
type=
'raw'
/>
<source
dev=
'/dev/HostVG/QEMUGuest1'
/>
<target
dev=
'hda'
bus=
'ide'
/>
<address
type=
'drive'
controller=
'0'
bus=
'0'
target=
'0'
unit=
'0'
/>
</disk>
<controller
type=
'usb'
index=
'0'
/>
<controller
type=
'ide'
index=
'0'
/>
<controller
type=
'pci'
index=
'0'
model=
'pci-root'
/>
<input
type=
'mouse'
bus=
'ps2'
/>
<graphics
type=
'vnc'
port=
'5900'
autoport=
'no'
listen=
'127.0.0.1'
sharePolicy=
'allow-exclusive'
>
<listen
type=
'address'
address=
'127.0.0.1'
/>
</graphics>
<video>
<model
type=
'cirrus'
vram=
'9216'
heads=
'1'
/>
</video>
<memballoon
model=
'virtio'
/>
</devices>
</domain>
tests/qemuxml2argvtest.c
浏览文件 @
3c539844
...
...
@@ -610,6 +610,7 @@ mymain(void)
DO_TEST
(
"graphics-vnc"
,
QEMU_CAPS_VNC
);
DO_TEST
(
"graphics-vnc-socket"
,
QEMU_CAPS_VNC
);
DO_TEST
(
"graphics-vnc-websocket"
,
QEMU_CAPS_VNC
,
QEMU_CAPS_VNC_WEBSOCKET
);
DO_TEST
(
"graphics-vnc-policy"
,
QEMU_CAPS_VNC
,
QEMU_CAPS_VNC_SHARE_POLICY
);
driver
.
config
->
vncSASL
=
1
;
VIR_FREE
(
driver
.
config
->
vncSASLdir
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录