提交 544ef82d 编写于 作者: P Peter Krempa

virStorageSourceParseBackingURI: Preserve query string of URI for http(s)

For http/https URIs we need to preserve the query part as it may be
important to refer to the image.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 216860dd
......@@ -2853,9 +2853,16 @@ virStorageSourceParseBackingURI(virStorageSourcePtr src,
return -1;
}
/* handle socket stored as a query */
if (uri->query)
src->hosts->socket = g_strdup(STRSKIP(uri->query, "socket="));
if (uri->query) {
if (src->protocol == VIR_STORAGE_NET_PROTOCOL_HTTP ||
src->protocol == VIR_STORAGE_NET_PROTOCOL_HTTPS) {
src->query = g_strdup(uri->query);
} else {
/* handle socket stored as a query */
if (STRPREFIX(uri->query, "socket="))
src->hosts->socket = g_strdup(STRSKIP(uri->query, "socket="));
}
}
/* uri->path is NULL if the URI does not contain slash after host:
* transport://host:port */
......
......@@ -1632,7 +1632,7 @@ mymain(void)
"\"file.url\": \"https://host/folder/esx6.5-rhel7.7-x86%5f64/esx6.5-rhel7.7-x86%5f64-flat.vmdk?dcPath=data&dsName=esx6.5-matrix\","
"\"file.timeout\": 2000"
"}",
"<source protocol='https' name='folder/esx6.5-rhel7.7-x86_64/esx6.5-rhel7.7-x86_64-flat.vmdk'>\n"
"<source protocol='https' name='folder/esx6.5-rhel7.7-x86_64/esx6.5-rhel7.7-x86_64-flat.vmdk' query='dcPath=data&amp;dsName=esx6.5-matrix'>\n"
" <host name='host' port='443'/>\n"
" <ssl verify='no'/>\n"
" <cookies>\n"
......@@ -1647,7 +1647,7 @@ mymain(void)
"\"file.url\": \"https://host/folder/esx6.5-rhel7.7-x86%5f64/esx6.5-rhel7.7-x86%5f64-flat.vmdk?dcPath=data&dsName=esx6.5-matrix\","
"\"file.timeout\": 2000"
"}",
"<source protocol='https' name='folder/esx6.5-rhel7.7-x86_64/esx6.5-rhel7.7-x86_64-flat.vmdk'>\n"
"<source protocol='https' name='folder/esx6.5-rhel7.7-x86_64/esx6.5-rhel7.7-x86_64-flat.vmdk' query='dcPath=data&amp;dsName=esx6.5-matrix'>\n"
" <host name='host' port='443'/>\n"
" <ssl verify='no'/>\n"
" <cookies>\n"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册