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/direct_...


From: mldonkey-commits
Subject: [Mldonkey-commits] mldonkey distrib/ChangeLog src/networks/direct_...
Date: Tue, 25 Oct 2011 17:40:46 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       11/10/25 17:40:46

Modified files:
        distrib        : ChangeLog 
        src/networks/direct_connect: dcClients.ml dcComplexOptions.ml 
                                     dcGlobals.ml dcInteractive.ml 
                                     dcMain.ml 

Log message:
        patch 7641

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1535&r2=1.1536
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcClients.ml?cvsroot=mldonkey&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcComplexOptions.ml?cvsroot=mldonkey&r1=1.8&r2=1.9
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcGlobals.ml?cvsroot=mldonkey&r1=1.20&r2=1.21
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcInteractive.ml?cvsroot=mldonkey&r1=1.45&r2=1.46
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/networks/direct_connect/dcMain.ml?cvsroot=mldonkey&r1=1.10&r2=1.11

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1535
retrieving revision 1.1536
diff -u -b -r1.1535 -r1.1536
--- distrib/ChangeLog   25 Oct 2011 17:33:20 -0000      1.1535
+++ distrib/ChangeLog   25 Oct 2011 17:40:45 -0000      1.1536
@@ -15,6 +15,7 @@
 =========
 
 2011/10/25
+7641: DC: fix ownership for downloads by non-admin users (ygrek)
 7593: Less allocations (ygrek)
 -------------------------------------------------------------------------------
 2011/08/07: version 3.1.0 = tag release-3-1-0

Index: src/networks/direct_connect/dcClients.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcClients.ml,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- src/networks/direct_connect/dcClients.ml    19 Dec 2010 10:04:58 -0000      
1.22
+++ src/networks/direct_connect/dcClients.ml    25 Oct 2011 17:40:45 -0000      
1.23
@@ -1203,7 +1203,7 @@
             let file_fd = Unix32.create_ro fname in
             c.client_state <- DcUploadList file_fd; 
             c.client_endpos <- Unix32.getsize64 file_fd;
-            let file = new_upfile None file_fd in
+            let file = new_upfile None file_fd (CommonUserDb.admin_user ()) in 
(* FIXME user? *)
             c.client_file <- Some file;
             set_clients_upload c (as_file file.file_file);
         | DcUploadStarting (dcsh,start_pos,bytes) -> 
@@ -1218,7 +1218,7 @@
             let file_fd = Unix32.create_ro dcsh.dc_shared_fullname in
             c.client_state <- DcUpload (dcsh,file_fd,start_pos,bytes);
             c.client_endpos <- endpos;
-            let file = new_upfile (Some dcsh) file_fd in 
+            let file = new_upfile (Some dcsh) file_fd (CommonUserDb.admin_user 
()) in (* FIXME user? *)
             c.client_file <- Some file;  
             set_clients_upload c (as_file file.file_file);
         | _ -> failwith "Wrong client state in Send" );

Index: src/networks/direct_connect/dcComplexOptions.ml
===================================================================
RCS file: 
/sources/mldonkey/mldonkey/src/networks/direct_connect/dcComplexOptions.ml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- src/networks/direct_connect/dcComplexOptions.ml     3 Aug 2007 22:12:58 
-0000       1.8
+++ src/networks/direct_connect/dcComplexOptions.ml     25 Oct 2011 17:40:45 
-0000      1.9
@@ -163,7 +163,7 @@
   let f_name = get_value "file_filename" value_to_string in
   let f_size = get_value "file_size" value_to_int64 in
   let f_downloaded = get_value "file_downloaded" value_to_int64 in
-  let f = DcGlobals.new_file f_unchecked_tiger_root f_directory f_name f_size 
in
+  let f = DcGlobals.new_file f_unchecked_tiger_root f_directory f_name f_size 
user group in
   if (file_downloaded f) <> f_downloaded then
     failwith "Disk file size don't match downloaded info";  
   if f_downloaded <> f_size then begin            (* check if file is 
downloaded already *)

Index: src/networks/direct_connect/dcGlobals.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcGlobals.ml,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -b -r1.20 -r1.21
--- src/networks/direct_connect/dcGlobals.ml    25 Oct 2011 17:33:21 -0000      
1.20
+++ src/networks/direct_connect/dcGlobals.ml    25 Oct 2011 17:40:46 -0000      
1.21
@@ -471,7 +471,7 @@
 let user_has_new_messages user = (List.length user.user_messages) > 
user.user_read_messages
 
 (* file impl for uploading clients *)
-let new_upfile dcsh fd =
+let new_upfile dcsh fd user =
   let filename,directory =
     (match dcsh with 
     | Some dcsh -> 
@@ -499,11 +499,13 @@
     impl_file_ops = file_ops;
     impl_file_age = last_time ();
     impl_file_best_name = filename;
+    impl_file_owner = user;
+    impl_file_group = user.user_default_group;
   } in
   file
 
 (* Return existing file or create new one *)
-let new_file tiger_root (directory:string) (filename:string) (file_size:int64) 
=
+let new_file tiger_root (directory:string) (filename:string) (file_size:int64) 
user group =
   (try
     let f = Hashtbl.find dc_files_by_unchecked_hash tiger_root in
     if !verbose_download then 
@@ -550,6 +552,8 @@
           impl_file_ops = file_ops;
           impl_file_age = last_time ();
         impl_file_best_name = filename;
+          impl_file_owner = user;
+          impl_file_group = group;
         } in
       file_add impl FileNew;  (* CommonInteractive.file_add *)
             current_files := file :: !current_files;

Index: src/networks/direct_connect/dcInteractive.ml
===================================================================
RCS file: 
/sources/mldonkey/mldonkey/src/networks/direct_connect/dcInteractive.ml,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -b -r1.45 -r1.46
--- src/networks/direct_connect/dcInteractive.ml        7 Nov 2010 15:10:59 
-0000       1.45
+++ src/networks/direct_connect/dcInteractive.ml        25 Oct 2011 17:40:46 
-0000      1.46
@@ -54,13 +54,13 @@
   lprintf_nl2 log_prefix fmt
 
 (* Start new dowload from result *)
-let start_new_download u tth fdir fname fsize =
+let start_new_download u tth fdir fname fsize user group =
     try
       ignore (Hashtbl.find dc_shared_files_by_hash tth);
       if !verbose_download then lprintf_nl "Shared file with same hash exists 
(%s) (%s)" fname tth;
       None 
     with _ ->
-        let f = new_file tth fdir fname fsize in   (* ...create new file *)
+        let f = new_file tth fdir fname fsize user group in   (* ...create new 
file *)
         match (file_state f) with
         | FileDownloaded | FileShared -> if !verbose_download then lprintf_nl 
"File already downloaded"; None
         | FileDownloading -> if !verbose_download then lprintf_nl "File being 
downloaded"; None
@@ -82,10 +82,10 @@
               Some f
 
 (* Start downloading of a file by user selection from resultlist *) 
-let start_result_download r =
+let start_result_download r user group =
   let filename = List.hd r.result_names in
   let rinfo = Hashtbl.find dc_result_info r.result_num in
-  let newfile = start_new_download (Some rinfo.user) rinfo.tth rinfo.directory 
filename r.result_size in
+  let newfile = start_new_download (Some rinfo.user) rinfo.tth rinfo.directory 
filename r.result_size user group in
   (match newfile with 
   | Some f -> as_file f.file_file (* return CommonFile.file *) 
   | _ -> raise Not_found )
@@ -1020,7 +1020,8 @@
         Printf.bprintf buf "Trying to download file: %s from user: %s\n" 
!sname uname;
         (try 
           let u = search_user_by_name uname in
-          ignore (start_new_download (Some u) tth !sdir !sname 
(Int64.of_string fsize))
+          let user = o.conn_user.ui_user in
+          ignore (start_new_download (Some u) tth !sdir !sname 
(Int64.of_string fsize) user user.user_default_group)
         with _ -> if !verbose_download then lprintf_nl "dcloadfile: No user 
found" )
     | _ ->
         if !verbose_unexpected_messages then

Index: src/networks/direct_connect/dcMain.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/networks/direct_connect/dcMain.ml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- src/networks/direct_connect/dcMain.ml       23 May 2010 09:18:31 -0000      
1.10
+++ src/networks/direct_connect/dcMain.ml       25 Oct 2011 17:40:46 -0000      
1.11
@@ -216,7 +216,7 @@
     !connected_servers <> []
   );
   network.op_network_parse_url <- (fun url user group -> 
DcInteractive.parse_url url user group);
-  network.op_network_download <- (fun r _ _ -> 
DcInteractive.start_result_download r);
+  network.op_network_download <- DcInteractive.start_result_download;
   network.op_network_ports <- (fun _ ->
     [
     !!dc_port, "client_port TCP+UDP";



reply via email to

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