[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: |
Mon, 10 Apr 2006 19:16:36 +0000 |
CVSROOT: /sources/mldonkey
Module name: mldonkey
Branch:
Changes by: spiralvoice <address@hidden> 06/04/10 19:16:36
Modified files:
distrib : ChangeLog
src/daemon/common: commonOptions.ml
src/networks/direct_connect: dcClients.ml dcInteractive.ml
dcServers.ml
src/networks/fileTP: fileTPGlobals.ml fileTPInteractive.ml
src/networks/opennap: napigator.mll opennapClients.ml
opennapGlobals.ml opennapInteractive.ml
opennapServers.ml
src/networks/soulseek: slskClients.ml slskComplexOptions.ml
slskGlobals.ml slskInteractive.ml
slskMain.ml slskServers.ml slskTypes.ml
Log message:
patch #5035
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/distrib/ChangeLog.diff?tr1=1.797&tr2=1.798&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/daemon/common/commonOptions.ml.diff?tr1=1.138&tr2=1.139&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/direct_connect/dcClients.ml.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/direct_connect/dcInteractive.ml.diff?tr1=1.25&tr2=1.26&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/direct_connect/dcServers.ml.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/fileTP/fileTPGlobals.ml.diff?tr1=1.21&tr2=1.22&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/fileTP/fileTPInteractive.ml.diff?tr1=1.34&tr2=1.35&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/opennap/napigator.mll.diff?tr1=1.4&tr2=1.5&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/opennap/opennapClients.ml.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/opennap/opennapGlobals.ml.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/opennap/opennapInteractive.ml.diff?tr1=1.22&tr2=1.23&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/opennap/opennapServers.ml.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/soulseek/slskClients.ml.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/soulseek/slskComplexOptions.ml.diff?tr1=1.6&tr2=1.7&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/soulseek/slskGlobals.ml.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/soulseek/slskInteractive.ml.diff?tr1=1.20&tr2=1.21&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/soulseek/slskMain.ml.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/soulseek/slskServers.ml.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/soulseek/slskTypes.ml.diff?tr1=1.8&tr2=1.9&r1=text&r2=text
Patches:
Index: mldonkey/distrib/ChangeLog
diff -u mldonkey/distrib/ChangeLog:1.797 mldonkey/distrib/ChangeLog:1.798
--- mldonkey/distrib/ChangeLog:1.797 Mon Apr 10 17:06:43 2006
+++ mldonkey/distrib/ChangeLog Mon Apr 10 19:16:36 2006
@@ -15,6 +15,9 @@
=========
2006/04/10
+5035: Make Soulseek, Opennapster, DirectConnect compilable again
+ This does not mean the network modules work again,
+ they only compile again. More work is needed.
5032: CommonSwarming/WIP2: Some function rewrites and comments (pango)
2006/04/09
Index: mldonkey/src/daemon/common/commonOptions.ml
diff -u mldonkey/src/daemon/common/commonOptions.ml:1.138
mldonkey/src/daemon/common/commonOptions.ml:1.139
--- mldonkey/src/daemon/common/commonOptions.ml:1.138 Sat Apr 8 01:27:29 2006
+++ mldonkey/src/daemon/common/commonOptions.ml Mon Apr 10 19:16:36 2006
@@ -850,6 +850,10 @@
"http://download.overnet.org/contact.dat");
("geoip.dat", 0,
"http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz");
+(*
+ ("slsk_boot", 0,
+ "http://www.slsknet.org/slskinfo2");
+*)
]
let rss_feeds = define_expert_option current_section ["rss_feeds"]
Index: mldonkey/src/networks/direct_connect/dcClients.ml
diff -u mldonkey/src/networks/direct_connect/dcClients.ml:1.11
mldonkey/src/networks/direct_connect/dcClients.ml:1.12
--- mldonkey/src/networks/direct_connect/dcClients.ml:1.11 Sun Oct 16
20:42:54 2005
+++ mldonkey/src/networks/direct_connect/dcClients.ml Mon Apr 10 19:16:36 2006
@@ -19,6 +19,7 @@
open CommonInteractive
open Printf2
+open Int64ops
open CommonUploads
open CommonInteractive
Index: mldonkey/src/networks/direct_connect/dcInteractive.ml
diff -u mldonkey/src/networks/direct_connect/dcInteractive.ml:1.25
mldonkey/src/networks/direct_connect/dcInteractive.ml:1.26
--- mldonkey/src/networks/direct_connect/dcInteractive.ml:1.25 Sun Apr 9
00:27:03 2006
+++ mldonkey/src/networks/direct_connect/dcInteractive.ml Mon Apr 10
19:16:36 2006
@@ -158,7 +158,7 @@
let addr = Ip.addr_of_string addr in
addr, port
in
- let s = new_server addr port in
+ ignore (new_server addr port);
"", true
| "dc://" :: "friend" :: nick :: [] ->
let c = new_client nick in
@@ -356,25 +356,14 @@
let _ =
client_ops.op_client_info <- (fun c ->
- {
+ { (impl_client_info c.client_client) with
P.client_network = network.network_num;
- P.client_kind = Indirect_location (c.client_name, Md4.null);
+ P.client_kind = Indirect_location (c.client_name, Md4.null, Ip.null,
0);
P.client_state = client_state (as_client c.client_client);
P.client_type = client_type c;
- P.client_tags = [];
P.client_name = c.client_name;
- P.client_files = None;
P.client_num = (client_num (as_client c.client_client));
- P.client_rating = 0;
- P.client_chat_port = 0 ;
P.client_connect_time = last_time ();
- P.client_software = "";
- P.client_release = "";
- P.client_emulemod = "";
- P.client_downloaded = zero;
- P.client_uploaded = zero;
- P.client_upload = None;
-(* P.client_sock_addr = ""; *)
}
);
client_ops.op_client_browse <- (fun c immediate ->
Index: mldonkey/src/networks/direct_connect/dcServers.ml
diff -u mldonkey/src/networks/direct_connect/dcServers.ml:1.14
mldonkey/src/networks/direct_connect/dcServers.ml:1.15
--- mldonkey/src/networks/direct_connect/dcServers.ml:1.14 Sun Dec 18
14:50:38 2005
+++ mldonkey/src/networks/direct_connect/dcServers.ml Mon Apr 10 19:16:36 2006
@@ -514,6 +514,7 @@
s.server_name <- server_name;
s.server_info <- server_info;
(try s.server_nusers <- Int64.of_string server_nusers with _ -> ());
+ server_must_update s
| _ ->
lprintf "Bad line [%s]" s; lprint_newline ();
) lines;
@@ -530,21 +531,15 @@
let _ =
server_ops.op_server_info <- (fun s ->
- {
+ { (impl_server_info s.server_server) with
P.server_num = (server_num s);
P.server_network = network.network_num;
P.server_addr = s.server_addr;
P.server_port = s.server_port;
- P.server_realport = 0;
- P.server_score = 0;
- P.server_tags = [];
P.server_nusers = s.server_nusers;
- P.server_nfiles = Int64.zero;
P.server_state = server_state s;
P.server_name = s.server_name;
P.server_description = s.server_info;
- P.server_users = None;
- P.server_banner = "";
P.server_preferred = false;
}
)
Index: mldonkey/src/networks/fileTP/fileTPGlobals.ml
diff -u mldonkey/src/networks/fileTP/fileTPGlobals.ml:1.21
mldonkey/src/networks/fileTP/fileTPGlobals.ml:1.22
--- mldonkey/src/networks/fileTP/fileTPGlobals.ml:1.21 Sun Apr 9 00:27:04 2006
+++ mldonkey/src/networks/fileTP/fileTPGlobals.ml Mon Apr 10 19:16:36 2006
@@ -128,19 +128,6 @@
file_must_update (as_file file);
);
file_must_update (as_file file)
- (*
- CommonSwarming.set_writer swarmer (fun offset s pos len ->
-
-(*
- lprintf "DOWNLOADED: %d/%d/%d\n" pos len (String.length s);
- AnyEndian.dump_sub s pos len;
-*)
-
- if !!CommonOptions.buffer_writes then
- Unix32.buffered_write_copy (file_fd file) offset s pos len
- else
- Unix32.write (file_fd file) offset s pos len
- ) *)
end
let new_file file_id file_name file_size =
@@ -173,8 +160,6 @@
(* lprintf "ADD FILE TO DOWNLOAD LIST\n"; *)
file
-exception FileFound of file
-
let new_file file_id file_name file_size =
try
Hashtbl.find files_by_uid file_id
Index: mldonkey/src/networks/fileTP/fileTPInteractive.ml
diff -u mldonkey/src/networks/fileTP/fileTPInteractive.ml:1.34
mldonkey/src/networks/fileTP/fileTPInteractive.ml:1.35
--- mldonkey/src/networks/fileTP/fileTPInteractive.ml:1.34 Sun Apr 9
00:27:04 2006
+++ mldonkey/src/networks/fileTP/fileTPInteractive.ml Mon Apr 10 19:16:36 2006
@@ -111,28 +111,18 @@
let _ =
client_ops.op_client_info <- (fun c ->
- {
+ { (impl_client_info c.client_client) with
P.client_network = network.network_num;
P.client_kind = Known_location (Ip.from_name c.client_hostname,
c.client_port);
P.client_state = client_state (as_client c);
P.client_type = client_type c;
- P.client_tags = [];
P.client_name = (Printf.sprintf "%s:%d"
c.client_hostname c.client_port);
- P.client_files = None;
P.client_num = (client_num (as_client c));
- P.client_rating = 0;
- P.client_chat_port = 0 ;
P.client_connect_time = BasicSocket.last_time ();
P.client_software = "TP";
- P.client_release = "";
- P.client_emulemod = "";
P.client_downloaded = c.client_downloaded;
- P.client_uploaded = zero;
- P.client_upload = None;
- P.client_sui_verified = None;
-(* P.client_sock_addr = (; *)
}
);
client_ops.op_client_bprint <- (fun c buf ->
Index: mldonkey/src/networks/opennap/napigator.mll
diff -u mldonkey/src/networks/opennap/napigator.mll:1.4
mldonkey/src/networks/opennap/napigator.mll:1.5
--- mldonkey/src/networks/opennap/napigator.mll:1.4 Tue Sep 6 11:25:00 2005
+++ mldonkey/src/networks/opennap/napigator.mll Mon Apr 10 19:16:36 2006
@@ -174,7 +174,7 @@
open TcpBufferedSocket
let load_servers_list url f =
- lprintf "QUERY URL %s\n" url;
+ lprintf_nl "QUERY URL %s\n" url;
CommonWeb.mldonkey_wget url (fun filename ->
f (translate (File.to_string filename)))
Index: mldonkey/src/networks/opennap/opennapClients.ml
diff -u mldonkey/src/networks/opennap/opennapClients.ml:1.9
mldonkey/src/networks/opennap/opennapClients.ml:1.10
--- mldonkey/src/networks/opennap/opennapClients.ml:1.9 Sun Oct 16 20:42:54 2005
+++ mldonkey/src/networks/opennap/opennapClients.ml Mon Apr 10 19:16:36 2006
@@ -18,6 +18,7 @@
*)
open Printf2
+open Int64ops
open CommonInteractive
open CommonFile
open CommonComplexOptions
Index: mldonkey/src/networks/opennap/opennapGlobals.ml
diff -u mldonkey/src/networks/opennap/opennapGlobals.ml:1.11
mldonkey/src/networks/opennap/opennapGlobals.ml:1.12
--- mldonkey/src/networks/opennap/opennapGlobals.ml:1.11 Mon Jan 9
00:25:59 2006
+++ mldonkey/src/networks/opennap/opennapGlobals.ml Mon Apr 10 19:16:36 2006
@@ -187,7 +187,7 @@
(Printf.sprintf "ON-%s" (Md4.to_string file_id)) in
let t = Unix32.create_rw file_temp in
let current_size = try
- Unix32.getsize file_temp true
+ Unix32.getsize file_temp
with e ->
lprintf "Exception %s in current_size\n" (Printexc2.to_string e);
Int64.zero
Index: mldonkey/src/networks/opennap/opennapInteractive.ml
diff -u mldonkey/src/networks/opennap/opennapInteractive.ml:1.22
mldonkey/src/networks/opennap/opennapInteractive.ml:1.23
--- mldonkey/src/networks/opennap/opennapInteractive.ml:1.22 Mon Jan 16
16:05:14 2006
+++ mldonkey/src/networks/opennap/opennapInteractive.ml Mon Apr 10 19:16:36 2006
@@ -132,7 +132,7 @@
file_cancel (as_file file.file_file)
);
file_ops.op_file_info <- (fun file ->
- {
+ { (impl_file_info file.file_file) with
P.file_fields = P.Fields_file_info.all;
P.file_comment = file_comment (as_file file.file_file);
@@ -143,27 +143,19 @@
P.file_md4 = file.file_id;
P.file_size = file_size file;
P.file_downloaded = file_downloaded file;
- P.file_all_sources = 0;
- P.file_active_sources = 0;
P.file_state = file_state file;
- P.file_sources = None;
- P.file_download_rate = 0.0;
P.file_chunks = "0";
P.file_availability = [network.network_num, "0"];
P.file_format = FormatUnknown;
P.file_chunks_age = [|0 |];
- P.file_age = 0;
P.file_last_seen = BasicSocket.last_time ();
P.file_priority = file_priority (as_file file.file_file);
- P.file_uids = [];
- P.file_sub_files = [];
}
)
let _ =
server_ops.op_server_info <- (fun s ->
{ (impl_server_info s.server_server) with
-
P.server_network = network.network_num;
P.server_addr = Ip.addr_of_ip s.server_ip;
P.server_port = s.server_port;
@@ -230,26 +222,14 @@
let _ =
client_ops.op_client_info <- (fun c ->
- {
+ {(impl_client_info c.client_client) with
P.client_network = network.network_num;
- P.client_kind = Indirect_location (c.client_name, Md4.null, _, _);
+ P.client_kind = Indirect_location (c.client_name, Md4.null, Ip.null,
0);
P.client_state = client_state (as_client c.client_client);
P.client_type = client_type c;
- P.client_tags = [];
P.client_name = c.client_name;
- P.client_files = None;
P.client_num = (client_num (as_client c.client_client));
- P.client_rating = 0;
- P.client_chat_port = 0 ;
P.client_connect_time = BasicSocket.last_time ();
- P.client_software = "";
- P.client_release = "";
- P.client_emulemod = "";
- P.client_downloaded = zero;
- P.client_uploaded = zero;
- P.client_upload = None;
- P.client_sui_verified = None;
-(* P.client_sock_addr = ""; *)
}
);
client_ops.op_client_browse <- (fun c immediate ->
Index: mldonkey/src/networks/opennap/opennapServers.ml
diff -u mldonkey/src/networks/opennap/opennapServers.ml:1.12
mldonkey/src/networks/opennap/opennapServers.ml:1.13
--- mldonkey/src/networks/opennap/opennapServers.ml:1.12 Sun Dec 18
14:50:38 2005
+++ mldonkey/src/networks/opennap/opennapServers.ml Mon Apr 10 19:16:36 2006
@@ -256,9 +256,6 @@
lprintf "SERVER %s:%d %s\n" (Ip.to_string s.server_ip)
s.server_port s.server_net;
lprintf "ERROR FROM SERVER: %s\n" error;
-(* lprintf "SERVER %s:%d %s\n" (Ip.to_string s.server_ip)
- s.server_port s.server_net;
-lprintf "MESSAGE FROM SERVER: %s\n" error; *)
| OP.MessageReq error ->
let msg = Printf.sprintf "From server %s [%s:%d]: %s\n"
@@ -267,7 +264,7 @@
| OP.NickAlreadyUsedReq ->
-(* lprintf "NICK NAME ALREADY USED %d\n" s.server_nick; *)
+(* lprintf "NICK NAME ALREADY USED %d\n" s.server_nick; *)
try_login_on_server s sock;
(*
s.server_nick <- s.server_nick + 1;
@@ -279,12 +276,12 @@
()
| OP.NickUnusedReq ->
-(* lprintf "NICK NAME ACCEPTED\n"; *)
+ lprintf "NICK NAME ACCEPTED\n";
login_on_server s sock
| OP.LoginAckReq mail ->
set_rtimeout sock DG.half_day;
-(* lprintf "***** CONNECTED %s ******\n" mail; *)
+ lprintf "***** CONNECTED %s ******\n" mail;
set_server_state s (Connected (-1));
connected_servers := s :: !connected_servers;
@@ -318,6 +315,7 @@
s.server_nfiles <- Int64.of_int t.SS.files;
s.server_nusers <- Int64.of_int t.SS.users;
s.server_size <- t.SS.size;
+ server_must_update (as_server s.server_server)
| OP.SearchReplyReq t ->
lprintf "*** SearchReplyReq ***\n";
@@ -521,14 +519,18 @@
network.op_network_update_options <- (fun _ -> ());
network.op_network_save_sources <- (fun _ -> ())
- (*
- If you run a packet sniffer on WPNP (WinMX Peer Network Protocol)
packets, it will soon become apparent that these packets are not transmitted in
cleartext. For instance, search terms cannot directly be found
-in the packet stream.
-
-The reason for this is that the packets are encoded using a simple XOR based
algorithm. It cannot really be called encryption, since there is no key except
packet length.
-
-The encoding algorithm in question first xors the first byte with the last,
then repeatedly xors a byte with its preceding byte, moving from the
next-to-first byte to the last one, one byte at a time. This is
-done five times. The procedure varies slightly the first time, where the first
byte is not XORed with the last byte, but rather with the packet[1] length.
+(*
+If you run a packet sniffer on WPNP (WinMX Peer Network Protocol) packets,
+it will soon become apparent that these packets are not transmitted in
cleartext.
+For instance, search terms cannot directly be found in the packet stream.
+
+The reason for this is that the packets are encoded using a simple XOR based
algorithm.
+It cannot really be called encryption, since there is no key except packet
length.
+
+The encoding algorithm in question first xors the first byte with the last,
then repeatedly
+xors a byte with its preceding byte, moving from the next-to-first byte to the
last one,
+one byte at a time. This is done five times. The procedure varies slightly the
first time,
+where the first byte is not XORed with the last byte, but rather with the
packet[1] length.
*)
external winmx_encode : string -> int -> unit = "winmx_encode_ml"
Index: mldonkey/src/networks/soulseek/slskClients.ml
diff -u mldonkey/src/networks/soulseek/slskClients.ml:1.12
mldonkey/src/networks/soulseek/slskClients.ml:1.13
--- mldonkey/src/networks/soulseek/slskClients.ml:1.12 Mon Nov 1 11:23:02 2004
+++ mldonkey/src/networks/soulseek/slskClients.ml Mon Apr 10 19:16:36 2006
@@ -104,7 +104,7 @@
(Ip.to_inet_addr ip) port
(fun _ _ -> ())
in
- let d = Download.new_download sock c file 1 in
+ let d = Download.new_download sock c file 1 in
set_reader sock (Download.download_reader d);
set_client_state c (Connected_downloading (file_num file));
init_download_connection sock file (local_login()) req
@@ -153,7 +153,6 @@
(* Someone wants to upload to us !! *)
begin
try
- let short_file_name = Filename2.basename file_name in
let file = Hashtbl.find files_by_key (String.lowercase file_name) in
lprintf "File Found"; lprint_newline ();
Index: mldonkey/src/networks/soulseek/slskComplexOptions.ml
diff -u mldonkey/src/networks/soulseek/slskComplexOptions.ml:1.6
mldonkey/src/networks/soulseek/slskComplexOptions.ml:1.7
--- mldonkey/src/networks/soulseek/slskComplexOptions.ml:1.6 Thu Nov 20
16:43:24 2003
+++ mldonkey/src/networks/soulseek/slskComplexOptions.ml Mon Apr 10
19:16:36 2006
@@ -29,10 +29,7 @@
let servers =
define_option soulseek_section ["servers"]
"" (list_option (tuple2_option (string_option, int_option)))
- (* this server is no more actual [ ("mail.slsk.org", 2240) ] *)
- [
-
- ("server.slsknet.org", 2240) ]
+ [ ("server.slsknet.org", 2240) ]
let save_config () =
servers =:= List.map (fun s ->
Index: mldonkey/src/networks/soulseek/slskGlobals.ml
diff -u mldonkey/src/networks/soulseek/slskGlobals.ml:1.12
mldonkey/src/networks/soulseek/slskGlobals.ml:1.13
--- mldonkey/src/networks/soulseek/slskGlobals.ml:1.12 Mon Jan 9 00:25:59 2006
+++ mldonkey/src/networks/soulseek/slskGlobals.ml Mon Apr 10 19:16:36 2006
@@ -20,6 +20,7 @@
open CommonInteractive
open Printf2
open Md4
+open Int64ops
open CommonOptions
open CommonResult
open BasicSocket
@@ -35,6 +36,7 @@
open CommonTypes
open CommonShared
open CommonServer
+open CommonSwarming
open SlskOptions
open SlskTypes
@@ -103,7 +105,7 @@
let servers_by_addr = Hashtbl.create 13
-let new_server addr port=
+let new_server addr port =
try
Hashtbl.find servers_by_addr (addr, port)
with _ ->
@@ -247,41 +249,61 @@
let current_files = ref []
-
+let min_range_size = megabyte
+
+let new_file file_id name file_size =
+ let file_chunk_size =
+ max megabyte (
+ file_size // (max 5L (file_size // (megabytes 5)))
+ )
+ in
+ let file_temp = Filename.concat !!temp_directory
+ (Printf.sprintf "SK-%s" (Md4.to_string file_id)) in
+ let current_size =
+ try
+ Unix32.getsize file_temp
+ with e -> Int64.zero
+ in
+
+ let t = Unix32.create_rw file_temp in
+ let rec file = {
+ file_file = file_impl;
+ file_id = file_id;
+ file_clients = [];
+ file_swarmer = None;
+ } and file_impl = {
+ dummy_file_impl with
+ impl_file_fd = Some t;
+ impl_file_size = file_size;
+ impl_file_val = file;
+ impl_file_ops = file_ops;
+ impl_file_age = last_time ();
+ impl_file_best_name = name;
+ }
+ in
+ let state =
+ if current_size = file_size then
+ FileDownloaded
+ else
+ begin
+ let kernel = CommonSwarming.create_swarmer file_temp file_size
min_range_size in
+ let swarmer = CommonSwarming.create kernel (as_file file.file_file)
file_chunk_size in
+ file.file_swarmer <- Some swarmer;
+ CommonSwarming.set_verifier swarmer ForceVerification;
+ CommonSwarming.set_verified swarmer (fun _ _ -> file_must_update file);
+ current_files := file :: !current_files;
+ FileDownloading
+ end
+ in
+ file_add file_impl state;
+ file
+
let new_file file_id name file_size =
let key = String.lowercase name in
try
Hashtbl.find files_by_key key
with _ ->
- let file_temp = Filename.concat !!temp_directory
- (Printf.sprintf "SK-%s" (Md4.to_string file_id)) in
- let current_size = try
- Unix32.getsize file_temp true
- with e ->
- lprintf "Exception %s in current_size\n" (Printexc2.to_string e);
- Int64.zero
- in
-
- let rec file = {
- file_file = impl;
- file_id = file_id;
- file_clients = [];
- } and impl = {
- dummy_file_impl with
- impl_file_fd = Some (Unix32.create_rw file_temp);
- impl_file_size = file_size;
- impl_file_downloaded = current_size;
- impl_file_val = file;
- impl_file_ops = file_ops;
- impl_file_age = last_time ();
- impl_file_best_name = name;
- } in
- let state = if current_size = file_size then FileDownloaded else begin
- current_files := file :: !current_files;
- FileDownloading
- end
- in
- file_add impl state;
+ let file = new_file file_id key file_size in
Hashtbl.add files_by_key key file;
file
Index: mldonkey/src/networks/soulseek/slskInteractive.ml
diff -u mldonkey/src/networks/soulseek/slskInteractive.ml:1.20
mldonkey/src/networks/soulseek/slskInteractive.ml:1.21
--- mldonkey/src/networks/soulseek/slskInteractive.ml:1.20 Mon Jan 9
00:22:36 2006
+++ mldonkey/src/networks/soulseek/slskInteractive.ml Mon Apr 10 19:16:36 2006
@@ -124,21 +124,15 @@
);
*)
server_ops.op_server_info <- (fun s ->
- {
+ { (impl_server_info s.server_server) with
P.server_num = (server_num s);
P.server_network = network.network_num;
P.server_addr = s.server_addr;
P.server_port = s.server_port;
- P.server_realport = 0;
- P.server_score = 0;
- P.server_tags = [];
P.server_nusers = s.server_nusers;
- P.server_nfiles = Int64.zero;
P.server_state = server_state s;
P.server_name = s.server_name;
P.server_description = s.server_info;
- P.server_users = None;
- P.server_banner = "";
P.server_preferred = false;
}
)
@@ -194,7 +188,7 @@
let _ =
let module P = GuiTypes in
file_ops.op_file_info <- (fun file ->
- {
+ { (impl_file_info file.file_file) with
P.file_fields = P.Fields_file_info.all;
P.file_comment = file_comment (as_file file.file_file);
@@ -205,10 +199,7 @@
P.file_md4 = file.file_id;
P.file_size = file_size file;
P.file_downloaded = file_downloaded file;
- P.file_all_sources = 0;
- P.file_active_sources = 0;
P.file_state = file_state file;
- P.file_sources = None;
P.file_download_rate = file_download_rate file.file_file;
P.file_chunks = "0";
P.file_availability = [network.network_num,"0"];
@@ -217,8 +208,6 @@
P.file_age = file_age file;
P.file_last_seen = BasicSocket.last_time ();
P.file_priority = file_priority (as_file file.file_file);
- P.file_uids = [];
- P.file_sub_files = [];
}
);
(*
@@ -253,26 +242,14 @@
let _ =
let module P = GuiTypes in
client_ops.op_client_info <- (fun c ->
- {
+ { (impl_client_info c.client_client) with
P.client_network = network.network_num;
- P.client_kind = Indirect_location (c.client_name, Md4.null, _, _);
+ P.client_kind = Indirect_location (c.client_name, Md4.null, Ip.null,
0);
P.client_state = client_state (as_client c.client_client);
P.client_type = client_type c;
- P.client_tags = [];
P.client_name = c.client_name;
- P.client_files = None;
P.client_num = (client_num (as_client c.client_client));
- P.client_rating = 0;
- P.client_chat_port = 0 ;
P.client_connect_time = last_time ();
- P.client_software = "";
- P.client_release = "";
- P.client_emulemod = "";
- P.client_downloaded = zero;
- P.client_uploaded = zero;
- P.client_upload = None;
- P.client_sui_verified = None;
-(* client_sock_addr = ""; *)
}
);
client_ops.op_client_browse <- (fun c immediate ->
Index: mldonkey/src/networks/soulseek/slskMain.ml
diff -u mldonkey/src/networks/soulseek/slskMain.ml:1.11
mldonkey/src/networks/soulseek/slskMain.ml:1.12
--- mldonkey/src/networks/soulseek/slskMain.ml:1.11 Sat Nov 5 16:23:41 2005
+++ mldonkey/src/networks/soulseek/slskMain.ml Mon Apr 10 19:16:36 2006
@@ -48,8 +48,6 @@
is_enabled := true;
network.op_network_disable <- disable enabler;
-(* load_url slsk_kind "http://www.slsk.org/slskinfo2"; *)
-
(*
let main_server = new_server (new_addr_name !!main_server_name)
!!main_server_port in
Index: mldonkey/src/networks/soulseek/slskServers.ml
diff -u mldonkey/src/networks/soulseek/slskServers.ml:1.11
mldonkey/src/networks/soulseek/slskServers.ml:1.12
--- mldonkey/src/networks/soulseek/slskServers.ml:1.11 Wed Mar 29 14:22:08 2006
+++ mldonkey/src/networks/soulseek/slskServers.ml Mon Apr 10 19:16:36 2006
@@ -168,7 +168,7 @@
C2S.LoginReq {
L.login = local_login ();
L.password = !!password;
- L.version = 180; (* This is what pyslsk sends *)
+ L.version = 156; (* This is what pyslsk sends *)
});
server_send sock (C2S.SetWaitPortReq !!slsk_port)
with e ->
@@ -206,11 +206,11 @@
) files_by_key
let servers_line = "--servers"
-let slsk_kind = "slsk_server_list"
-let slsk_kind_descr = "List of Soulseek servers (?)"
+let slsk_kind = "slsk_boot"
+let slsk_kind_descr = "Soulseek servers boot URL"
let load_server_list_last = ref 0
-let load_server_list _ filename =
+let load_server_list _ filename =
load_server_list_last := last_time ();
let s = File.to_string filename in
try
@@ -225,7 +225,7 @@
match String2.split_simplify s ':' with
[_;_;server_name; server_port] ->
let port = int_of_string server_port in
- lprintf "NEW SERVER %s:%d" server_name port; lprint_newline ();
+ lprintf_nl () "NEW SERVER %s:%d" server_name port;
(*
main_server_name =:= server_name;
main_server_port =:= port;
Index: mldonkey/src/networks/soulseek/slskTypes.ml
diff -u mldonkey/src/networks/soulseek/slskTypes.ml:1.8
mldonkey/src/networks/soulseek/slskTypes.ml:1.9
--- mldonkey/src/networks/soulseek/slskTypes.ml:1.8 Mon Aug 9 17:59:47 2004
+++ mldonkey/src/networks/soulseek/slskTypes.ml Mon Apr 10 19:16:36 2006
@@ -65,6 +65,7 @@
file_file : file CommonFile.file_impl;
file_id : Md4.t;
mutable file_clients : client list;
+ mutable file_swarmer : CommonSwarming.t option;
}
and client = {
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/04/03
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/04/07
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/04/07
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/04/07
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/04/07
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2006/04/10
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co...,
mldonkey-commits <=