[1935] in Moira

home help back first fref pref prev next nref lref last post

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':

home help back first fref pref prev next nref lref last post