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: Sun, 01 Jul 2007 12:58:55 +0000

CVSROOT:        /sources/mldonkey
Module name:    mldonkey
Changes by:     spiralvoice <spiralvoice>       07/07/01 12:58:54

Modified files:
        distrib        : ChangeLog 
        src/daemon/common: commonUserDb.ml 
        src/daemon/driver: driverCommands.ml 

Log message:
        patch #6059

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/mldonkey/distrib/ChangeLog?cvsroot=mldonkey&r1=1.1293&r2=1.1294
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/common/commonUserDb.ml?cvsroot=mldonkey&r1=1.10&r2=1.11
http://cvs.savannah.gnu.org/viewcvs/mldonkey/src/daemon/driver/driverCommands.ml?cvsroot=mldonkey&r1=1.239&r2=1.240

Patches:
Index: distrib/ChangeLog
===================================================================
RCS file: /sources/mldonkey/mldonkey/distrib/ChangeLog,v
retrieving revision 1.1293
retrieving revision 1.1294
diff -u -b -r1.1293 -r1.1294
--- distrib/ChangeLog   1 Jul 2007 12:57:02 -0000       1.1293
+++ distrib/ChangeLog   1 Jul 2007 12:58:54 -0000       1.1294
@@ -15,6 +15,7 @@
 =========
 
 2007/07/01
+6059: Multiuser: Avoid double group entries in user_groups
 6056: Log username, IP:port and old/new value when changing options
 
 2007/06/30

Index: src/daemon/common/commonUserDb.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/common/commonUserDb.ml,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- src/daemon/common/commonUserDb.ml   1 Jul 2007 12:57:03 -0000       1.10
+++ src/daemon/common/commonUserDb.ml   1 Jul 2007 12:58:54 -0000       1.11
@@ -184,7 +184,18 @@
           let ugroups =
            try
              let ugl = get_value "user_groups" (value_to_list value_to_string) 
in
-             List.map user2_group_find ugl
+              let ugl2 = ref ([]: groupdb list) in
+              List.iter (fun ug ->
+                try
+                  let usergroup = user2_group_find ug in
+                  if not (List.mem usergroup !ugl2) then
+                    ugl2 := !ugl2 @ [usergroup]
+                  else
+                    lprintf_nl "Removing duplicate group %s from user %s" ug 
uname
+                with Not_found ->
+                  lprintf_nl "Removing non-existing group %s from user %s" ug 
uname
+              ) ugl;
+              !ugl2
             with Not_found -> [admin_group ()]
           in
           let udgroup =

Index: src/daemon/driver/driverCommands.ml
===================================================================
RCS file: /sources/mldonkey/mldonkey/src/daemon/driver/driverCommands.ml,v
retrieving revision 1.239
retrieving revision 1.240
diff -u -b -r1.239 -r1.240
--- src/daemon/driver/driverCommands.ml 1 Jul 2007 12:57:03 -0000       1.239
+++ src/daemon/driver/driverCommands.ml 1 Jul 2007 12:58:54 -0000       1.240
@@ -3269,8 +3269,15 @@
                begin
                  try
                    let g = user2_group_find group in
+                    if List.mem g u.user_groups then
+                      print_command_result o
+                        (Printf.sprintf "User %s already member of group %s" 
u.user_name g.group_name)
+                    else
+                      begin
                    user2_user_add_group u g;
-                   print_command_result o (Printf.sprintf "Added group %s to 
user %s" g.group_name u.user_name)
+                        print_command_result o
+                          (Printf.sprintf "Added group %s to user %s" 
g.group_name u.user_name)
+                      end
                  with Not_found -> print_command_result o (Printf.sprintf 
"Group %s does not exist" group)
                end
            with Not_found -> print_command_result o (Printf.sprintf "User %s 
does not exist" user)




reply via email to

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