diff --git a/net-p2p/mldonkey-devel/Makefile b/net-p2p/mldonkey-devel/Makefile index 28198b9ff535..bbbec00f39f1 100644 --- a/net-p2p/mldonkey-devel/Makefile +++ b/net-p2p/mldonkey-devel/Makefile @@ -6,8 +6,7 @@ # PORTNAME= mldonkey -PORTVERSION= 2.8.2 -PORTREVISION= 1 +PORTVERSION= 2.8.3 CATEGORIES+= net-p2p MASTER_SITES= ${MASTER_SITE_SOURCEFORGE_EXTENDED} \ ${MASTER_SITE_SAVANNAH} diff --git a/net-p2p/mldonkey-devel/distinfo b/net-p2p/mldonkey-devel/distinfo index adbd3292e7b7..555fdd148cb7 100644 --- a/net-p2p/mldonkey-devel/distinfo +++ b/net-p2p/mldonkey-devel/distinfo @@ -1,3 +1,3 @@ -MD5 (mldonkey-2.8.2.tar.bz2) = 123aeb79a3ca91a4943b59f044e98d4a -SHA256 (mldonkey-2.8.2.tar.bz2) = 51efc1c339b8cbafde93f4444f18e4243f41008b1c4107a41602542e9eeaa68e -SIZE (mldonkey-2.8.2.tar.bz2) = 2652074 +MD5 (mldonkey-2.8.3.tar.bz2) = 415eec223b97f50e6bbc4126980b3836 +SHA256 (mldonkey-2.8.3.tar.bz2) = 454860f3dddd7e72eb97bcb57a7d2aef9b509cf0d989e0dc0c2f5f38b335663f +SIZE (mldonkey-2.8.3.tar.bz2) = 2659818 diff --git a/net-p2p/mldonkey-devel/files/patch-cvs-2007021000 b/net-p2p/mldonkey-devel/files/patch-cvs-2007021000 deleted file mode 100644 index 4e406feb06d5..000000000000 --- a/net-p2p/mldonkey-devel/files/patch-cvs-2007021000 +++ /dev/null @@ -1,11901 +0,0 @@ -Index: config/Makefile.in -=================================================================== -RCS file: /sources/mldonkey/mldonkey/config/Makefile.in,v -retrieving revision 1.173 -retrieving revision 1.175 -diff -u -r1.173 -r1.175 ---- config/Makefile.in 21 Nov 2006 22:29:58 -0000 1.173 -+++ config/Makefile.in 15 Jan 2007 18:27:21 -0000 1.175 -@@ -148,7 +148,7 @@ - $(CDK)/filepath.ml $(CDK)/string2.ml \ - $(CDK)/filename2.ml $(CDK)/list2.ml $(CDK)/hashtbl2.ml \ - $(CDK)/unix2.ml $(CDK)/file.ml \ -- $(CDK)/heap_c.c $(CDK)/array2.ml $(CDK)/sort2.ml -+ $(CDK)/heap_c.c $(CDK)/array2.ml - - ifneq ("$(PTHREAD_CFLAGS)" , "") - CFLAGS += $(PTHREAD_CFLAGS) -@@ -1245,7 +1245,7 @@ - $(PROGRESS_SRCS) $(MAIN_SRCS) - - TARGETS += mlgui$(EXE) mlguistarter$(EXE) --ifeq ("$(GUI)", "newgui") -+ifeq ("$(GUI)", "newgui1") - TARGETS += mlprogress$(EXE) - endif - -Index: config/configure.in -=================================================================== -RCS file: /sources/mldonkey/mldonkey/config/configure.in,v -retrieving revision 1.289 -retrieving revision 1.290 -diff -u -r1.289 -r1.290 ---- config/configure.in 28 Nov 2006 23:17:31 -0000 1.289 -+++ config/configure.in 11 Jan 2007 12:15:37 -0000 1.290 -@@ -1257,7 +1257,7 @@ - else - echo "Do you want this script to try to download and install $LABLGTK_NAME" - echo "LOCALLY in mldonkey directory ?" -- if test "$BATCH" = "no"; then read i; else i=yes; fi -+ if test "$BATCH" = "no"; then read i <&1; else i=yes; fi - case "$i" in - y* | Y*) - -Index: distrib/ChangeLog -=================================================================== -RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v -retrieving revision 1.1118 -retrieving revision 1.1174 -diff -u -r1.1118 -r1.1174 ---- distrib/ChangeLog 28 Nov 2006 23:17:31 -0000 1.1118 -+++ distrib/ChangeLog 6 Feb 2007 22:26:58 -0000 1.1174 -@@ -14,6 +14,142 @@ - ChangeLog - ========= - -+2007/02/06 -+5719: Unix2: Fix copying files > 1GB (1073741823 bytes), -+ bug was introduced by patch 5589 after release of 2.8.2 -+ -+2007/02/04 -+5724: http_client: Retry GET request if HEAD request returns http error 400 -+5723: HTML: print tracker errors in html table at 'vd ' (Schlumpf) -+5722: HTML: use Printf2.html_mods_cntr () for table row classes (Schlumpf) -+5720: Swarmer: block choice algorithm 2 from patch 5141 is new default -+- remove swarming_block_selection_algorithm = 1 -+ because it finishes chunks too slowly -+- remove swarming_block_selection_algorithm = 3 from TripleM -+ because it uses too much CPU power. -+- remove option swarming_block_selection_algorithm, hard-coded default is now 2 -+- remove option block_switching, hard-coded default is now true -+ -+2007/01/30 -+5717: Optimize function print_command_result -+ -+2007/01/28 -+5715: Improve porttest (Schlumpf) -+- use 'porttest' command to start the network porttest the first time, -+ after this to see the results -+- new command 'force_porttest' to force an new porttest -+- improve html porttest output and make it also available in telnet -+5716: EDK: Do not send share list to servers with state Connecting -+5713: HTML: show messages link in vd clickable (Schlumpf) -+ -+2007/01/25 -+5712: Multiuser: New verbosity "com" to log commands by non-admin users -+5711: Multiuser: Block commands preferred, bs, bp, port for non-admin users -+5642: Swarmer: swarming_block_selection_algorithm = 3 (TripleM) -+- this new algorithm select always the rarest choice, if average availability -+ is below 5, or one choice_availability is below average availability -+- added a hashtable to store blockmaps of uploaders for a given swarmer -+- long term memory usage has to be observed -+5710: Swarmer: Fix chunk propagation (pango) -+ -+2007/01/21 -+5693: "voo changed" prints changed options only, useful for support (Schlumpf) -+5698: EDK: fix display of porttest result images (Schlumpf) -+5699: Multiuser: Fix wrong file path (user_commit_dir) in notification mail -+5695: Command "set": better error text if option does not exist -+5694: Fix small typo in buildinfo -+ -+2007/01/17 -+5673: New core start parameter: -useradd "user pass", needed for Debian package -+5678: New options for command force_web_infos: kind/URL (thx to Schlumpf) -+ -+2007/01/15 -+5691: EDK: Recognize compatibleclient 60: IMPmule (imp-project.net) -+5689: EDK: Log downloading file name when client disconnects -+5684: GUI: Fix build of mlprogress (Alt linux) -+5677: Options: New concept of option types, fix non-admin Sancho http preview -+ -+2007/01/11 -+5665: EDK: Support compressed upload, implement file read cache (TripleM) -+new options: -+- ED2K_upload_compression to enable compressed upload, default true -+- ED2K_upload_compression_threshold, default 2000 bytes -+ Size difference in bytes between one zone (180 kBytes) and its compressed -+ counterpart, which has to occure, to send compressed parts instead of plain. -+- ED2K_upload_compression_level, Zlib compression level, default 9 -+- ED2K_upload_compression_table_size, default 20 -+5669: HTML: Add HTML headers to prohibit browser-side caching (Schlumpf) -+5671: Configure: Fix question whether to compile lablgtk, same as patch 5401 -+5675: Updated Mozilla protocol handler to version 1.10 -+ -+2007/01/08 -+5666: New option upload_complete_chunks (TripleM) -+- default false, if true, each client is allowed to complete only one chunk, -+ independent, if it is empty or partial. this setting overrides -+ upload_full_chunks and dynamic_upload_lifetime, but is, as a failsafe, -+ limited by upload_lifetime (should be set reasonable high) -+5664: EDK: Avoid uploading data more than due -+ to eMules rotating block requests (pango) -+5596: EDK: New option upload_full_chunks (thx to TripleM) -+- If the new option upload_full_chunks is set to true, each client is -+ allowed to receive one chunk, this setting overrides upload_lifetime. -+ Well, not exactly one chunk. eMule has this code in opcode.h: -+ #define SESSIONMAXTRANS (PARTSIZE+20*1024) // -+ "Try to send complete chunks" always sends this amount of data -+ MLdonkey now does the same, if upload_full_chunks is true and client A got -+ 9728000+20*1024 bytes during the current session its upload slot will be -+ revoked unless pending slots are empty. -+5619: EDK: Print network specific infos in command "vc ", -+ remove unneeded fields from client structures -+5627: commonHasher: fix wrong arg types from several functions (Schlumpf) -+5626: MinGW: fix missing declarations and wrong pointer -+ initialization in stubs_c.c (Schlumpf) -+ -+2007/01/06 -+5599: EDK: Support for files >4GB (TripleM, pango) -+- this patch does not include >4GB support for Kademlia -+5660: Swarming: Enable wrongly disabled select block memoization (pango) -+5659: GD: Fix wrong months display (skeeve) -+ -+2006/12/08 -+5617: New option share_scan_interval -+- how often (in minutes) should MLDonkey scan all shared directories -+ for new/removed files, default one minute -+- on slow machines raise the interval to a higher value to reduce CPU load -+- to force a re-scan of shared directories use command "reshare" -+ -+2006/12/06 -+5613: Another longhelp cleanup (anhi) -+5615: EDK: Parse more fields from server.met files -+ -+2006/12/04 -+5612: EDK: OP_HELLO tag 0x75, print os_info in logfile -+ -+2006/12/03 -+5602: HTML: Display share status in upstats -+5609: New field type Field_KNOWN, EDK: recognize more HELLO/EmuleInfo tags -+5610: CommonSources: Cleanups and reformatting the code (pango) -+ -+2006/12/02 -+5608: Multiuser, chgrp: Prevent change of file_group to None -+ if the user is not file_owner -+5607: Multiuser, chown: Change file_group to user_default_group -+ if the new user is not member of file_group -+5606: Introduce display of session transfer values -+- new columns for session up-/download -+- send session values to GUIs -+ -+2006/12/01 -+5605: HTML: Fix search list display when html_checkbox_search_file_list = true -+ -+2006/11/29 -+5598: Remove use of deprecated sort module, remove unused sort2.ml* (pango) -+5589: New option create_file_mode, -+ rename create_dir_mask to create_dir_mode (pango) -+5595: EDK: Fully parse emule_miscoptions1/2 -+5594: EDK: If update_server_list_client true, add yet unknown server -+ of lowid clients -+------------------------------------------------------------------------------- - 2006/11/29 version 2.8.2 = tag release-2-8-2 - 5597: GD: New option html_mods_vd_gfx_h_intervall - (compute values for hourly graph every x minutes) (skeeve) -Index: distrib/ed2k_mozilla/README -=================================================================== -RCS file: /sources/mldonkey/mldonkey/distrib/ed2k_mozilla/README,v -retrieving revision 1.8 -retrieving revision 1.9 -diff -u -r1.8 -r1.9 ---- distrib/ed2k_mozilla/README 23 Oct 2006 12:58:35 -0000 1.8 -+++ distrib/ed2k_mozilla/README 11 Jan 2007 12:14:48 -0000 1.9 -@@ -1,4 +1,4 @@ --Firefox MLdonkey/eMule Protocol Handler 1.8 -+Firefox MLdonkey/eMule Protocol Handler 1.10 - Copyright (C) 2003 - 2006 Simon Peter - - Description: -@@ -88,9 +88,16 @@ - - News: - ----- -+Changes for version 1.10: -+- Fixed another problem with the port GUI configuration option (thanks -+ to Toni Cunat). -+ -+Changes for version 1.9: -+- Fixed port GUI configuration option (thanks to Dennis Plöger). -+ - Changes for version 1.8: - - Support for GUI configuration through Firefox' extensions menu -- (thanks to David Ciecierski ). -+ (thanks to David Ciecierski). - - ATTENTION upgraders: If you manually set configuration options - through the about:config dialog for a previous version of this -@@ -119,7 +126,7 @@ - - Changes for version 1.4: - - Added compatibility for the new component system of Firefox 0.9 -- (thanks to Len Walter ). -+ (thanks to Len Walter). - - Username is now empty by default. - - Changes for version 1.3: -@@ -161,9 +168,10 @@ - - Contributor(s): - Sven Koch --Len Walter --Dan Fritz --David Ciecierski -+Len Walter -+Dan Fritz -+David Ciecierski -+Dennis Plöger - - Alternatively, the contents of this file may be used under the terms of - either the GNU General Public License Version 2 or later (the "GPL"), or -Index: src/daemon/common/commonClient.ml -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonClient.ml,v -retrieving revision 1.33 -retrieving revision 1.35 -diff -u -r1.33 -r1.35 ---- src/daemon/common/commonClient.ml 5 Nov 2006 14:09:38 -0000 1.33 -+++ src/daemon/common/commonClient.ml 8 Jan 2007 11:06:42 -0000 1.35 -@@ -76,6 +76,9 @@ - mutable op_client_dprint_html : ('a -> CommonTypes.ui_conn -> - CommonTypes.file -> string -> bool); - -+(* used to print network specific client infos *) -+ mutable op_client_print_info : ('a -> CommonTypes.ui_conn -> unit); -+ - mutable op_client_debug : ('a -> bool -> unit); - - mutable op_client_can_upload : ('a -> int -> unit); -@@ -159,6 +162,10 @@ - let client = as_client_impl client in - client.impl_client_ops.op_client_dprint_html client.impl_client_val o file str - -+let client_print_info (client: client) o = -+ let c = as_client_impl client in -+ c.impl_client_ops.op_client_print_info c.impl_client_val o -+ - let client_connect client= - let client = as_client_impl client in - client.impl_client_ops.op_client_connect client.impl_client_val -@@ -188,7 +195,7 @@ - s - - let fni n m = failwith (ni n m) -- let ni_ok n m = ignore (ni n m) -+let ni_ok n m = ignore (ni n m) - - let clients_ops = ref [] - -@@ -207,6 +214,7 @@ - op_client_bprint = (fun _ _ -> ni_ok network "client_bprint"); - op_client_dprint = (fun _ _ _ -> ni_ok network "client_dprint"); - op_client_dprint_html = (fun _ _ _ _ -> fni network "client_dprint_html"); -+ op_client_print_info = (fun _ _ -> fni network "client_print_info"); - op_client_can_upload = (fun _ _ -> ni_ok network "client_can_upload"); - op_client_enter_upload_queue = (fun _ -> ni_ok network "client_enter_upload_queue"); - } in -@@ -467,16 +475,15 @@ - try - let i = client_info c in - let ctime = ((BasicSocket.last_time ()) - i.GuiTypes.client_connect_time) / 60 in -- if i.GuiTypes.client_uploaded = Int64.zero && ctime > 1 then -+ if i.GuiTypes.client_session_uploaded = Int64.zero && ctime > 1 then - begin - client_disconnect c; -- if !verbose then lprintf_nl "disconnected client %d: [%s %s] %s after %d %s of silence." -+ if !verbose then lprintf_nl "disconnected client %d: [%s %s] %s after %d minute%s of silence." - (client_num c) - (GuiTypes.client_software i.GuiTypes.client_software i.GuiTypes.client_os) - i.GuiTypes.client_release - i.GuiTypes.client_name -- ctime -- (if ctime = 1 then "minute" else "minutes") -+ ctime (Printf2.print_plural_s ctime) - end - with _ -> () - ) !uploaders -@@ -491,7 +498,6 @@ - T.client_tags = []; - T.client_name = ""; - T.client_network = 0; -- T.client_files = None; - T.client_rating = 0; - T.client_chat_port = 0; - T.client_connect_time = BasicSocket.last_time (); -@@ -500,8 +506,11 @@ - T.client_os = None; - T.client_release = ""; - T.client_emulemod = ""; -- T.client_downloaded = 0L; -- T.client_uploaded = 0L; -+ T.client_total_downloaded = 0L; -+ T.client_total_uploaded = 0L; -+ T.client_session_downloaded = 0L; -+ T.client_session_uploaded = 0L; - T.client_upload = None; - T.client_sui_verified = None; -+ T.client_file_queue = []; - } -Index: src/daemon/common/commonClient.mli -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonClient.mli,v -retrieving revision 1.13 -retrieving revision 1.14 -diff -u -r1.13 -r1.14 ---- src/daemon/common/commonClient.mli 25 Oct 2006 11:12:38 -0000 1.13 -+++ src/daemon/common/commonClient.mli 8 Jan 2007 11:06:42 -0000 1.14 -@@ -24,12 +24,14 @@ - 'a -> CommonTypes.ui_conn -> CommonTypes.file -> unit; - mutable op_client_dprint_html : - 'a -> CommonTypes.ui_conn -> CommonTypes.file -> string -> bool; -+ mutable op_client_print_info : 'a -> CommonTypes.ui_conn -> unit; - mutable op_client_debug : 'a -> bool -> unit; - mutable op_client_can_upload : 'a -> int -> unit; - mutable op_client_enter_upload_queue : 'a -> unit; - } - val client_print_html : CommonTypes.client -> CommonTypes.ui_conn -> unit - val client_print : CommonTypes.client -> CommonTypes.ui_conn -> unit -+val client_print_info : CommonTypes.client -> CommonTypes.ui_conn -> unit - val client_must_update : CommonTypes.client -> unit - val client_info : CommonTypes.client -> GuiTypes.client_info - val client_say : CommonTypes.client -> string -> unit -Index: src/daemon/common/commonComplexOptions.ml -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonComplexOptions.ml,v -retrieving revision 1.69 -retrieving revision 1.70 -diff -u -r1.69 -r1.70 ---- src/daemon/common/commonComplexOptions.ml 21 Nov 2006 22:34:33 -0000 1.69 -+++ src/daemon/common/commonComplexOptions.ml 6 Feb 2007 22:26:58 -0000 1.70 -@@ -962,8 +962,6 @@ - [default_incoming_directories] - | l -> l - --exception Incoming_full -- - let incoming_dir usedir ?user ?needed_space ?network () = - - let directories = -@@ -994,12 +992,13 @@ - in - - let checkdir = -+ let module U = Unix.LargeFile in - try - List.find (fun d -> - let dirname = compute_dir_name d.shdir_dirname in - (* check if temp_directory and incoming are on different partitions *) - try -- if (Unix.stat dirname).Unix.st_dev <> (Unix.stat !!temp_directory).Unix.st_dev then -+ if (U.stat dirname).U.st_dev <> (U.stat !!temp_directory).U.st_dev then - begin - match needed_space with - | None -> true -@@ -1100,8 +1099,9 @@ - Unix2.tryopen_write_zip archive (fun oc -> - List.iter (fun file -> - try -- let s = Unix.stat file in -- Zip.copy_file_to_entry file oc ~level:9 ~mtime:s.Unix.st_mtime file -+ let module U = Unix.LargeFile in -+ let s = U.stat file in -+ Zip.copy_file_to_entry file oc ~level:9 ~mtime:s.U.st_mtime file - with e -> - failwith (Printf.sprintf "Zip: error %s in %s" (Printexc2.to_string e) file) - ) files) -Index: src/daemon/common/commonFile.ml -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonFile.ml,v -retrieving revision 1.70 -retrieving revision 1.71 -diff -u -r1.70 -r1.71 ---- src/daemon/common/commonFile.ml 15 Nov 2006 12:37:13 -0000 1.70 -+++ src/daemon/common/commonFile.ml 2 Dec 2006 12:35:45 -0000 1.71 -@@ -399,8 +399,8 @@ - ("", "sr br", addr); - (GuiTypes.client_software cinfo.GuiTypes.client_software cinfo.GuiTypes.client_os, - "sr br", GuiTypes.client_software_short cinfo.GuiTypes.client_software cinfo.GuiTypes.client_os); -- ("", "sr ar", (size_of_int64 cinfo.GuiTypes.client_uploaded)); -- ("", "sr ar br", (size_of_int64 cinfo.GuiTypes.client_downloaded)); ]; -+ ("", "sr ar", (size_of_int64 cinfo.GuiTypes.client_total_uploaded)); -+ ("", "sr ar br", (size_of_int64 cinfo.GuiTypes.client_total_downloaded)); ]; - - Printf.bprintf buf "\\"; - -Index: src/daemon/common/commonFile.mli -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonFile.mli,v -retrieving revision 1.30 -retrieving revision 1.31 -diff -u -r1.30 -r1.31 ---- src/daemon/common/commonFile.mli 12 Nov 2006 12:44:24 -0000 1.30 -+++ src/daemon/common/commonFile.mli 3 Dec 2006 20:57:56 -0000 1.31 -@@ -129,7 +129,6 @@ - val set_file_comment : CommonTypes.file -> string -> unit - val file_comment : CommonTypes.file -> string - val file_magic : CommonTypes.file -> string option --val set_file_magic : CommonTypes.file -> string option -> unit - val check_magic : CommonTypes.file -> unit - val recover_bytes : CommonTypes.file -> (int64 * int64) list - val file_write : CommonTypes.file -> int64 -> string -> int -> int -> unit -Index: src/daemon/common/commonGlobals.ml -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonGlobals.ml,v -retrieving revision 1.77 -retrieving revision 1.81 -diff -u -r1.77 -r1.81 ---- src/daemon/common/commonGlobals.ml 28 Nov 2006 23:15:21 -0000 1.77 -+++ src/daemon/common/commonGlobals.ml 6 Feb 2007 22:26:58 -0000 1.81 -@@ -263,6 +263,7 @@ - let user_socks = ref ([] : TcpBufferedSocket.t list) - let dialog_history = ref ([] : (int * string * string) list ) - -+exception Incoming_full - - let want_and_not andnot f none value = - (* lprintf "want_and_not [%s]\n" value; *) -@@ -398,6 +399,7 @@ - | Field_Completesources -> "completesources" - | Field_Filename -> "filename" - | Field_Size -> "size" -+ | Field_Size_Hi -> "size_hi" - | Field_Uid -> "uid" - | Field_Bitrate -> "bitrate" - | Field_Codec -> "codec" -@@ -405,6 +407,7 @@ - | Field_Lastseencomplete -> "lastcompl" - | Field_Medialength -> "mlen" - | Field_Mediacodec -> "mediacodec" -+ | Field_KNOWN s -> s - | Field_UNKNOWN s -> s - - let field_of_string t = -@@ -419,6 +422,7 @@ - | "completesources" -> Field_Completesources - | "filename" -> Field_Filename - | "size" -> Field_Size -+ | "size_hi" -> Field_Size_Hi - | "uid" -> Field_Uid - | "bitrate" -> Field_Bitrate - | "codec" -> Field_Codec -@@ -426,10 +430,11 @@ - | "lastcompl" -> Field_Lastseencomplete - | "mlen" -> Field_Medialength - | "mediacodec" -> Field_Mediacodec -- | _ -> Field_UNKNOWN t -+ | _ -> Field_KNOWN t - - let escaped_string_of_field tag = - match tag.tag_name with -+ | Field_KNOWN s -> String.escaped s - | Field_UNKNOWN s -> String.escaped s - | t -> string_of_field t - -@@ -438,6 +443,10 @@ - Printf.sprintf " \"%s\" = %s" (escaped_string_of_field tag) - (string_of_tag_value tag.tag_value) - -+let hexstring_of_tag tag = -+ Printf.sprintf " \"%s\" = %s" (String2.hex_string_of_string (escaped_string_of_field tag)) -+ (string_of_tag_value tag.tag_value) -+ - let rec print_tags tags = - match tags with - [] -> () -@@ -916,12 +925,12 @@ - let intern_table = StringIntern.create 1000 - let intern s = StringIntern.merge intern_table s - --let print_command_result o buf result = -+let print_command_result o result = - if use_html_mods o then -- html_mods_table_one_row buf "serversTable" "servers" [ -+ html_mods_table_one_row o.conn_buf "serversTable" "servers" [ - ("", "srh", result); ] - else -- Printf.bprintf buf "%s" result -+ Printf.bprintf o.conn_buf "%s" result - - let _ = - Heap.add_memstat "CommonGlobals" (fun level buf -> -Index: src/daemon/common/commonHasher.ml -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonHasher.ml,v -retrieving revision 1.9 -retrieving revision 1.10 -diff -u -r1.9 -r1.10 ---- src/daemon/common/commonHasher.ml 18 Mar 2006 18:35:54 -0000 1.9 -+++ src/daemon/common/commonHasher.ml 15 Jan 2007 18:28:03 -0000 1.10 -@@ -20,6 +20,14 @@ - open Printf2 - open CommonOptions - -+let log_prefix = "[cHa]" -+ -+let lprintf_nl fmt = -+ lprintf_nl2 log_prefix fmt -+ -+let lprintf_n fmt = -+ lprintf2 log_prefix fmt -+ - type hash_method = MD4 | MD5 | SHA1 | TIGER - - type 'a job = { -@@ -46,14 +54,14 @@ - | None -> raise Not_found - | Some (job, fd) -> - if job_done job then begin -- if !verbose_md4 then lprintf_nl "[cHa] Finished %s job %s %Ld %Ld" -+ if !verbose_md4 then lprintf_nl "Finished %s job %s %Ld %Ld" - (match job.job_method with - MD5 -> "MD5" | TIGER -> "TIGER" | SHA1 -> "SHA1" | MD4 -> "MD4") - job.job_name job.job_begin job.job_len; - current_job := None; - Unix.close fd; - (try job.job_handler job with e -> -- lprintf_nl "[cHa] exception %s in job_handler" -+ lprintf_nl "exception %s in job_handler" - (Printexc2.to_string e); - ); - raise Not_found -@@ -72,7 +80,7 @@ - current_job := Some (job, fd); - job_start job fd; - with e -> -- lprintf_nl "[cHa] Exception %s in starting job" -+ lprintf_nl "Exception %s in starting job" - (Printexc2.to_string e); - ) - -Index: src/daemon/common/commonHasher_c.c -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonHasher_c.c,v -retrieving revision 1.11 -retrieving revision 1.12 -diff -u -r1.11 -r1.12 ---- src/daemon/common/commonHasher_c.c 9 Jan 2006 00:25:58 -0000 1.11 -+++ src/daemon/common/commonHasher_c.c 8 Jan 2007 11:03:09 -0000 1.12 -@@ -335,20 +335,20 @@ - long bsize; - switch(job_method) { - case METHOD_MD4: -- md4_unsafe64_fd_direct(job_fd, job_begin_pos, job_len, job_result); -+ md4_unsafe64_fd_direct(job_fd, job_begin_pos, job_len, p_job_result); - break; - - case METHOD_MD5: -- md5_unsafe64_fd_direct(job_fd, job_begin_pos, job_len, job_result); -+ md5_unsafe64_fd_direct(job_fd, job_begin_pos, job_len, p_job_result); - break; - - case METHOD_SHA1: -- sha1_unsafe64_fd_direct(job_fd, job_begin_pos, job_len, job_result); -+ sha1_unsafe64_fd_direct(job_fd, job_begin_pos, job_len, p_job_result); - break; - - case METHOD_TIGER: - bsize = tiger_block_size(job_len); -- tiger_tree_fd(job_fd, job_len, 0, bsize, job_result); -+ tiger_tree_fd(job_fd, job_len, 0, bsize, p_job_result); - break; - - default: -Index: src/daemon/common/commonInteractive.ml -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonInteractive.ml,v -retrieving revision 1.85 -retrieving revision 1.90 -diff -u -r1.85 -r1.90 ---- src/daemon/common/commonInteractive.ml 26 Nov 2006 13:54:09 -0000 1.85 -+++ src/daemon/common/commonInteractive.ml 6 Feb 2007 22:26:58 -0000 1.90 -@@ -200,8 +200,6 @@ - name. - *) - --exception Incoming_full -- - let file_commit file = - let impl = as_file_impl file in - if impl.impl_file_state = FileDownloaded then -@@ -222,7 +220,7 @@ - let new_name = file_commited_name incoming.shdir_dirname file in - if Unix2.is_directory file_name then begin - Unix2.safe_mkdir new_name; -- Unix2.chmod new_name (Misc.int_of_octal_string !!create_dir_mask) -+ Unix2.chmod new_name !Unix32.create_dir_mode; - end; - - (* the next line really moves the file *) -@@ -331,7 +329,12 @@ - let incoming = incoming_dir (Unix2.is_directory (file_disk_name file)) () in - - let line4 = if !!url_in_mail = "" then "" else -- Printf.sprintf "\r\n<%s/%s/%s>\r\n" !!url_in_mail incoming.shdir_dirname (Url.encode (file_best_name file)) -+ Printf.sprintf "\r\n<%s/%s%s/%s>\r\n" -+ !!url_in_mail -+ incoming.shdir_dirname -+ (if (file_owner file).user_commit_dir = "" then "" -+ else Printf.sprintf "/%s" (file_owner file).user_commit_dir) -+ (Url.encode (file_best_name file)) - in - - let line5 = if !!auto_commit then "" else -@@ -714,7 +717,7 @@ - | Q_MP3_BITRATE _ -> - let bitrate = get_arg "bitrate" in - if bitrate = "" then raise Not_found; -- QHasMinVal(Field_UNKNOWN "bitrate", Int64.of_string bitrate) -+ QHasMinVal(Field_KNOWN "bitrate", Int64.of_string bitrate) - - in - try -@@ -752,12 +755,11 @@ - - let opfile_args r opfile = - let prefix = r.network_shortname ^ "-" in -- let args = simple_options prefix opfile in -- args -+ simple_options prefix opfile true - - let all_simple_options () = - let options = ref (sort_options -- (simple_options "" downloads_ini) -+ (simple_options "" downloads_ini true) - ) - in - networks_iter_all (fun r -> -@@ -807,7 +809,7 @@ - let apply_on_fully_qualified_options name f = - if !verbose then lprintf_nl "Change option %s" name; - let rec iter prefix opfile = -- let args = simple_options prefix opfile in -+ let args = simple_options prefix opfile true in - List.iter (fun o -> - (* lprintf "Compare [%s] [%s]\n" o.option_name name; *) - if o.option_name = name then -@@ -874,14 +876,14 @@ - | QHasMinVal (field, value) -> - begin - match field with -- Field_UNKNOWN "bitrate" -+ Field_KNOWN "bitrate" - | Field_Size - | _ -> () - end - | QHasMaxVal (field, value) -> - begin - match field with -- Field_UNKNOWN "bitrate" -+ Field_KNOWN "bitrate" - | Field_Size - | _ -> () - end -Index: src/daemon/common/commonMessages.ml -=================================================================== -RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonMessages.ml,v -retrieving revision 1.60 -retrieving revision 1.62 -diff -u -r1.60 -r1.62 ---- src/daemon/common/commonMessages.ml 5 Nov 2006 14:11:29 -0000 1.60 -+++ src/daemon/common/commonMessages.ml 28 Jan 2007 20:39:59 -0000 1.62 -@@ -661,6 +661,8 @@ - MLdonkey: Web Interface - - -+ -+ - - -