[tor-commits] [vidalia/alpha] Improve handling of ControlPort and SocksPort settings

chiiph at torproject.org chiiph at torproject.org
Tue Jun 12 13:21:18 UTC 2012


commit 94c3f4f7c63eecd3ba161da4897fb7e9ca7e6b6a
Author: Tomás Touceda <chiiph at torproject.org>
Date:   Sat Jun 9 13:04:06 2012 -0300

    Improve handling of ControlPort and SocksPort settings
---
 src/vidalia/config/AdvancedPage.cpp |    3 ++-
 src/vidalia/config/TorSettings.cpp  |   22 ++++++++++++++--------
 2 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/src/vidalia/config/AdvancedPage.cpp b/src/vidalia/config/AdvancedPage.cpp
index 0c538c7..51214a4 100644
--- a/src/vidalia/config/AdvancedPage.cpp
+++ b/src/vidalia/config/AdvancedPage.cpp
@@ -458,7 +458,8 @@ AdvancedPage::toggleAuto(bool)
   ui.lineControlAddress->setVisible(!ui.chkAuto->isChecked());
   ui.label->setVisible(!ui.chkAuto->isChecked());
   ui.lineControlPort->setVisible(!ui.chkAuto->isChecked());
-  ui.lineControlPort->setText("9051");
+  if (ui.lineControlPort->text() == "0")
+    ui.lineControlPort->setText("9051");
 }
 
 void
diff --git a/src/vidalia/config/TorSettings.cpp b/src/vidalia/config/TorSettings.cpp
index bf9d48e..df56b12 100644
--- a/src/vidalia/config/TorSettings.cpp
+++ b/src/vidalia/config/TorSettings.cpp
@@ -108,12 +108,9 @@ TorSettings::apply(QString *errmsg)
 {
   Torrc *torrc = Vidalia::torrc();
 
-  torrc->clear(QStringList()
-               << TOR_ARG_SOCKSPORT
-               << SETTING_CONTROL_PORT);
-
   torrc->setValue(SETTING_DATA_DIRECTORY, volatileValue(SETTING_DATA_DIRECTORY).toString());
 
+  torrc->clear(QStringList() << SETTING_SOCKS_PORT);
   if(volatileValue(SETTING_AUTOCONTROL).toBool()) {
     torrc->setValue(SETTING_CONTROL_PORT, "auto");
     torrc->setValue(SETTING_SOCKS_PORT, "auto");
@@ -121,14 +118,23 @@ TorSettings::apply(QString *errmsg)
   } else {
     QString socks = volatileValue(SETTING_SOCKS_PORT).toString();
     QString control = volatileValue(SETTING_CONTROL_PORT).toString();
+
+    if (socks == "0")
+      socks = "9050";
+
     {
-      with_torrc_value(SETTING_SOCKS_PORT)
-        socks = ret.at(0);
+      with_torrc_value(SETTING_SOCKS_PORT) {
+        if (ret.at(0) != "auto")
+          socks = ret.at(0);
+      }
     }
     {
-      with_torrc_value(SETTING_CONTROL_PORT)
-        control = ret.at(0);
+      with_torrc_value(SETTING_CONTROL_PORT) {
+        if (ret.at(0) != "auto")
+          control = ret.at(0);
+      }
     }
+
     torrc->setValue(SETTING_SOCKS_PORT, socks);
     torrc->setValue(SETTING_CONTROL_PORT, control);
   }





More information about the tor-commits mailing list