mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
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: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
216860dd8b
commit
544ef82d05
@ -2853,9 +2853,16 @@ virStorageSourceParseBackingURI(virStorageSourcePtr src,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* handle socket stored as a query */
|
if (uri->query) {
|
||||||
if (uri->query)
|
if (src->protocol == VIR_STORAGE_NET_PROTOCOL_HTTP ||
|
||||||
src->hosts->socket = g_strdup(STRSKIP(uri->query, "socket="));
|
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:
|
/* uri->path is NULL if the URI does not contain slash after host:
|
||||||
* transport://host:port */
|
* 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.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"
|
"\"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&dsName=esx6.5-matrix'>\n"
|
||||||
" <host name='host' port='443'/>\n"
|
" <host name='host' port='443'/>\n"
|
||||||
" <ssl verify='no'/>\n"
|
" <ssl verify='no'/>\n"
|
||||||
" <cookies>\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.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"
|
"\"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&dsName=esx6.5-matrix'>\n"
|
||||||
" <host name='host' port='443'/>\n"
|
" <host name='host' port='443'/>\n"
|
||||||
" <ssl verify='no'/>\n"
|
" <ssl verify='no'/>\n"
|
||||||
" <cookies>\n"
|
" <cookies>\n"
|
||||||
|
Loading…
Reference in New Issue
Block a user