[1935] in Moira
Re: acl includes deactivated users
daemon@ATHENA.MIT.EDU (Garry Zacheiss)
Tue Feb 26 02:09:39 2002
Message-Id: <200202260709.CAA15336@brad-majors.mit.edu>
To: Jonathon Weiss <jweiss@MIT.EDU>
cc: bug-moira@MIT.EDU
In-Reply-To: Your message of "Mon, 25 Feb 2002 17:58:19 EST."
<200202252258.RAA25505@the-other-woman.mit.edu>
Date: Tue, 26 Feb 2002 02:09:37 -0500
From: Garry Zacheiss <zacheiss@MIT.EDU>
Patches below.
Index: acl.pc
===================================================================
RCS file: /afs/athena.mit.edu/astaff/project/moiradev/repository/moira/gen/acl.pc,v
retrieving revision 1.3
diff -u -r1.3 acl.pc
--- acl.pc 2000/06/06 04:44:46 1.3
+++ acl.pc 2002/02/26 06:13:35
@@ -149,7 +149,7 @@
{
name = strtok_r(m->name, "@", &lasts);
EXEC SQL SELECT count(login) INTO :i FROM users
- WHERE login = :name;
+ WHERE login = :name and status != 3;
if (i == 1)
{
if (*(m->tag))
@@ -299,7 +299,7 @@
name = strtok_r(m->name, "@", &lasts);
EXEC SQL SELECT count(login) INTO :i FROM users WHERE
- login = :name;
+ login = :name and status != 3;
if (i == 1)
{
EXEC SQL SELECT unix_uid, shell, fullname, nickname,
@@ -376,7 +376,7 @@
{
n = strtok_r(m->name, "@", &lasts);
EXEC SQL SELECT count(login) INTO :i FROM users
- WHERE login = :n;
+ WHERE login = :n and status != 3;
if (i == 1)
{
fprintf(out, "%s%s", maybecomma, n);
Index: genacl.pc
===================================================================
RCS file: /afs/athena.mit.edu/astaff/project/moiradev/repository/moira/gen/genacl.pc,v
retrieving revision 1.3
diff -u -r1.3 genacl.pc
--- genacl.pc 2000/03/09 19:56:47 1.3
+++ genacl.pc 2002/02/26 07:05:48
@@ -129,7 +129,7 @@
static void save_imember(struct save_queue *sq, char *type, int id, char *tag)
{
EXEC SQL BEGIN DECLARE SECTION;
- int lid = id, mid, mid2, tagid;
+ int lid = id, mid, mid2, tagid, status;
char mtype[IMEMBERS_MEMBER_TYPE_SIZE];
EXEC SQL END DECLARE SECTION;
char *mtag;
@@ -137,7 +137,9 @@
switch (*type)
{
case 'U':
- sq_save_data(sq, imember('U', user_lookup(id), tag));
+ EXEC SQL SELECT status INTO :status FROM users WHERE users_id = :id;
+ if (status != 3)
+ sq_save_data(sq, imember('U', user_lookup(id), tag));
break;
case 'K':