]> andersk Git - moira.git/blobdiff - server/qrtn.pc
Make sure acl_type is LIST before using the object id as a list_id.
[moira.git] / server / qrtn.pc
index 1bb7410051b6f011a7664247d5aa7ad7e8efb8a2..3bc74c4b96127675c5ff375dfc891832dc2a622e 100644 (file)
@@ -78,7 +78,7 @@ void dbmserr(void)
   sqlglm(err_msg, &bufsize, &msglength);
   err_msg[msglength] = 0;
   com_err(whoami, 0, "SQL error text = %s", err_msg);
-  critical_alert("MOIRA", "Moira server encountered DBMS ERROR %d\n%s",
+  critical_alert(whoami, "MOIRA", "Moira server encountered DBMS ERROR %d\n%s",
                 dbms_errno, err_msg);
 }
 
@@ -641,16 +641,20 @@ int find_member(char *list_type, int list_id, client *cl)
   if (!strcmp(strtrim(list_type), "KERBEROS") && list_id == -cl->client_id)
     return 1;
 
-  /* see if client is a member of list */
-  flag = 0;
-  users_id = cl->users_id;
-  client_id = -cl->client_id;
-  EXEC SQL SELECT COUNT(member_id) INTO :flag FROM imembers
-    WHERE list_id = :list_id
-    AND ( ( member_type = 'USER' AND member_id = :users_id )
-         OR (member_type = 'KERBEROS' AND member_id = :client_id ) );
-  if (sqlca.sqlcode == 0)
-    return flag;
+  if (!strcmp(strtrim(list_type), "LIST"))
+    {
+      /* see if client is a member of list */
+      flag = 0;
+      users_id = cl->users_id;
+      client_id = -cl->client_id;
+      EXEC SQL SELECT COUNT(member_id) INTO :flag FROM imembers
+       WHERE list_id = :list_id
+       AND ( ( member_type = 'USER' AND member_id = :users_id )
+             OR (member_type = 'KERBEROS' AND member_id = :client_id ) );
+      if (sqlca.sqlcode == 0)
+       return flag;
+    }
+
   return 0;
 }
 
@@ -952,7 +956,7 @@ int do_for_all_rows(char *query, int count,
     return mr_errcode;
   if (rowcount == max_row_count)
     {
-      critical_alert("moirad", "attempted query with too many rows");
+      critical_alert(whoami, "moirad", "attempted query with too many rows");
       return MR_NO_MEM;
     }
   else if (rowcount == 0)
This page took 0.032054 seconds and 4 git commands to generate.