Call initgroups() when dropping privilege, in order that Exim runs with
[exim.git] / src / src / spool_out.c
index d5f970224e6874a54d7282c75252418543826bae..bbfd785d255c7c85e2d058449021f8b95dab7b4f 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/spool_out.c,v 1.8 2005/06/27 14:29:44 ph10 Exp $ */
+/* $Cambridge: exim/src/src/spool_out.c,v 1.10 2006/02/07 11:19:00 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2005 */
+/* Copyright (c) University of Cambridge 1995 - 2006 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Functions for writing spool files, and moving them about. */
@@ -193,10 +193,17 @@ if (received_protocol != NULL)
 /* Preserve any ACL variables that are set. Because the values may contain
 newlines, we use an explicit length. */
 
-for (i = 0; i < ACL_C_MAX + ACL_M_MAX; i++)
+for (i = 0; i < ACL_CVARS; i++)
   {
   if (acl_var[i] != NULL)
-    fprintf(f, "-acl %d %d\n%s\n", i, Ustrlen(acl_var[i]), acl_var[i]);
+    fprintf(f, "-aclc %d %d\n%s\n", i, Ustrlen(acl_var[i]), acl_var[i]);
+  }
+
+for (i = 0; i < ACL_MVARS; i++)
+  {
+  int j = i + ACL_CVARS;
+  if (acl_var[j] != NULL)
+    fprintf(f, "-aclm %d %d\n%s\n", i, Ustrlen(acl_var[j]), acl_var[j]);
   }
 
 /* Now any other data that needs to be remembered. */