[evolvis-commits] r7950: Fixed errors in deteted user management?==?UTF-8?Q?↵

mirabilos at evolvis.org mirabilos at evolvis.org
Thu Feb 24 15:53:39 CET 2011


Author: mirabilos
Date: 2011-02-24 15:53:39 +0100 (Thu, 24 Feb 2011)
New Revision: 7950

Modified:
   trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog
   trunk/gforge_base/evolvisforge-5.1/gforge/utils/new_parse.pl
   trunk/gforge_base/evolvisforge-5.1/gforge/utils/underworld-dummy/ssh_dump.pl
Log:
Fixed errors in deteted user management


Modified: trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog	2011-02-24 14:53:38 UTC (rev 7949)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/debian/changelog	2011-02-24 14:53:39 UTC (rev 7950)
@@ -1,3 +1,11 @@
+sourceforge (2.6-0+15+) experimental; urgency=low
+
+  * [Christian] repared broken delete function in new_parse.pl
+  * [Christian] made that ssh_dump.pl don't try to create key files for
+    deleted user 
+
+ -- Christian Bayle <bayle at debian.org>  Sun,  1 Dec 2002 11:53:50 +0100
+
 sourceforge (2.6-0+15) experimental; urgency=low
 
   * [Christian] Add the possibility to hide forum in news_show_latest

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/utils/new_parse.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/utils/new_parse.pl	2011-02-24 14:53:38 UTC (rev 7949)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/utils/new_parse.pl	2011-02-24 14:53:39 UTC (rev 7950)
@@ -50,7 +50,7 @@
 	($uid, $status, $username, $shell, $passwd, $realname) = split(":", $ln);
 	$uid += $uid_add;
 	$username =~ tr/A-Z/a-z/;
-	$user_exists = (-d $homedir_prefix . $username);
+	$user_exists = (-d $homedir_prefix . $username || -f "/var/lib/sourceforge/tmp/$username.tar.gz");
 	
 	if ($status eq 'A' && $user_exists) {
 		update_user($uid, $username, $realname, $shell, $passwd);
@@ -202,12 +202,17 @@
 # User Deletion Function
 #############################
 sub delete_user {
-	my ($username, $junk, $uid, $gid, $realname, $homedir, $shell, $counter);
-	my $this_user = shift(@_);
+	#my ($username, $junk, $uid, $gid, $realname, $homedir, $shell, $counter);
+	my $username = shift(@_);
 	
-	print("Deleting User : $this_user\n");
-	system("/bin/mv /var/lib/sourceforge/chroot/home/users/$username /var/lib/sourceforge/chroot/home/users/deleted_$username");
-	system("/bin/tar -czf /var/lib/sourceforge/tmp/$username.tar.gz /var/lib/sourceforge/chroot/home/users/deleted_$username && /bin/rm -rf /var/lib/sourceforge/chroot/home/users/deleted_$username");
+	my $alreadydone=(-f "/var/lib/sourceforge/tmp/$username.tar.gz");
+	if (!$alreadydone){
+	print("Deleting User : $username\n");
+		echo("/bin/mv /var/lib/sourceforge/chroot/home/users/$username /var/lib/sourceforge/chroot/home/users/deleted_$username\n");
+		system("/bin/mv /var/lib/sourceforge/chroot/home/users/$username /var/lib/sourceforge/chroot/home/users/deleted_$username");
+		echo("/bin/tar -czf /var/lib/sourceforge/tmp/$username.tar.gz /var/lib/sourceforge/chroot/home/users/deleted_$username && /bin/rm -rf /var/lib/sourceforge/chroot/home/users/deleted_$username\n");
+		system("/bin/tar -czf /var/lib/sourceforge/tmp/$username.tar.gz /var/lib/sourceforge/chroot/home/users/deleted_$username && /bin/rm -rf /var/lib/sourceforge/chroot/home/users/deleted_$username");
+	}
 }
 
 #############################

Modified: trunk/gforge_base/evolvisforge-5.1/gforge/utils/underworld-dummy/ssh_dump.pl
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/utils/underworld-dummy/ssh_dump.pl	2011-02-24 14:53:38 UTC (rev 7949)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/utils/underworld-dummy/ssh_dump.pl	2011-02-24 14:53:39 UTC (rev 7950)
@@ -13,7 +13,7 @@
 &db_connect;
 
 # Dump the Table information
-$query = "SELECT user_name,unix_uid,authorized_keys FROM users WHERE authorized_keys != ''";
+$query = "SELECT user_name,unix_uid,authorized_keys FROM users WHERE authorized_keys != '' AND status !='D'";
 $c = $dbh->prepare($query);
 $c->execute();
 while(my ($username, $unix_uid, $ssh_key) = $c->fetchrow()) {



More information about the evolvis-commits mailing list