mldonkey-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/bittorr...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/bittorr...
Date: Thu, 01 Apr 2010 16:03:53 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       10/04/01 16:03:53

Modified files:
        distrib        : ChangeLog 
        src/networks/bittorrent: bTInteractive.ml bTTorrent.ml 
                                 bTTracker.ml bencode.ml 

Log message:
        patch #7150

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1416&r2=1.1417
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTInteractive.ml?cvsroot=mldonkey&r1=1.149&r2=1.150
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTTorrent.ml?cvsroot=mldonkey&r1=1.18&r2=1.19
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTTracker.ml?cvsroot=mldonkey&r1=1.28&r2=1.29
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bencode.ml?cvsroot=mldonkey&r1=1.3&r2=1.4

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1416
retrieving revision 1.1417
diff -u -b -r1.1416 -r1.1417
--- distrib/ChangeLog   27 Mar 2010 19:33:10 -0000      1.1416
+++ distrib/ChangeLog   1 Apr 2010 16:03:53 -0000       1.1417
@@ -14,6 +14,9 @@
 ChangeLog
 =========
 
+2010/04/01
+7150: BT: track torrents created with compute_torrent (ygrek)
+
 2010/03/27
 7142: BT: max_uploaders_per_torrent option not restored from .ini files (xboct)
 7140: MinGW: Fix linking with Ocaml 3.11.2

Index: src/networks/bittorrent/bTInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTInteractive.ml,v
retrieving revision 1.149
retrieving revision 1.150
diff -u -b -r1.149 -r1.150
--- src/networks/bittorrent/bTInteractive.ml    27 Mar 2010 13:24:50 -0000      
1.149
+++ src/networks/bittorrent/bTInteractive.ml    1 Apr 2010 16:03:53 -0000       
1.150
@@ -1032,8 +1032,9 @@
   let torrent = Filename.concat seeded_directory
     (Printf.sprintf "%s.torrent" basename) in
   let is_private = 0 in
-  BTTorrent.generate_torrent announce torrent comment (Int64.of_int 
is_private) filename;
-  try_share_file torrent
+  let file_id = BTTorrent.generate_torrent announce torrent comment 
(Int64.of_int is_private) filename in
+  try_share_file torrent;
+  ignore (BTTracker.new_tracker file_id)
 
 let commands =
 
@@ -1056,13 +1057,21 @@
         else
           Printf.bprintf buf ".torrent file generated\n";
       ""
-      with Not_found ->
+      with 
+      | Not_found ->
           if o.conn_output = HTML then
             (* TODO: really htmlize it *)
             Printf.bprintf buf "Not enough parameters"
           else
             Printf.bprintf buf "Not enough parameters\n";
       ""
+      | exn ->
+        if o.conn_output = HTML then
+            (* TODO: really htmlize it *)
+            Printf.bprintf buf "Error: %s" (Printexc2.to_string exn)
+          else
+            Printf.bprintf buf "Error: %s\n" (Printexc2.to_string exn);
+      ""
     ), _s "<filename> <comment> :\tgenerate the corresponding <filename> 
.torrent file with <comment> in torrents/tracked/.\n\t\t\t\t\tThe file is 
automatically tracked, and seeded if in incoming/";
 
     "torrents", "Network/Bittorrent", Arg_none (fun o ->

Index: src/networks/bittorrent/bTTorrent.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTTorrent.ml,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -b -r1.18 -r1.19
--- src/networks/bittorrent/bTTorrent.ml        23 Oct 2009 05:29:42 -0000      
1.18
+++ src/networks/bittorrent/bTTorrent.ml        1 Apr 2010 16:03:53 -0000       
1.19
@@ -469,4 +469,6 @@
   let torrent = make_torrent announce filename torrent_comment torrent_private 
in
   let file_id, encoded = encode_torrent torrent in
   let encoded = Bencode.encode encoded in
-  File.from_string torrent_filename encoded
+  File.from_string torrent_filename encoded;
+  file_id
+

Index: src/networks/bittorrent/bTTracker.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTTracker.ml,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- src/networks/bittorrent/bTTracker.ml        1 Jul 2007 13:00:12 -0000       
1.28
+++ src/networks/bittorrent/bTTracker.ml        1 Apr 2010 16:03:53 -0000       
1.29
@@ -148,21 +148,8 @@
       String "peers", List []
     ])
 
-let reply_has_tracker r info_hash peer_id peer_ip peer_port peer_key peer_left 
peer_event numwant no_peer_id  =
-
-  let tracker_ok = ref true in
-  if !verbose_msg_servers then
-    lprintf_nl "tracker contacted for [%s]" (Sha1.to_hexa info_hash);
-  let tracker = try
-      Hashtbl.find tracked_files info_hash
-    with Not_found ->
-        if !!tracker_force_local_torrents then begin
-            tracker_ok := false;
-            lprintf_nl "Tracker rejected announce request for torrent [%s]\n" 
(Sha1.to_hexa info_hash);
-            failwith "Unknown torrent"
-          end;
-        lprintf_nl "[BT] Need new tracker";
-        if !ntracked_files < !!max_tracked_files && !tracker_ok then
+let new_tracker info_hash =
+  if !ntracked_files < !!max_tracked_files then
           let tracker = {
               tracker_id = info_hash;
               tracker_table = Hashtbl.create 13;
@@ -179,6 +166,20 @@
           tracker
         else
           failwith "[BT] Too many tracked files"
+
+let reply_has_tracker r info_hash peer_id peer_ip peer_port peer_key peer_left 
peer_event numwant no_peer_id  =
+
+  if !verbose_msg_servers then
+    lprintf_nl "tracker contacted for [%s]" (Sha1.to_hexa info_hash);
+  let tracker = try
+      Hashtbl.find tracked_files info_hash
+    with Not_found ->
+        if !!tracker_force_local_torrents then begin
+            lprintf_nl "Tracker rejected announce request for torrent [%s]\n" 
(Sha1.to_hexa info_hash);
+            failwith "Unknown torrent"
+          end;
+        lprintf_nl "[BT] Need new tracker";
+        new_tracker info_hash
   in
 
   let _ =

Index: src/networks/bittorrent/bencode.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bencode.ml,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- src/networks/bittorrent/bencode.ml  7 Aug 2005 12:57:22 -0000       1.3
+++ src/networks/bittorrent/bencode.ml  1 Apr 2010 16:03:53 -0000       1.4
@@ -130,7 +130,7 @@
        Buffer.add_char buf 'e'
     | Dictionary list ->
        Buffer.add_char buf 'd';
-       List.iter (fun (key,v) -> encode key; encode v) list;
+       List.iter (fun (key,v) -> encode key; encode v) (List.sort (fun (String 
s1, _) (String s2, _) -> compare s1 s2) list);
        Buffer.add_char buf 'e'
   in
   encode v;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]