[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r3731: Add support for fetching bridges via an HTTPS proxy, if one (vidalia/trunk/src/vidalia/config)



Author: edmanm
Date: 2009-04-25 18:53:30 -0400 (Sat, 25 Apr 2009)
New Revision: 3731

Modified:
   vidalia/trunk/src/vidalia/config/bridgedownloader.cpp
   vidalia/trunk/src/vidalia/config/bridgedownloader.h
   vidalia/trunk/src/vidalia/config/networkpage.cpp
Log:

Add support for fetching bridges via an HTTPS proxy, if one is currently
set.


Modified: vidalia/trunk/src/vidalia/config/bridgedownloader.cpp
===================================================================
--- vidalia/trunk/src/vidalia/config/bridgedownloader.cpp	2009-04-25 03:25:33 UTC (rev 3730)
+++ vidalia/trunk/src/vidalia/config/bridgedownloader.cpp	2009-04-25 22:53:30 UTC (rev 3731)
@@ -39,6 +39,13 @@
           this, SLOT(sslErrors(QList<QSslError>)));  
 }
 
+void
+BridgeDownloader::setProxy(const QString &host, int port,
+                           const QString &username, const QString &password)
+{
+  _https->setProxy(host, port, username, password);
+}
+
 bool
 BridgeDownloader::downloadBridges(BridgeDownloadMethod method)
 {

Modified: vidalia/trunk/src/vidalia/config/bridgedownloader.h
===================================================================
--- vidalia/trunk/src/vidalia/config/bridgedownloader.h	2009-04-25 03:25:33 UTC (rev 3730)
+++ vidalia/trunk/src/vidalia/config/bridgedownloader.h	2009-04-25 22:53:30 UTC (rev 3731)
@@ -42,6 +42,14 @@
    */
   bool downloadBridges(BridgeDownloadMethod method);
 
+  /** Enables HTTPS proxy support, using the proxy server <b>host</b> on
+   * port <b>port</b>. A <b>username</b> and <b>password</b> can also
+   * optionally be supplied, if required by the proxy.
+   */
+  void setProxy(const QString &host, int port,
+                const QString &username = QString(),
+                const QString &password = QString());
+
   /** Returns true if <b>method</b> is supported by the currently
    * available Qt libraries.
    */

Modified: vidalia/trunk/src/vidalia/config/networkpage.cpp
===================================================================
--- vidalia/trunk/src/vidalia/config/networkpage.cpp	2009-04-25 03:25:33 UTC (rev 3730)
+++ vidalia/trunk/src/vidalia/config/networkpage.cpp	2009-04-25 22:53:30 UTC (rev 3731)
@@ -386,7 +386,14 @@
 /** Starts a new request for additional bridge addresses. */
 void
 NetworkPage::startBridgeRequest()
-{
+{ 
+  if (ui.chkUseProxy->isChecked() && ui.chkProxyUseHttps->isChecked()) {
+    _bridgeDownloader->setProxy(ui.lineHttpProxyAddress->text(),
+                                ui.lineHttpProxyPort->text().toUInt(),
+                                ui.lineHttpProxyUsername->text(),
+                                ui.lineHttpProxyPassword->text());
+  }
+
   _bridgeDownloader->downloadBridges(BridgeDownloader::DownloadMethodHttps);
 }