[Pidgin] GSoC2012/Statscollector modified

Pidgin trac at pidgin.im
Sun Aug 19 07:05:46 EDT 2012

Changed page "GSoC2012/Statscollector" by sanket from*
Page URL: <http://developer.pidgin.im/wiki/GSoC2012/Statscollector>
Diff URL: <http://developer.pidgin.im/wiki/GSoC2012/Statscollector?action=diff&version=3>
Revision 3

Index: GSoC2012/Statscollector
--- GSoC2012/Statscollector (version: 2)
+++ GSoC2012/Statscollector (version: 3)
@@ -50,3 +50,18 @@
 One major challenge for this server was to sort the XML's efficiently. Because utlimately it's going to hit a lot of traffic and rendering information should be efficient, to be short! I have followed the following workflow: on submitting stats.xml the server will breakdown the file and store it into a database schema. All queries for date ranges by users then, will be simple select * from db where date >= d1 and date <=d2 format. MySql or any RDBMS will be ideally suited for these queries. I had to make sure that Django's abstraction did not screw up the efficiency, because your logic can change the type of query you make -- without you knowing it!
 == Ensuring server names in prpl-jabber/irc are public ==
+One problem very rightly pointed out by elb (Ethan) regarding displaying Jabber/IRC breakdown is that it may potentially reveal private servers which can then reveal identity of users. We don't want that obviously :-). Also if a user is running a local server for some development purposes, we don't want that either. To solve these problems this mechanism has been provided:
+=== Plugin ===
+ * The plugins will ask for a trusted list of servers from the Stats server
+  * This list will actually contain md5 hashes
+ * If the current server is in the list then we can simply put it's name in stats.xml, else
+  * The server is yet to be determined as public
+ * In both cases, the current stats will count as evidence towards it's being public
+=== Server ===
+ * The server will check for incoming stats, if it contains only the Hash or both Hash and Name
+ * If only hash is present, then it'll increment confidence for it being public else,
+ * If both hash and name are present, it'll check if md5(name) == hash ^ hash in trusted_list
+  * If both conditions are satisfied, then the name will come in display else not


* The IP shown here might not mean anything if the user or the server is
behind a proxy.

Pidgin <http://pidgin.im>

This is an automated message. Someone at http://pidgin.im added your email
address to be notified of changes on GSoC2012/Statscollector. If it was not you, please
report to .

More information about the Wikiedit mailing list