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

[vidalia-svn] r3416: Backport r3415 to the 0.1.x branch. (in vidalia/branches/vidalia-0.1: . src/torcontrol)



Author: edmanm
Date: 2009-01-05 19:47:56 -0500 (Mon, 05 Jan 2009)
New Revision: 3416

Modified:
   vidalia/branches/vidalia-0.1/CHANGELOG
   vidalia/branches/vidalia-0.1/src/torcontrol/addressmap.cpp
   vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp
Log:
Backport r3415 to the 0.1.x branch.


Modified: vidalia/branches/vidalia-0.1/CHANGELOG
===================================================================
--- vidalia/branches/vidalia-0.1/CHANGELOG	2009-01-06 00:44:26 UTC (rev 3415)
+++ vidalia/branches/vidalia-0.1/CHANGELOG	2009-01-06 00:47:56 UTC (rev 3416)
@@ -7,6 +7,8 @@
   o Fix a use of an uninitialized variable that would occur when Tor was
     already running when Vidalia started, and the "Start Tor when Vidalia
     Starts" checkbox is checked. (Ticket #443)
+  o Switch to using 'getinfo address-mappings' instead of
+    'getinfo addr-mappings'. (Ticket #454)
   o Backport a change that removes a verticalSpacing property from a .ui
     file, so Vidalia 0.1.x will still build on Qt 4.2. (Ticket #442)
 

Modified: vidalia/branches/vidalia-0.1/src/torcontrol/addressmap.cpp
===================================================================
--- vidalia/branches/vidalia-0.1/src/torcontrol/addressmap.cpp	2009-01-06 00:44:26 UTC (rev 3415)
+++ vidalia/branches/vidalia-0.1/src/torcontrol/addressmap.cpp	2009-01-06 00:47:56 UTC (rev 3416)
@@ -46,9 +46,15 @@
   QStringList parts = mapping.split(" ");
   if (parts.size() >= 2) {
     QDateTime expires;
-    if (parts.size() >= 4 && parts.at(2) != "NEVER")
+    if (parts.size() >= 4 && parts.at(2) != "NEVER") {
       expires = QDateTime::fromString(parts.at(2) + " " + parts.at(3),
                                       DATE_FMT);
+
+      /* Tor gives us the expiry time in UTC, but we will do subsequent
+       * comparisons based on local time. So do the proper conversion now. */
+      expires.setTimeSpec(Qt::UTC);
+      expires = expires.toLocalTime();
+    }
     add(parts.at(0), parts.at(1), expires);
   }
 }

Modified: vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp
===================================================================
--- vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp	2009-01-06 00:44:26 UTC (rev 3415)
+++ vidalia/branches/vidalia-0.1/src/torcontrol/torcontrol.cpp	2009-01-06 00:47:56 UTC (rev 3416)
@@ -1026,28 +1026,25 @@
 AddressMap
 TorControl::getAddressMap(AddressMap::AddressMapType type, QString *errmsg)
 {
-  ControlCommand cmd("GETINFO");
-  ControlReply reply;
   AddressMap addressMap;
+  QStringList entries;
 
   switch (type) {
     case AddressMap::AddressMapConfig:
-      cmd.addArgument("addr-mappings/config");
+      entries = getInfo("address-mappings/config").toStringList();
       break;
     case AddressMap::AddressMapCache:
-      cmd.addArgument("addr-mappings/cache");
+      entries = getInfo("address-mappings/cache").toStringList();
       break;
     case AddressMap::AddressMapControl:
-      cmd.addArgument("addr-mappings/control");
+      entries = getInfo("address-mappings/control").toStringList();
       break;
     default:
-      cmd.addArgument("addr-mappings/all");
+      entries = getInfo("address-mappings/all").toStringList();
   }
 
-  if (send(cmd, reply, errmsg)) {
-    foreach (QString mapping, reply.getData()) {
-      addressMap.add(mapping);
-    }
+  foreach (QString entry, entries) {
+    addressMap.add(entry);
   }
   return addressMap;
 }