Optionally verify SSL connection to IRC servers
[quassel.git] / src / common / network.h
index 09310fd..99732d9 100644 (file)
@@ -101,6 +101,7 @@ public :
         uint port;
         QString password;
         bool useSsl;
+        bool sslVerify;     /// If true, validate SSL certificates
         int sslVersion;
 
         bool useProxy;
@@ -110,10 +111,17 @@ public :
         QString proxyUser;
         QString proxyPass;
 
-        Server() : port(6667), useSsl(false), sslVersion(0), useProxy(false), proxyType(QNetworkProxy::Socks5Proxy), proxyHost("localhost"), proxyPort(8080) {}
-        Server(const QString &host, uint port, const QString &password, bool useSsl)
-            : host(host), port(port), password(password), useSsl(useSsl), sslVersion(0),
-            useProxy(false), proxyType(QNetworkProxy::Socks5Proxy), proxyHost("localhost"), proxyPort(8080) {}
+        // sslVerify only applies when useSsl is true.  sslVerify should be enabled by default,
+        // so enabling useSsl offers a more secure default.
+        Server() : port(6667), useSsl(false), sslVerify(true), sslVersion(0), useProxy(false),
+            proxyType(QNetworkProxy::Socks5Proxy), proxyHost("localhost"), proxyPort(8080) {}
+
+        Server(const QString &host, uint port, const QString &password, bool useSsl,
+               bool sslVerify)
+            : host(host), port(port), password(password), useSsl(useSsl), sslVerify(sslVerify),
+              sslVersion(0), useProxy(false), proxyType(QNetworkProxy::Socks5Proxy),
+              proxyHost("localhost"), proxyPort(8080) {}
+
         bool operator==(const Server &other) const;
         bool operator!=(const Server &other) const;
     };