[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs] administration/infra/savane/bin sv_groups
From: |
Elfyn McBratney |
Subject: |
[Savannah-cvs] administration/infra/savane/bin sv_groups |
Date: |
Tue, 14 Sep 2004 15:40:15 -0400 |
CVSROOT: /cvsroot/administration
Module name: administration
Branch:
Changes by: Elfyn McBratney <address@hidden> 04/09/14 19:35:04
Modified files:
infra/savane/bin: sv_groups
Log message:
Add error handling for open/close and add flock advisory locking.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/administration/administration/infra/savane/bin/sv_groups.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
Patches:
Index: administration/infra/savane/bin/sv_groups
diff -u administration/infra/savane/bin/sv_groups:1.2
administration/infra/savane/bin/sv_groups:1.3
--- administration/infra/savane/bin/sv_groups:1.2 Tue Sep 14 19:21:03 2004
+++ administration/infra/savane/bin/sv_groups Tue Sep 14 19:35:04 2004
@@ -2,7 +2,7 @@
# This file is part of the Savane project
# <http://gna.org/projects/savane/>
#
-# $Id: sv_groups,v 1.2 2004/09/14 19:21:03 beu Exp $
+# $Id: sv_groups,v 1.3 2004/09/14 19:35:04 beu Exp $
#
# Copyright 2001 (c) Loic Dachary <address@hidden> (sv_cvs.pl)
# 2003 (c) Mathieu Roy <address@hidden>
@@ -676,7 +676,10 @@
"$dir_homepage $dir_cvs $dir_download\n" if $debug;
my @download_keys;
- open (EMAIL, ">/home/gatekpr/projects/$name/email");
+ open(EMAIL, ">/home/gatekpr/projects/$name/email")
+ or die "failed to open
/home/gatekpr/projects/$name/email";
+ flock(EMAIL, LOCK_EX) or die "flock failed";
+
for my $user (keys (%group_savannah)) {
if ($group_savannah{$user} eq 'A') {
# user is group admin and gets to upload files
@@ -691,7 +694,9 @@
}
}
}
- close (EMAIL);
+
+ flock(EMAIL, LOCK_UN);
+ close(EMAIL) or die "failed to close
/home/gatekpr/projects/$name/email";
unless ($debug) {
GroupCreateDownloadKeyring($name, address@hidden);
@@ -700,9 +705,15 @@
}
unless ($debug) {
- open (PW, ">/savannah/cvsroot/$name/etc/passwd");
- open (GRP, ">/savannah/cvsroot/$name/etc/group");
+ open(PW, ">/savannah/cvsroot/$name/etc/passwd")
+ or die "failed to open
/savannah/cvsroot/$name/etc/passwd";
+ open(GRP, ">/savannah/cvsroot/$name/etc/group")
+ or die "failed to open
/savannah/cvsroot/$name/etc/group";
+ flock(PW, LOCK_EX) or die "flock failed";
+ flock(GRP, LOCK_EX) or die "flock failed";
+
print PW
"nobody:x:65534:65534:nobody:/home:/bin/false\n";
+
my $users;
my $webusers;
foreach my $user_id (keys (%group_savannah)) {
@@ -716,6 +727,7 @@
$webusers .= ',' if $webusers;
$webusers .= $user;
}
+
if ($name ne "www") {
foreach my $user_id (@www_members) {
my ($user) = GetDBSettings('user',
"user_id=$user_id", 'user_name');
@@ -733,8 +745,11 @@
print GRP "$group:x:$grent->[2]:$users\n";
$grent = $etc_group_bygroup{"web$group"};
print GRP "web$group:x:$grent->[2]:$webusers\n";
- close (PW);
- close (GRP);
+
+ flock(PW, LOCK_UN);
+ flock(GRP, LOCK_UN);
+ close(PW);
+ close(GRP);
}
}
}
- [Savannah-cvs] administration/infra/savane/bin sv_groups, (continued)
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/13
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/14
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/14
- [Savannah-cvs] administration/infra/savane/bin sv_groups, Elfyn McBratney, 2004/09/14
- [Savannah-cvs] administration/infra/savane/bin sv_groups,
Elfyn McBratney <=