[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: |
Thu, 19 Apr 2007 13:32:56 +0000 |
CVSROOT: /sources/mldonkey
Module name: mldonkey
Changes by: spiralvoice <spiralvoice> 07/04/19 13:32:56
Modified files:
distrib : ChangeLog
src/daemon/common: commonSwarming.ml
src/networks/donkey: donkeyClient.ml donkeyComplexOptions.ml
donkeyGlobals.ml donkeyShare.ml
donkeyShare.mli
Log message:
patch #5869
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1233&r2=1.1234
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonSwarming.ml?cvsroot=mldonkey&r1=1.59&r2=1.60
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyClient.ml?cvsroot=mldonkey&r1=1.122&r2=1.123
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyComplexOptions.ml?cvsroot=mldonkey&r1=1.63&r2=1.64
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyGlobals.ml?cvsroot=mldonkey&r1=1.116&r2=1.117
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyShare.ml?cvsroot=mldonkey&r1=1.58&r2=1.59
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyShare.mli?cvsroot=mldonkey&r1=1.3&r2=1.4
Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1233
retrieving revision 1.1234
diff -u -b -r1.1233 -r1.1234
--- distrib/ChangeLog 19 Apr 2007 13:25:57 -0000 1.1233
+++ distrib/ChangeLog 19 Apr 2007 13:32:56 -0000 1.1234
@@ -15,6 +15,11 @@
=========
2007/04/19
+5869: EDK/Swarmer: Try harder to read corrupt files.ini
+- reset chunk table to missing after re-creating a missing temp file
+- discard swarmers without files entry in files.ini instead of stopping
+- check that partial hashes file_md4s match with file_md4 when reading
files.ini
+
5870: Updated distrib/mldonkey_submit, it now uses command dllink instead of
dd,
it also supports http and sig2dat links (atordo)
Index: src/daemon/common/commonSwarming.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonSwarming.ml,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -b -r1.59 -r1.60
--- src/daemon/common/commonSwarming.ml 18 Feb 2007 00:13:08 -0000 1.59
+++ src/daemon/common/commonSwarming.ml 19 Apr 2007 13:32:56 -0000 1.60
@@ -3274,7 +3274,7 @@
let check_swarmer s =
try
match s.s_networks with
- | [] -> assert false
+ | [] -> lprintf_nl "found unused swarmer %s, discarding" s.s_filename;
| tprim :: tail ->
assert(tprim.t_primary);
Index: src/networks/donkey/donkeyClient.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyClient.ml,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -b -r1.122 -r1.123
--- src/networks/donkey/donkeyClient.ml 18 Feb 2007 00:13:09 -0000 1.122
+++ src/networks/donkey/donkeyClient.ml 19 Apr 2007 13:32:56 -0000 1.123
@@ -1541,7 +1541,7 @@
end else begin
(* We should check the correctness of the Md4 array *)
let md4s = t.Q.chunks in
- let md4 = DonkeyShare.md4_of_array md4s in
+ let md4 = md4_of_array md4s in
if md4 <> file.file_md4 then begin
lprintf_nl "[ERROR] Chunks md4s do not match file_md4 for
%s(%s) from %s"
(file_best_name file)
Index: src/networks/donkey/donkeyComplexOptions.ml
===================================================================
RCS file:
/sources/mldonkey/mldonkey/src/networks/donkey/donkeyComplexOptions.ml,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -b -r1.63 -r1.64
--- src/networks/donkey/donkeyComplexOptions.ml 18 Feb 2007 00:13:09 -0000
1.63
+++ src/networks/donkey/donkeyComplexOptions.ml 19 Apr 2007 13:32:56 -0000
1.64
@@ -37,6 +37,8 @@
open DonkeyOptions
open DonkeyGlobals
+module VB = VerificationBitmap
+
let shared_files_ini = create_options_file "shared_files_new.ini"
let file_sources_ini = create_options_file "file_sources.ini"
@@ -230,7 +232,7 @@
get_value "file_md4" value_to_string
with _ -> failwith "Bad file_md4"
in
- let file_diskname =
+ let file_diskname, empty =
let filename =
try
get_value "file_diskname" value_to_string
@@ -256,12 +258,15 @@
( file_string_of_uid ( Ed2k (Md4.of_string file_md4) ) )
end
in
- if not (Sys.file_exists filename) then
+ let file_exists filename = Sys.file_exists filename in
+ if not (file_exists filename) then
(* I think we should die here, to prevent any corruption. *)
- lprintf_nl "ERROR ED2K-TEMP-FILE %s DOES NOT EXIST, THIS WILL PERHAPS
LEAD TO CORRUPTION IN THAT DOWNLOAD!"
- filename;
- if !verbose && (not !CommonGlobals.is_startup_phase) then lprintf_nl
"ed2k-temp-file %s used." filename;
- filename
+ lprintf_nl "Error: temp file %s not found, re-creating empty one"
filename;
+
+ if !verbose && (not !CommonGlobals.is_startup_phase) then
+ lprintf_nl "ed2k-temp-file %s used." filename;
+
+ filename, not (file_exists filename)
in
let file = DonkeyGlobals.new_file file_diskname file_state
@@ -275,7 +280,15 @@
let md4s = try get_value "file_md4s" (value_to_array value_to_md4)
with _ -> [||] in
- if md4s <> [||] then file.file_computed_md4s <- md4s;
+ if md4s <> [||] then
+ begin
+ if md4_of_array md4s <> (Md4.of_string file_md4) ||
+ Array.length md4s <> file.file_nchunk_hashes then
+ lprintf_nl "discarding partial chunks hashes, computed hash is wrong
for %s"
+ (file_best_name file)
+ else
+ file.file_computed_md4s <- md4s
+ end;
(match file.file_swarmer with
None -> ()
@@ -285,7 +298,14 @@
VerificationNotAvailable
else
Verification
- (Array.map (fun md4 -> Ed2k md4) md4s))
+ (Array.map (fun md4 -> Ed2k md4) md4s));
+ if empty then
+ begin
+ lprintf_nl "re-created missing temp file of %s , resetting chunk
status to missing"
+ (file_best_name file);
+ let ver_str = String.make (Array.length md4s) (VB.state_to_char
VB.State_missing) in
+ CommonSwarming.set_chunks_verified_bitmap swarmer (VB.of_string
ver_str);
+ end
);
as_file file
Index: src/networks/donkey/donkeyGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyGlobals.ml,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -b -r1.116 -r1.117
--- src/networks/donkey/donkeyGlobals.ml 18 Feb 2007 00:13:09 -0000
1.116
+++ src/networks/donkey/donkeyGlobals.ml 19 Apr 2007 13:32:56 -0000
1.117
@@ -299,6 +299,13 @@
None -> failwith "No UDP socket"
| Some sock -> sock
+let md4_of_array md4s =
+ let s = String.create ((Array.length md4s) * 16) in
+ Array.iteri (fun i v ->
+ String.blit (Md4.direct_to_string v) 0 s (i*16) 16
+ ) md4s;
+ Md4.string s
+
(* compute the name used to save the file *)
let update_best_name file =
Index: src/networks/donkey/donkeyShare.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyShare.ml,v
retrieving revision 1.58
retrieving revision 1.59
diff -u -b -r1.58 -r1.59
--- src/networks/donkey/donkeyShare.ml 28 Jan 2007 20:26:46 -0000 1.58
+++ src/networks/donkey/donkeyShare.ml 19 Apr 2007 13:32:56 -0000 1.59
@@ -66,16 +66,6 @@
None -> update_shared_num impl
| Some old_impl -> replace_shared old_impl impl
-
-let md4_of_array md4s =
- let len = Array.length md4s in
- let s = String.create (len * 16) in
- for i = 0 to len-1 do
- let md4 = Md4.direct_to_string md4s.(i) in
- String.blit md4 0 s (i*16) 16;
- done;
- Md4.string s
-
let new_file_to_share sh codedname old_impl =
try
(* How do we compute the total MD4 of the file ? *)
Index: src/networks/donkey/donkeyShare.mli
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyShare.mli,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- src/networks/donkey/donkeyShare.mli 8 Aug 2005 16:47:31 -0000 1.3
+++ src/networks/donkey/donkeyShare.mli 19 Apr 2007 13:32:56 -0000 1.4
@@ -24,4 +24,3 @@
val all_shared : unit -> DonkeyTypes.file list
val send_new_shared : unit -> unit
val remember_shared_info : DonkeyTypes.file -> string -> unit
-val md4_of_array : Md4.Md4.t array -> Md4.Md4.t
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/01
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/02
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/02
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/03
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/08
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/08
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/10
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/10
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/12
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/13
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co...,
mldonkey-commits <=
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/19
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/22
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/23
- [Mldonkey-commits] mldonkey distrib/ChangeLog src/daemon/common/co..., mldonkey-commits, 2007/04/28