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: Mon, 23 Apr 2007 23:40:28 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       07/04/23 23:40:28

Modified files:
        distrib        : ChangeLog 
        src/daemon/common: commonClient.ml commonGlobals.ml 
                           commonUploads.ml 
        src/daemon/driver: driverCommands.ml driverMain.ml 
        src/networks/bittorrent: bTClients.ml 
        src/networks/donkey: donkeyClient.ml donkeyFiles.ml 
                             donkeyInteractive.ml 

Log message:
        patch #5718

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1242&r2=1.1243
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonClient.ml?cvsroot=mldonkey&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonGlobals.ml?cvsroot=mldonkey&r1=1.82&r2=1.83
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonUploads.ml?cvsroot=mldonkey&r1=1.53&r2=1.54
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverCommands.ml?cvsroot=mldonkey&r1=1.228&r2=1.229
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverMain.ml?cvsroot=mldonkey&r1=1.139&r2=1.140
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/bittorrent/bTClients.ml?cvsroot=mldonkey&r1=1.88&r2=1.89
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyClient.ml?cvsroot=mldonkey&r1=1.123&r2=1.124
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyFiles.ml?cvsroot=mldonkey&r1=1.29&r2=1.30
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/donkey/donkeyInteractive.ml?cvsroot=mldonkey&r1=1.152&r2=1.153

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1242
retrieving revision 1.1243
diff -u -b -r1.1242 -r1.1243
--- distrib/ChangeLog   22 Apr 2007 22:48:43 -0000      1.1242
+++ distrib/ChangeLog   23 Apr 2007 23:40:28 -0000      1.1243
@@ -14,6 +14,12 @@
 ChangeLog
 =========
 
+2007/04/24
+5718: Improve command "nu"
+- close all upload slots
+- do not give an upload slot to clients in pending slot
+- restrict command "nu" to admin users
+-------------------------------------------------------------------------------
 2007/04/23: version 2.8.5 = tag release-2-8-5
 5855: Increase Unix32.max_cache_size, fix max_opened_connections check
       (thx to pango)

Index: src/daemon/common/commonClient.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonClient.ml,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- src/daemon/common/commonClient.ml   8 Mar 2007 21:01:02 -0000       1.36
+++ src/daemon/common/commonClient.ml   23 Apr 2007 23:40:28 -0000      1.37
@@ -471,6 +471,7 @@
   CommonEvent.add_event (File_update_availability (file, client, bitmap))
 
 let clear_upload_slots () =
+  if !CommonGlobals.has_upload = 0 then
   Intmap.iter (fun _ c ->
     try
       let i = client_info c in
@@ -487,6 +488,15 @@
        end
     with _ -> ()
   ) !uploaders
+  else
+  Intmap.iter (fun _ c ->
+    let i = client_info c in
+    client_disconnect c;
+    if !verbose then lprintf_nl "disconnected client %d: [%s %s] %s after user 
disabled upload."
+      (client_num c)
+      (GuiTypes.client_software i.GuiTypes.client_software 
i.GuiTypes.client_os)
+      i.GuiTypes.client_release i.GuiTypes.client_name
+  ) !uploaders
 
 let impl_client_info impl =
   let module T = GuiTypes in

Index: src/daemon/common/commonGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonGlobals.ml,v
retrieving revision 1.82
retrieving revision 1.83
diff -u -b -r1.82 -r1.83
--- src/daemon/common/commonGlobals.ml  18 Feb 2007 00:13:08 -0000      1.82
+++ src/daemon/common/commonGlobals.ml  23 Apr 2007 23:40:28 -0000      1.83
@@ -340,6 +340,8 @@
 let nshared_files = ref 0
 let nshared_bytes = ref Int64.zero
 let shared_counter = ref Int64.zero
+let has_upload = ref 0
+let upload_credit = ref 0
 
 let string_of_field t =
   match t with

Index: src/daemon/common/commonUploads.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonUploads.ml,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -b -r1.53 -r1.54
--- src/daemon/common/commonUploads.ml  3 Dec 2006 20:57:56 -0000       1.53
+++ src/daemon/common/commonUploads.ml  23 Apr 2007 23:40:28 -0000      1.54
@@ -751,10 +751,6 @@
 let streaming_left = ref (streaming_amount ())
 let streaming_time = (ref None : float option ref)
 
-let has_upload = ref 0
-let upload_credit = ref 0
-
-
 let can_write_len sock len =
   let bool1 = can_write_len sock len in
 (* changed 2.5.24: Don't put in a socket more than 10 seconds of upload. *)
@@ -811,11 +807,6 @@
   streaming_time := Some new_streaming_time;
   next_uploads_aux ()
 
-let reset_upload_timer () = ()
-
-let reset_upload_timer _ =
-  reset_upload_timer ()
-
 let upload_credit_timer _ =
   if !has_upload = 0 then
     (if !upload_credit < 300 then incr upload_credit)
@@ -965,6 +956,7 @@
 let turn = ref (-1)
 
 let refill_upload_slots () =
+  if !CommonGlobals.has_upload = 0 then begin
   incr turn;
   if !turn = 5 then
     turn := 0;
@@ -975,6 +967,7 @@
   end else
     (* call every 1s *)
     static_refill_upload_slots ()
+  end
 
 let consume_bandwidth len =
   streaming_left := !streaming_left - len

Index: src/daemon/driver/driverCommands.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverCommands.ml,v
retrieving revision 1.228
retrieving revision 1.229
diff -u -b -r1.228 -r1.229
--- src/daemon/driver/driverCommands.ml 20 Apr 2007 22:55:08 -0000      1.228
+++ src/daemon/driver/driverCommands.ml 23 Apr 2007 23:40:28 -0000      1.229
@@ -1036,29 +1036,36 @@
     [
 
     "nu", Arg_one (fun num o ->
+        if user2_is_admin o.conn_user.ui_user then begin
         let num = int_of_string num in
 
         if num > 0 then (* we want to disable upload for a short time *)
-          let num = min !CommonUploads.upload_credit num in
-          CommonUploads.has_upload := !CommonUploads.has_upload + num;
-          CommonUploads.upload_credit := !CommonUploads.upload_credit - num;
-          Printf.sprintf
-            "upload disabled for %d minutes (remaining credits %d)"
-            !CommonUploads.has_upload !CommonUploads.upload_credit
+          let num = min !CommonGlobals.upload_credit num in
+          CommonGlobals.has_upload := !CommonGlobals.has_upload + num;
+          CommonGlobals.upload_credit := !CommonGlobals.upload_credit - num;
         else
 
-        if num < 0 && !CommonUploads.has_upload > 0 then
+        if num < 0 && !CommonGlobals.has_upload > 0 then begin
 (* we want to restart upload probably *)
           let num = - num in
-          let num = min num !CommonUploads.has_upload in
-          CommonUploads.has_upload := !CommonUploads.has_upload - num;
-          CommonUploads.upload_credit := !CommonUploads.upload_credit + num;
+          let num = min num !CommonGlobals.has_upload in
+          CommonGlobals.has_upload := !CommonGlobals.has_upload - num;
+          CommonGlobals.upload_credit := !CommonGlobals.upload_credit + num;
+        end;
+        if !CommonGlobals.has_upload > 0 then clear_upload_slots ();
+        print_command_result o
+        (Printf.sprintf "upload disabled for %d minutes (remaining credits %d)"
+          !CommonGlobals.has_upload !CommonGlobals.upload_credit)
+       end else
+         print_command_result o "You are not allowed to disable upload"; ""
+    ), "<m> :\t\t\t\tdisable upload during <m> minutes, queue all files";
+
+    "vu", Arg_none (fun o ->
           Printf.sprintf
-            "upload disabled for %d minutes (remaining credits %d)"
-            !CommonUploads.has_upload !CommonUploads.upload_credit
+          "Upload credits : %d minutes\nUpload disabled for %d minutes"
+          !CommonGlobals.upload_credit !CommonGlobals.has_upload;
 
-        else ""
-    ), "<m> :\t\t\t\tdisable upload during <m> minutes (multiple of 5)";
+    ), ":\t\t\t\t\tview upload credits";
 
     "bw_stats", Arg_multiple (fun args o ->
         let buf = o.conn_buf in

Index: src/daemon/driver/driverMain.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverMain.ml,v
retrieving revision 1.139
retrieving revision 1.140
diff -u -b -r1.139 -r1.140
--- src/daemon/driver/driverMain.ml     8 Apr 2007 14:59:29 -0000       1.139
+++ src/daemon/driver/driverMain.ml     23 Apr 2007 23:40:28 -0000      1.140
@@ -87,7 +87,6 @@
      CommonUploads.refill_upload_slots ()
    with e ->
         lprintf_nl (_b "Exception %s") (Printexc2.to_string e));
-  CommonUploads.reset_upload_timer ();
   CommonUploads.shared_files_timer ();
   ()
 

Index: src/networks/bittorrent/bTClients.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/bittorrent/bTClients.ml,v
retrieving revision 1.88
retrieving revision 1.89
diff -u -b -r1.88 -r1.89
--- src/networks/bittorrent/bTClients.ml        1 Apr 2007 12:14:57 -0000       
1.88
+++ src/networks/bittorrent/bTClients.ml        23 Apr 2007 23:40:28 -0000      
1.89
@@ -1021,7 +1021,7 @@
             raise Exit
           end;
 
-        if !CommonUploads.has_upload = 0 then
+        if !CommonGlobals.has_upload = 0 then
           begin
             if client_has_a_slot (as_client c) then
               begin

Index: src/networks/donkey/donkeyClient.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyClient.ml,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -b -r1.123 -r1.124
--- src/networks/donkey/donkeyClient.ml 19 Apr 2007 13:32:56 -0000      1.123
+++ src/networks/donkey/donkeyClient.ml 23 Apr 2007 23:40:28 -0000      1.124
@@ -1648,7 +1648,7 @@
         t.Q.start_pos t.Q.bloc_str t.Q.bloc_begin t.Q.bloc_len
 
 (* Upload requests *)
-  | M.ViewFilesReq t when !CommonUploads.has_upload = 0 && 
+  | M.ViewFilesReq t when !CommonGlobals.has_upload = 0 && 
     (match !!allow_browse_share with
         1 -> client_friend_tag land client_type c <> 0
       | 2 -> true
@@ -1668,7 +1668,7 @@
       client_send_files sock !published_files
   
   (*TODO: real directory support*)
-  | M.ViewDirsReq t when !CommonUploads.has_upload = 0 && 
+  | M.ViewDirsReq t when !CommonGlobals.has_upload = 0 && 
     (match !!allow_browse_share with
         1 -> client_friend_tag land client_type c <> 0
       | 2 -> true
@@ -1680,7 +1680,7 @@
   
   (*TODO: real directory support*)
   (*TODO: "!Incomplete Files" support*)
-  | M.ViewFilesDirReq t when !CommonUploads.has_upload = 0 && 
+  | M.ViewFilesDirReq t when !CommonGlobals.has_upload = 0 && 
     (match !!allow_browse_share with
         1 -> client_friend_tag land client_type c <> 0
       | 2 -> true
@@ -1703,7 +1703,7 @@
       let md4 = t.M.QueryFile.md4 in
       c.client_requests_received <- c.client_requests_received + 1;
       
-      if  !CommonUploads.has_upload = 0 && 
+      if  !CommonGlobals.has_upload = 0 && 
         not (!!ban_queue_jumpers && c.client_banned) then
         
         (try client_wants_file c md4 with _ -> ());
@@ -1942,7 +1942,7 @@
       in
       log_chat_message cip (client_num c) c.client_name s;
   
-  | M.QueryChunkMd4Req t when !CommonUploads.has_upload = 0 -> 
+  | M.QueryChunkMd4Req t when !CommonGlobals.has_upload = 0 -> 
       
       let file = find_file t in
       begin
@@ -1962,7 +1962,7 @@
       c.client_requests_received <- c.client_requests_received + 1;
 
       (* All clients query chunks during download! This is legitimate!
-        !CommonUploads.has_upload = 0 && *)
+        !CommonGlobals.has_upload = 0 && *)
       (* banned is banned, do we need to check ban_queue_jumpers
          here? besides that ... we shouldn't be connected with
          a banned client! Waste of resources! Or? *)
@@ -2006,7 +2006,7 @@
                 client_send c ( M.NoSuchFileReq t );
         end
   
-  | M.QueryBlocReq t when !CommonUploads.has_upload = 0 &&
+  | M.QueryBlocReq t when !CommonGlobals.has_upload = 0 &&
     client_has_a_slot (as_client c) ->
       
       let module Q = M.QueryBloc in
@@ -2097,7 +2097,7 @@
           | chunks ->
         c.client_upload <- Some up;
         set_client_upload (as_client c) (as_file file);
-        if not waiting && !CommonUploads.has_upload = 0 then begin
+        if not waiting && !CommonGlobals.has_upload = 0 then begin
             CommonUploads.ready_for_upload (as_client c);
             up.up_waiting <- true
           end)
@@ -2177,7 +2177,7 @@
   set_handler sock WRITE_DONE (fun s ->
       match c.client_upload with
       | Some ({ up_chunks = _ :: _ } as up) ->
-          if not up.up_waiting && !CommonUploads.has_upload = 0 then begin
+          if not up.up_waiting && !CommonGlobals.has_upload = 0 then begin
               up.up_waiting <- true;
               CommonUploads.ready_for_upload (as_client c)
             end

Index: src/networks/donkey/donkeyFiles.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyFiles.ml,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -b -r1.29 -r1.30
--- src/networks/donkey/donkeyFiles.ml  19 Apr 2007 13:44:16 -0000      1.29
+++ src/networks/donkey/donkeyFiles.ml  23 Apr 2007 23:40:28 -0000      1.30
@@ -176,7 +176,7 @@
           send_client_block c sock size;
            (match c.client_upload with
             | Some ({ up_chunks = _ :: _ }) ->
-                if !CommonUploads.has_upload = 0 then
+                if !CommonGlobals.has_upload = 0 then
                   CommonUploads.ready_for_upload (as_client c)
            | _ -> ()
           )

Index: src/networks/donkey/donkeyInteractive.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/donkey/donkeyInteractive.ml,v
retrieving revision 1.152
retrieving revision 1.153
diff -u -b -r1.152 -r1.153
--- src/networks/donkey/donkeyInteractive.ml    12 Apr 2007 11:32:50 -0000      
1.152
+++ src/networks/donkey/donkeyInteractive.ml    23 Apr 2007 23:40:28 -0000      
1.153
@@ -695,13 +695,6 @@
         "friend added";
     ),  "<ip> [<port>] :\t\t\tadd a friend";
 
-    "vu", Arg_none (fun o ->
-        Printf.sprintf
-          "Upload credits : %d minutes\nUpload disabled for %d minutes"
-          !CommonUploads.upload_credit !CommonUploads.has_upload;
-
-    ), ":\t\t\t\t\tview upload credits";
-
 (*
     "comments", Arg_one (fun filename o ->
 (* TODO        DonkeyIndexer.load_comments filename;




reply via email to

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