[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co...
From: |
mldonkey-commits |
Subject: |
[Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co... |
Date: |
Sun, 04 Apr 2010 09:14:47 +0000 |
CVSROOT: /sources/mldonkey
Module name: mldonkey
Changes by: spiralvoice <spiralvoice> 10/04/04 09:14:47
Modified files:
distrib : ChangeLog
src/daemon/common: commonOptions.ml
src/networks/direct_connect: dcInteractive.ml dcOptions.ml
dcServers.ml
Log message:
patch #7155
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1418&r2=1.1419
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonOptions.ml?cvsroot=mldonkey&r1=1.229&r2=1.230
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcInteractive.ml?cvsroot=mldonkey&r1=1.34&r2=1.35
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcOptions.ml?cvsroot=mldonkey&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcServers.ml?cvsroot=mldonkey&r1=1.17&r2=1.18
Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1418
retrieving revision 1.1419
diff -u -b -r1.1418 -r1.1419
--- distrib/ChangeLog 2 Apr 2010 09:46:06 -0000 1.1418
+++ distrib/ChangeLog 4 Apr 2010 09:14:46 -0000 1.1419
@@ -14,6 +14,9 @@
ChangeLog
=========
+2010/04/04
+7155: DC: understand hublist.xml (ygrek)
+
2010/04/02
7151: BT: html ui tweaks (ygrek)
Index: src/daemon/common/commonOptions.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonOptions.ml,v
retrieving revision 1.229
retrieving revision 1.230
diff -u -b -r1.229 -r1.230
--- src/daemon/common/commonOptions.ml 20 Mar 2010 13:30:41 -0000 1.229
+++ src/daemon/common/commonOptions.ml 4 Apr 2010 09:14:46 -0000 1.230
@@ -1023,6 +1023,7 @@
'ocl' for file in the ocl format containing overnet peers, or
'contact.dat' for an contact.dat file containing overnet peers,
'nodes.gzip' for a fasttrack nodes.gzip,
+ 'hublist' for DirectConnect hubs list,
and period is the period between updates (in hours),
a period of zero means the file is only loaded once on startup,
and url is the url of the file to download.
@@ -1030,7 +1031,7 @@
EXAMPLE:
web_infos = [
(\"server.met\", 0, \"http://www.gruk.org/server.met.gz\");
- (\"hublist\", 0, \"http://dchublist.com/hublist.config.bz2\");
+ (\"hublist\", 0, \"http://dchublist.com/hublist.xml.bz2\");
(\"guarding.p2p\", 96, \"http://www.bluetack.co.uk/config/level1.gz\");
(\"ocl\", 24,
\"http://members.lycos.co.uk/appbyhp2/FlockHelpApp/contact-files/contact.ocl\");
(\"contact.dat\", 168, \"http://download.overnet.org/contact.dat\");
Index: src/networks/direct_connect/dcInteractive.ml
===================================================================
RCS file:
/sources/mldonkey/mldonkey/src/networks/direct_connect/dcInteractive.ml,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- src/networks/direct_connect/dcInteractive.ml 3 Aug 2007 22:11:46
-0000 1.34
+++ src/networks/direct_connect/dcInteractive.ml 4 Apr 2010 09:14:47
-0000 1.35
@@ -1567,8 +1567,10 @@
begin
try
dc_hublist := (
- match Filename2.last_extension filename with
- | ".bz2" -> DcServers.make_hublist_from_file (Misc2.bz2_extract
filename)
+ match List.rev (String2.split filename '.') with
+ | "bz2"::"xml"::_ -> DcServers.make_hublist_from_xml
(Xml.parse_file (Misc2.bz2_extract filename))
+ | "xml"::_ -> DcServers.make_hublist_from_xml (Xml.parse_file
filename)
+ | "bz2"::_ -> DcServers.make_hublist_from_file
(Misc2.bz2_extract filename)
| _ -> DcServers.make_hublist_from_file filename);
lprintf_nl "loaded dc++ hublist, %d entries" (List.length
!dc_hublist)
with e ->
Index: src/networks/direct_connect/dcOptions.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcOptions.ml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- src/networks/direct_connect/dcOptions.ml 1 Jul 2007 13:00:12 -0000
1.10
+++ src/networks/direct_connect/dcOptions.ml 4 Apr 2010 09:14:47 -0000
1.11
@@ -38,14 +38,6 @@
let login = define_option directconnect_section ["login"]
"Your login on DC (no spaces !!!)" string_option ""
-(*let load_hublist = define_option directconnect_section ["load_hublist"]
- "Download a list of servers"
- bool_option true *)
-
-let servers_list_url = define_option directconnect_section ["servers_list_url"]
- "The URL from which the first server list is downloaded"
- string_option "http://dchublist.com/hublist.config.bz2"
-
let hubs_passwords = define_option directconnect_section ["hubs_passwords"]
"Define here a list of address/passwords/nick triples for hubs in form:
[ (\"hubserver.ip.com\", \"nick1\", \"pass1\");
@@ -122,7 +114,6 @@
[
"Login (nothing for global one)", shortname login, "T";
"Port", shortname dc_port, "T";
- "Hub List URL", shortname servers_list_url, "T";
"Search Timeout", shortname search_timeout, "T";
"Firewalled", shortname firewalled, "B";
"Connection Type", shortname client_speed, "T";
Index: src/networks/direct_connect/dcServers.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcServers.ml,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -b -r1.17 -r1.18
--- src/networks/direct_connect/dcServers.ml 2 Jan 2008 16:15:53 -0000
1.17
+++ src/networks/direct_connect/dcServers.ml 4 Apr 2010 09:14:47 -0000
1.18
@@ -559,6 +559,40 @@
if !verbose_msg_servers then lprintf_nl "Found %d valid servers from
hublist" !counter;
!hublist
+let xml_tag name = let name = String.lowercase name in fun x ->
String.lowercase (Xml.tag x) = name
+
+let rec xml_select names xs =
+ match names with
+ | [] -> xs
+ | [name] -> List.filter (xml_tag name) xs
+ | name::t ->
+ let l = List.filter (xml_tag name) xs in
+ xml_select t (List.concat (List.map Xml.children l))
+
+let parse_address s =
+ try Scanf.sscanf s "dchub://%s@:%u" (fun s n -> s,n)
+ with _ -> try Scanf.sscanf s "%s@:%u" (fun s n -> s,n) with _ -> s,411
+
+let make_hublist_from_xml x =
+ let make_hub x =
+ let name = Charset.to_utf8 (Xml.attrib x "Name") in
+ let (address,port) = parse_address (Xml.attrib x "Address") in
+ let info = Charset.to_utf8 (Xml.attrib x "Description") in
+ let nusers = int_of_string (Xml.attrib x "Users") in
+ {
+ dc_name = name;
+ dc_ip = Ip.addr_of_string address;
+ dc_port = port;
+ dc_info = info;
+ dc_nusers = nusers;
+ }
+ in
+ let l = xml_select ["hublist";"hubs";"hub"] [x] in
+ let l' = List.fold_left (fun acc x -> try make_hub x :: acc with _ -> acc)
[] l in
+ if !verbose_msg_servers then
+ lprintf_nl "Found %u valid (of %u total) servers in hublist" (List.length
l') (List.length l);
+ l'
+
(* Connect to all autoconnect servers once *)
let autoconnect_to_servers () =
Hashtbl.iter (fun _ s ->
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co...,
mldonkey-commits <=