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

[vidalia-svn] r2944: Added logic for switching. Now it is time for QA. pending-> (in vidalia/branches/exit-country/src/vidalia: geoip res)



Author: cviecco
Date: 2008-08-05 18:03:25 -0400 (Tue, 05 Aug 2008)
New Revision: 2944

Modified:
   vidalia/branches/exit-country/src/vidalia/geoip/filegeoipresolver.cpp
   vidalia/branches/exit-country/src/vidalia/geoip/geoipresolver.cpp
   vidalia/branches/exit-country/src/vidalia/geoip/torgeoipresolver.cpp
   vidalia/branches/exit-country/src/vidalia/res/vidalia_common.qrc
Log:
Added logic for switching. Now it is time for QA.
pending-> cleanup of attempting to load default file


Modified: vidalia/branches/exit-country/src/vidalia/geoip/filegeoipresolver.cpp
===================================================================
--- vidalia/branches/exit-country/src/vidalia/geoip/filegeoipresolver.cpp	2008-08-05 21:09:10 UTC (rev 2943)
+++ vidalia/branches/exit-country/src/vidalia/geoip/filegeoipresolver.cpp	2008-08-05 22:03:25 UTC (rev 2944)
@@ -119,7 +119,7 @@
      QStringList list;
      QTextStream in(&file);
      if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){
-       fprintf (stderr,"cannot open geoip data file!\n");
+       fprintf (stderr,"cannot open builtin geoip data file!\n");
        return;
      }
      //fprintf(stderr,"using default geoip file!\n");

Modified: vidalia/branches/exit-country/src/vidalia/geoip/geoipresolver.cpp
===================================================================
--- vidalia/branches/exit-country/src/vidalia/geoip/geoipresolver.cpp	2008-08-05 21:09:10 UTC (rev 2943)
+++ vidalia/branches/exit-country/src/vidalia/geoip/geoipresolver.cpp	2008-08-05 22:03:25 UTC (rev 2944)
@@ -45,15 +45,27 @@
 
 
 //Search for a geoip address given a host ip
+// The order of authoritateveness is 
+//   1. user file,
+//   2. Tor
+//   3. Vidalia-current geolocation
 GeoIp 
 GeoIpResolver::search(QHostAddress ip){
-  GeoIp invalid;
 
-   return torGeoResolver.search(ip);
-  //return webGeoResolver.search(ip);
-  //return _fileGeoIpResolver->search(ip);
+  quint32 torVersion = Vidalia::torControl()->getTorVersion();
 
-  //return invalid;
+  //all the logic is defined here!
+  if(_fileGeoIpResolver->isReady()){
+     //fprintf(stderr,"*");
+     return _fileGeoIpResolver->search(ip);
+  }
+  if(torVersion>=0x020100){
+     return torGeoResolver.search(ip);
+  }
+  //and now the default
+
+  return webGeoResolver.search(ip);
+
 }
 
 void

Modified: vidalia/branches/exit-country/src/vidalia/geoip/torgeoipresolver.cpp
===================================================================
--- vidalia/branches/exit-country/src/vidalia/geoip/torgeoipresolver.cpp	2008-08-05 21:09:10 UTC (rev 2943)
+++ vidalia/branches/exit-country/src/vidalia/geoip/torgeoipresolver.cpp	2008-08-05 22:03:25 UTC (rev 2944)
@@ -14,7 +14,7 @@
 ** \brief Requests GeoIP information and caches the result
 */
 
-//#include <torsocket.h>
+#include <torsocket.h>
 #include <vidalia.h>
 #include <torcontrol.h>
 
@@ -30,22 +30,19 @@
   /*Define the connection*/
   _torControl = Vidalia::torControl();
 
-  /*now we load the map!!*/
-
+  /*now we load the country to lat-long map!!*/
   FileGeoIpResolverGeoLocation newlocation;
   QFile file(":/geoip/country_loc.csv");
   QString line;
   QStringList list;
   QTextStream in(&file);
   if (!file.open(QIODevice::ReadOnly | QIODevice::Text)){
-     fprintf (stderr,"cannot open geoip data file!\n");
+     vInfo("cannot open  data file!\n");
      return;
   }
-  //fprintf(stderr,"using default geoip file!\n");
   while (!in.atEnd()) {
      line = in.readLine();
      list=line.split(",");
-     //list=in.readLine().split(',');
 
      switch (list.size()){
          case 5:
@@ -64,7 +61,7 @@
 
   }//closes while
 
-  fprintf(stderr,"tor geo: file loaded! location_size=%d\n",location.size());
+  vInfo("tor geo: file loaded! \n");
    
 }
 
@@ -73,19 +70,11 @@
 TorGeoIpResolver::get_country(QHostAddress ip){
 
   QString unknown("??");
-  //GeoIp resolv=search(ip);
   QString ip_addr;
   ip_addr=ip.toString();
 
- //short_country_name=_torControl->getIPCountry(ip_addr);
-  
+  /*This is a single operation*/ 
   return _torControl->getIPCountry(ip_addr);
-/*
-  if (resolv.isEmpty() || resolv.isUnknown())
-    return unknown;
-  else 
-    return resolv.country();
-*/
 }
 
 
@@ -120,8 +109,7 @@
 
 void
 TorGeoIpResolver::resolved(){
-//GeoIpResolver::resolved(){
-   fprintf(stderr,"georeslved signal!\n");
+   vInfo("georeslved signal!\n");
    emit geoResolved();
 };
 

Modified: vidalia/branches/exit-country/src/vidalia/res/vidalia_common.qrc
===================================================================
--- vidalia/branches/exit-country/src/vidalia/res/vidalia_common.qrc	2008-08-05 21:09:10 UTC (rev 2943)
+++ vidalia/branches/exit-country/src/vidalia/res/vidalia_common.qrc	2008-08-05 22:03:25 UTC (rev 2944)
@@ -283,7 +283,6 @@
     </qresource>
     <qresource prefix="/geoip">
         <file>cacert_root.crt</file>
-        <file>geoip.data</file>
         <file>country_names.txt</file>
         <file>country_loc.csv</file>
     </qresource>