[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>