mldonkey-commits
[Top][All Lists]
Advanced

[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: Fri, 16 Dec 2005 20:56:31 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Branch:         
Changes by:     spiralvoice <address@hidden>    05/12/16 20:56:31

Modified files:
        distrib        : ChangeLog 
        src/daemon/common: commonNetwork.ml commonNetwork.mli 
                           commonTypes.ml 
        src/daemon/driver: driverCommands.ml driverInterface.ml 
        src/networks/bittorrent: bTInteractive.ml 
        src/networks/direct_connect: dcInteractive.ml 
        src/networks/donkey: donkeyInteractive.ml 
        src/networks/fileTP: fileTPInteractive.ml 
        src/networks/gnutella: gnutellaInteractive.ml 
        src/networks/openFT: openFTInteractive.ml 
        src/networks/opennap: opennapInteractive.ml 

Log message:
        patch #4652

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/distrib/ChangeLog.diff?tr1=1.620&tr2=1.621&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/daemon/common/commonNetwork.ml.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/daemon/common/commonNetwork.mli.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/daemon/common/commonTypes.ml.diff?tr1=1.45&tr2=1.46&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/daemon/driver/driverCommands.ml.diff?tr1=1.104&tr2=1.105&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/daemon/driver/driverInterface.ml.diff?tr1=1.35&tr2=1.36&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/bittorrent/bTInteractive.ml.diff?tr1=1.70&tr2=1.71&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/direct_connect/dcInteractive.ml.diff?tr1=1.23&tr2=1.24&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/donkey/donkeyInteractive.ml.diff?tr1=1.75&tr2=1.76&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/fileTP/fileTPInteractive.ml.diff?tr1=1.24&tr2=1.25&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/gnutella/gnutellaInteractive.ml.diff?tr1=1.44&tr2=1.45&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/openFT/openFTInteractive.ml.diff?tr1=1.3&tr2=1.4&r1=text&r2=text
http://cvs.savannah.gnu.org/viewcvs/mldonkey/mldonkey/src/networks/opennap/opennapInteractive.ml.diff?tr1=1.19&tr2=1.20&r1=text&r2=text

Patches:
Index: mldonkey/distrib/ChangeLog
diff -u mldonkey/distrib/ChangeLog:1.620 mldonkey/distrib/ChangeLog:1.621
--- mldonkey/distrib/ChangeLog:1.620    Thu Dec 15 19:47:29 2005
+++ mldonkey/distrib/ChangeLog  Fri Dec 16 20:56:31 2005
@@ -11,6 +11,9 @@
 To compile MLDonkey on MinGW follow this guide:
 http://mldonkey.berlios.de/modules.php?name=Wiki&pagename=Windows
 
+2005/12/16
+4652: dllink: reject EDK files > 4GB, print access errors for .torrent files
+
 2005/12/15
       Removed orphaned files:
       src/networks/donkey/donkeyFiles.mli
Index: mldonkey/src/daemon/common/commonNetwork.ml
diff -u mldonkey/src/daemon/common/commonNetwork.ml:1.24 
mldonkey/src/daemon/common/commonNetwork.ml:1.25
--- mldonkey/src/daemon/common/commonNetwork.ml:1.24    Tue Dec  6 19:34:04 2005
+++ mldonkey/src/daemon/common/commonNetwork.ml Fri Dec 16 20:56:31 2005
@@ -262,7 +262,7 @@
       op_network_close_search = (fun _ -> ni_ok name "close_search");
       op_network_extend_search = (fun _ _ -> ni_ok name "extend search");
       op_network_clean_servers = (fun _ -> ni_ok name "clean servers");
-      op_network_parse_url = (fun _ -> ni_ok name "parse_url"; false);
+      op_network_parse_url = (fun _ -> ni_ok name "parse_url"; "", false);
       op_network_info = (fun _ -> fni name "network_info");
       op_network_connected = (fun _ -> ni_ok name "connected"; false);
       op_network_add_server = (fun _ -> fni name "op_network_add_server");
Index: mldonkey/src/daemon/common/commonNetwork.mli
diff -u mldonkey/src/daemon/common/commonNetwork.mli:1.12 
mldonkey/src/daemon/common/commonNetwork.mli:1.13
--- mldonkey/src/daemon/common/commonNetwork.mli:1.12   Sat Nov  5 16:23:40 2005
+++ mldonkey/src/daemon/common/commonNetwork.mli        Fri Dec 16 20:56:31 2005
@@ -54,7 +54,6 @@
   CommonTypes.search -> CommonTypes.extend_search -> unit
 val network_connected : CommonTypes.network -> bool
 val network_clean_servers : CommonTypes.network -> unit
-val network_parse_url : CommonTypes.network -> string -> bool
+val network_parse_url : CommonTypes.network -> string -> string * bool
 val network_info : CommonTypes.network -> CommonTypes.network_info
 val commands_by_kind : (string, (string * string) list ref) Hashtbl.t
-  
\ No newline at end of file
Index: mldonkey/src/daemon/common/commonTypes.ml
diff -u mldonkey/src/daemon/common/commonTypes.ml:1.45 
mldonkey/src/daemon/common/commonTypes.ml:1.46
--- mldonkey/src/daemon/common/commonTypes.ml:1.45      Tue Dec  6 19:34:04 2005
+++ mldonkey/src/daemon/common/commonTypes.ml   Fri Dec 16 20:56:31 2005
@@ -478,7 +478,7 @@
     mutable op_network_share : (
       string -> string -> int64 -> unit);
     mutable op_network_private_message : (string -> string -> unit);
-    mutable op_network_parse_url : (string -> bool);
+    mutable op_network_parse_url : (string -> string * bool);
     mutable op_network_connect_servers : (unit -> unit);
     
     mutable op_network_search : (search -> Buffer.t -> unit);
Index: mldonkey/src/daemon/driver/driverCommands.ml
diff -u mldonkey/src/daemon/driver/driverCommands.ml:1.104 
mldonkey/src/daemon/driver/driverCommands.ml:1.105
--- mldonkey/src/daemon/driver/driverCommands.ml:1.104  Wed Dec 14 21:22:07 2005
+++ mldonkey/src/daemon/driver/driverCommands.ml        Fri Dec 16 20:56:31 2005
@@ -2723,32 +2723,47 @@
     ), "<num> \"<new name>\" :\t\tchange name of download <num> to <new name>";
 
     "dllink", Arg_multiple (fun args o ->
-        if !verbose then lprintf "dllink\n";
         let buf = o.conn_buf in
         let query_networks url =
-          if not (networks_iter_until_true
-                    (fun n ->
-                       try
-                         network_parse_url n url
-                       with e ->
-                         Printf.bprintf buf "Exception %s for network %s\n"
-                           (Printexc2.to_string e) (n.network_name);
-                         false
-                    )) then
-            let output = (if o.conn_output = HTML then begin
-                let buf = Buffer.create 100 in
-                Printf.bprintf buf "\\<div class=\\\"cs\\\"\\>";
-                html_mods_table_header buf "dllinkTable" "results" [];
-                Printf.bprintf buf "\\<tr\\>";
-                html_mods_td buf [ ("", "srh", "Unable to match URL"); ];
-                Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-1\\\"\\>";
-                html_mods_td buf [ ("", "sr", url); ];
-                Printf.bprintf buf "\\</tr\\>\\</table\\>\\</div\\>\\</div\\>";
-                Buffer.contents buf
-              end
-            else begin
-                Printf.sprintf "Unable to match URL : %s" url
-            end) in
+       let result = ref [] in
+          if not (networks_iter_until_true (fun n ->
+               try
+                  let s,r = network_parse_url n url in
+                   if s = "" then r else
+                     let s1 = Printf.sprintf "%s: %s" n.network_name s in
+                       result := s1 :: !result;
+                     r
+               with e ->
+                   let s1 = Printf.sprintf "%s: Exception %s"
+                     (n.network_name) (Printexc2.to_string e)
+                   in
+                   result := s1 :: !result;
+                    false
+            )) then
+            let output =
+               (let buf = Buffer.create 100 in
+                 if o.conn_output = HTML then
+                   begin
+                     Printf.bprintf buf "\\<div class=\\\"cs\\\"\\>";
+                     html_mods_table_header buf "dllinkTable" "results" [];
+                     Printf.bprintf buf "\\<tr\\>";
+                     html_mods_td buf [ ("", "srh", "Unable to match URL"); ];
+                     Printf.bprintf buf "\\</tr\\>\\<tr class=\\\"dl-1\\\"\\>";
+                     html_mods_td buf [ ("", "sr", url); ]
+                   end
+                 else
+                    Printf.bprintf buf "Unable to match URL : %s\n" url;
+                 List.iter (fun s ->
+                   if o.conn_output = HTML then
+                     begin
+                       Printf.bprintf buf "\\</tr\\>\\<tr 
class=\\\"dl-1\\\"\\>";
+                        html_mods_td buf [ ("", "sr", s); ]
+                     end
+                   else
+                      Printf.bprintf buf "%s\n" s) (List.rev !result);
+                 if o.conn_output = HTML then
+                   Printf.bprintf buf 
"\\</tr\\>\\</table\\>\\</div\\>\\</div\\>";
+                Buffer.contents buf) in
             _s output
           else
             let output = (if o.conn_output = HTML then begin
@@ -2815,7 +2830,7 @@
         let lines = String2.split_simplify file '\n' in
         List.iter (fun line ->
             ignore (networks_iter_until_true (fun n ->
-                  network_parse_url n line))
+                  let s,r = network_parse_url n line in r))
         ) lines;
         let output = (if o.conn_output = HTML then begin
             let buf = Buffer.create 100 in
Index: mldonkey/src/daemon/driver/driverInterface.ml
diff -u mldonkey/src/daemon/driver/driverInterface.ml:1.35 
mldonkey/src/daemon/driver/driverInterface.ml:1.36
--- mldonkey/src/daemon/driver/driverInterface.ml:1.35  Wed Dec 14 21:17:46 2005
+++ mldonkey/src/daemon/driver/driverInterface.ml       Fri Dec 16 20:56:31 2005
@@ -731,7 +731,7 @@
                 if not (networks_iter_until_true
                     (fun n ->
                        try
-                         network_parse_url n url
+                         let s,r = network_parse_url n url in r
                        with e ->
                          lprintf "Exception %s for network %s\n"
                            (Printexc2.to_string e) (n.network_name);
Index: mldonkey/src/networks/bittorrent/bTInteractive.ml
diff -u mldonkey/src/networks/bittorrent/bTInteractive.ml:1.70 
mldonkey/src/networks/bittorrent/bTInteractive.ml:1.71
--- mldonkey/src/networks/bittorrent/bTInteractive.ml:1.70      Wed Dec 14 
21:17:46 2005
+++ mldonkey/src/networks/bittorrent/bTInteractive.ml   Fri Dec 16 20:56:31 2005
@@ -664,28 +664,32 @@
         ft.ft_retry <- load_torrent_from_web r ;
         load_torrent_from_web r ft;
         if !verbose_torrent then lprintf_nl () "wget started";
-        true
+        "started download", true
       )
     else
-      false
+      "", false
   with
     | Not_found ->
       if (valid_torrent_extension url) then
         try
           if !verbose_torrent then lprintf_nl () "Not_found and trying to load 
%s" url;
           load_torrent_file url;
-          true
+          "", true
         with e ->
           lprintf_nl () "Exception %s while 2nd loading" (Printexc2.to_string 
e);
-          false
+         let s = Printf.sprintf "Can not load load torrent file: %s"
+           (Printexc2.to_string e) in
+          s, false
       else
         begin
           if !verbose_torrent then lprintf_nl () "Not_found and url has non 
valid torrent extension: %s" url;
-          false
+          "Not_found and url has non valid torrent extension", false
         end
     | e ->
        lprintf_nl () "Exception %s while loading" (Printexc2.to_string e);
-       false
+       let s = Printf.sprintf "Can not load load torrent file: %s"
+        (Printexc2.to_string e) in
+       s, false
 
 let op_client_info c =
   let module P = GuiTypes in
Index: mldonkey/src/networks/direct_connect/dcInteractive.ml
diff -u mldonkey/src/networks/direct_connect/dcInteractive.ml:1.23 
mldonkey/src/networks/direct_connect/dcInteractive.ml:1.24
--- mldonkey/src/networks/direct_connect/dcInteractive.ml:1.23  Sat Nov 12 
22:53:52 2005
+++ mldonkey/src/networks/direct_connect/dcInteractive.ml       Fri Dec 16 
20:56:31 2005
@@ -159,11 +159,11 @@
             addr, port
           in
           let s = new_server addr port in
-          true
+          "", true
       | "dc://" :: "friend" :: nick :: [] ->  
           let c = new_client nick in
           friend_add (as_client c.client_client);
-          true
+          "", true
       | "dc://" :: "friend" :: nick :: addr :: _ ->  
           let addr, port = 
             let ip, port = match String2.split addr ':' with
@@ -176,8 +176,8 @@
           let c = new_client nick in
           c.client_addr <- Some (addr, port);
           friend_add (as_client c.client_client);
-          true
-      | _ -> false
+          "", true
+      | _ -> "", false
   )
 
 let _ =
Index: mldonkey/src/networks/donkey/donkeyInteractive.ml
diff -u mldonkey/src/networks/donkey/donkeyInteractive.ml:1.75 
mldonkey/src/networks/donkey/donkeyInteractive.ml:1.76
--- mldonkey/src/networks/donkey/donkeyInteractive.ml:1.75      Thu Dec 15 
11:12:01 2005
+++ mldonkey/src/networks/donkey/donkeyInteractive.ml   Fri Dec 16 20:56:31 2005
@@ -533,33 +533,41 @@
 (* TODO RESULT *)
   | "ed2k://" :: "file" :: name :: size :: md4 :: _
   | "file" :: name :: size :: md4 :: _ ->
-      let md4 = if String.length md4 > 32 then
+      if Int64.of_string size >= 4294967295L then
+       "Files > 4GB are not allowed", false
+      else
+        let md4 = if String.length md4 > 32 then
           String.sub md4 0 32 else md4 in
-      let file = query_download [name] (Int64.of_string size)
-        (Md4.of_string md4) None None None false;
-      in
-      CommonInteractive.start_download file;
-      true
+          begin try
+            let file = query_download [name] (Int64.of_string size)
+              (Md4.of_string md4) None None None false;
+            in
+            CommonInteractive.start_download file;
+            "", true
+          with e ->
+            let s = Printf.sprintf "%s" (Printexc2.to_string e) in
+             s, false
+          end
   | "ed2k://" :: "server" :: ip :: port :: _
   | "server" :: ip :: port :: _ ->
       let ip = Ip.of_string ip in
       let s = force_add_server ip (int_of_string port) in
       server_connect (as_server s.server_server);
-      true
+      "", true
   | "ed2k://" :: "serverlist" :: url :: _
   | "serverlist" :: url :: _ ->
       if !!update_server_list_server_met then
         ignore (download_server_met url);
-      true
+      "", true
   | "ed2k://" :: "friend" :: ip :: port :: _
   | "friend" :: ip :: port :: _ ->
       let ip = Ip.of_string ip in
       let port = int_of_string port in
       let c = new_client (Direct_address (ip,port)) in
       friend_add c;
-      true
+      "", true
 
-  | _ ->  false
+  | _ -> "", false
 
 
 let op_file_check file =
Index: mldonkey/src/networks/fileTP/fileTPInteractive.ml
diff -u mldonkey/src/networks/fileTP/fileTPInteractive.ml:1.24 
mldonkey/src/networks/fileTP/fileTPInteractive.ml:1.25
--- mldonkey/src/networks/fileTP/fileTPInteractive.ml:1.24      Tue Dec  6 
19:34:05 2005
+++ mldonkey/src/networks/fileTP/fileTPInteractive.ml   Fri Dec 16 20:56:31 2005
@@ -347,34 +347,28 @@
    and false otherwise.
  *)
 let rec op_network_parse_url url =
-  if !verbose then
-    lprintf_nl "[FILETP] op_network_parse_url";
   let location_regexp = "Location: \\(.*\\)" in
   let real_url = get_regexp_string url (Str.regexp location_regexp) in
   if !verbose then
     lprintf "real url: %s\n" real_url;
-  if (is_http_torrent url real_url) then false
+  if (is_http_torrent url real_url) then "", false
   else
     if (String2.check_prefix real_url "http://";) then (
-      if !verbose then
-        lprintf_nl "[FILETP]: http download";
       let length_regexp = "Content-Length: \\(.*\\)" in
        try let length = get_regexp_int url (Str.regexp length_regexp) in
          if (length > 0) then begin
-           download_file real_url ""; true
+           download_file real_url ""; "started FileTP download", true
          end
-         else raise Not_found
+         else "test1", false
        with Not_found -> 
-           if !verbose then
-             lprintf_nl "[FILETP]: Unknown file length. Use a web browser";
-           false
+           "Unknown file length. Use a web browser", false
     )
     else if (String2.check_prefix url "ftp://";) || (String2.check_prefix url 
"ssh://") then (
       download_file url "";
-      true
+      "started FileTP download", true
     )
     else
-      false
+      "test2", false
 
 let _ =
   network.op_network_parse_url <- op_network_parse_url
@@ -397,15 +391,22 @@
           Printf.bprintf buf "download started";
         _s ""
         with Not_found ->
-            if !verbose then
-              lprintf_nl "[FILETP]: Not enough parameters";
             let buf = o.conn_buf in
             if o.conn_output = HTML then
               html_mods_table_one_row buf "serversTable" "servers" [
                 ("", "srh", "Not enough parameters"); ]
             else
               Printf.bprintf buf "Not enough parameters";
-            _s ""  
+            _s ""
+       | e ->
+           let error = Printf.sprintf "%s" (Printexc2.to_string e) in
+            let buf = o.conn_buf in
+            if o.conn_output = HTML then
+              html_mods_table_one_row buf "serversTable" "servers" [
+                ("", "srh", error); ]
+            else
+              Printf.bprintf buf "%s" error;
+            _s ""
     ), " <url> <referer> :\t\t\t\tstart downloading this URL";
 
     "mirror", "Network/FileTP", Arg_multiple (fun args o ->
Index: mldonkey/src/networks/gnutella/gnutellaInteractive.ml
diff -u mldonkey/src/networks/gnutella/gnutellaInteractive.ml:1.44 
mldonkey/src/networks/gnutella/gnutellaInteractive.ml:1.45
--- mldonkey/src/networks/gnutella/gnutellaInteractive.ml:1.44  Wed Dec 14 
21:17:47 2005
+++ mldonkey/src/networks/gnutella/gnutellaInteractive.ml       Fri Dec 16 
20:56:31 2005
@@ -379,7 +379,7 @@
           let ip = Ip.addr_of_string ip in
           let port = int_of_string port in
           let _ = new_server ip port in
-          true
+          "added Gnutella server", true
       | "gnut://" :: "friend" :: uid :: ip :: port :: _ ->  
           let ip = Ip.of_string ip in
           let port = int_of_string port in
@@ -387,12 +387,12 @@
           let c = new_client (Known_location (ip, port)) in
           c.client_user.user_uid <- md4;
           friend_add (as_client c);
-          true
+          "added Gnutella friend", true
       | "gnut://" :: "friend" :: uid :: _ ->
           let md4 = Md4.of_string uid in
           let c = new_client (Indirect_location ("", md4)) in
           friend_add (as_client c);
-          true
+          "added Gnutella friend", true
       
       | _ -> 
           let (name, size, uids) =
@@ -407,9 +407,9 @@
               let r = IndexedResults.get_result rs in
               let file = download_file r in
               CommonInteractive.start_download file;
-              true
+              "started Gnutella download", true
             end
-          else false
+          else "", false
   )
   
 let browse_client c = 
Index: mldonkey/src/networks/openFT/openFTInteractive.ml
diff -u mldonkey/src/networks/openFT/openFTInteractive.ml:1.3 
mldonkey/src/networks/openFT/openFTInteractive.ml:1.4
--- mldonkey/src/networks/openFT/openFTInteractive.ml:1.3       Sat Nov 12 
22:53:52 2005
+++ mldonkey/src/networks/openFT/openFTInteractive.ml   Fri Dec 16 20:56:31 2005
@@ -184,14 +184,14 @@
           let ip = Ip.of_string ip in
           let port = int_of_string port in
           let s = new_server ip port in
-          true
+          "", true
       | "ft://" :: "friend" :: ip :: port :: http_port :: _ ->  
           let ip = Ip.of_string ip in
           let port = int_of_string port in
           let http_port = int_of_string http_port in
           let c = new_client ip port http_port in
           friend_add (as_client c.client_client);
-          true
+          "", true
       | _ -> false
   )
 
Index: mldonkey/src/networks/opennap/opennapInteractive.ml
diff -u mldonkey/src/networks/opennap/opennapInteractive.ml:1.19 
mldonkey/src/networks/opennap/opennapInteractive.ml:1.20
--- mldonkey/src/networks/opennap/opennapInteractive.ml:1.19    Sat Nov 12 
22:53:52 2005
+++ mldonkey/src/networks/opennap/opennapInteractive.ml Fri Dec 16 20:56:31 2005
@@ -261,7 +261,7 @@
   client_ops.op_client_browse <- (fun c immediate ->
       browse_client c  );
 
-  network.op_network_parse_url <- (fun _ -> false);
+  network.op_network_parse_url <- (fun _ -> "", false);
   network.op_network_load_complex_options <- (fun _ -> ());
 
   network.op_network_recover_temp <- (fun s -> ());




reply via email to

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