]> andersk Git - moira.git/blobdiff - gen/genacl.pc
Install tsm.gen.
[moira.git] / gen / genacl.pc
index 0ed1a07299f3e2a075b516a05f6909b9d2070601..ad5bb038ec0a95462b00d84221559d531796de8c 100644 (file)
@@ -47,7 +47,12 @@ void dump_krb_acl(FILE *out, char *type, int id, int vers)
   sq = get_acl(type, id, NULL);
   while (sq_remove_data(sq, &m))
     {
-      if (m->type != 'S' && m->name != NULL)
+      if (m->name == NULL)
+       {
+         fprintf(stderr, "Found string_id with no associated string.  Exiting.\n");
+         exit(MR_DBMS_ERR);
+       }
+      if (m->type != 'S')
        {
          canon_krb(m, vers, kbuf, sizeof(kbuf));
          fprintf(out, "%s\n", kbuf);
@@ -124,7 +129,7 @@ struct save_queue *get_acl(char *type, int id,
 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;
@@ -132,7 +137,9 @@ static void save_imember(struct save_queue *sq, char *type, int id, char *tag)
   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':
This page took 0.03569 seconds and 4 git commands to generate.