if (protocol == VIR_STORAGE_NET_PROTOCOL_HTTPS ||
protocol == VIR_STORAGE_NET_PROTOCOL_FTPS) {
if (virJSONValueObjectHasKey(json, "sslverify")) {
+ const char *tmpstr;
bool tmp;
- if (virJSONValueObjectGetBoolean(json, "sslverify", &tmp) < 0) {
- virReportError(VIR_ERR_INVALID_ARG,
- _("malformed 'sslverify' field in backing store definition '%s'"),
- jsonstr);
- return -1;
- }
+ /* libguestfs still uses undocumented legacy value of 'off' */
+ if ((tmpstr = virJSONValueObjectGetString(json, "sslverify")) &&
+ STREQ(tmpstr, "off")) {
+ src->sslverify = VIR_TRISTATE_BOOL_NO;
+ } else {
+ if (virJSONValueObjectGetBoolean(json, "sslverify", &tmp) < 0) {
+ virReportError(VIR_ERR_INVALID_ARG,
+ _("malformed 'sslverify' field in backing store definition '%s'"),
+ jsonstr);
+ return -1;
+ }
- src->sslverify = virTristateBoolFromBool(tmp);
+ src->sslverify = virTristateBoolFromBool(tmp);
+ }
}
}
" <timeout seconds='2000'/>\n"
"</source>\n", 0);
+ TEST_BACKING_PARSE_FULL("json:{ \"file.cookie\": \"vmware_soap_session=\\\"0c8db85112873a79b7ef74f294cb70ef7f\\\"\","
+ "\"file.sslverify\": \"off\","
+ "\"file.driver\": \"https\","
+ "\"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"
+ " <host name='host' port='443'/>\n"
+ " <ssl verify='no'/>\n"
+ " <cookies>\n"
+ " <cookie name='vmware_soap_session'>"0c8db85112873a79b7ef74f294cb70ef7f"</cookie>\n"
+ " </cookies>\n"
+ " <timeout seconds='2000'/>\n"
+ "</source>\n", 0);
+
#endif /* WITH_YAJL */
cleanup: