Provide an adhoc option to let user pass the cert verif for some IRC servers

This commit is contained in:
Florent Le Coz
2015-11-05 02:17:19 +01:00
parent 06db9b366a
commit e8386bd14e
7 changed files with 87 additions and 11 deletions
+20
View File
@@ -162,6 +162,19 @@ void ConfigureIrcServerStep1(XmppComponent*, AdhocSession& session, XmlNode& com
}
tls_ports.add_child(required);
x.add_child(std::move(tls_ports));
XmlNode verify_cert("field");
verify_cert["var"] = "verify_cert";
verify_cert["type"] = "boolean";
verify_cert["label"] = "Verify certificate";
verify_cert["desc"] = "Whether or not to abort the connection if the server’s TLS certificate is invalid";
XmlNode verify_cert_value("value");
if (options.verifyCert.value())
verify_cert_value.set_inner("true");
else
verify_cert_value.set_inner("false");
verify_cert.add_child(std::move(verify_cert_value));
x.add_child(std::move(verify_cert));
#endif
XmlNode pass("field");
@@ -252,6 +265,13 @@ void ConfigureIrcServerStep2(XmppComponent*, AdhocSession& session, XmlNode& com
ports += val->get_inner() + ";";
options.tlsPorts = ports;
}
else if (field->get_tag("var") == "verify_cert" && value
&& !value->get_inner().empty())
{
auto val = to_bool(value->get_inner());
options.verifyCert = val;
}
#endif // BOTAN_FOUND
else if (field->get_tag("var") == "pass" &&