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

[vidalia-svn] r3415: Switch to using 'getinfo address-mappings' instead of 'getin (vidalia/trunk/src/torcontrol)



Author: edmanm
Date: 2009-01-05 19:44:26 -0500 (Mon, 05 Jan 2009)
New Revision: 3415

Modified:
   vidalia/trunk/src/torcontrol/addressmap.cpp
   vidalia/trunk/src/torcontrol/torcontrol.cpp
Log:
Switch to using 'getinfo address-mappings' instead of 'getinfo addr-mappings'.
Fixes ticket #454.


Modified: vidalia/trunk/src/torcontrol/addressmap.cpp
===================================================================
--- vidalia/trunk/src/torcontrol/addressmap.cpp	2009-01-04 20:30:20 UTC (rev 3414)
+++ vidalia/trunk/src/torcontrol/addressmap.cpp	2009-01-06 00:44:26 UTC (rev 3415)
@@ -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/trunk/src/torcontrol/torcontrol.cpp
===================================================================
--- vidalia/trunk/src/torcontrol/torcontrol.cpp	2009-01-04 20:30:20 UTC (rev 3414)
+++ vidalia/trunk/src/torcontrol/torcontrol.cpp	2009-01-06 00:44:26 UTC (rev 3415)
@@ -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;
 }