Added the hosts_max_try_hardlimit option. (The removed file is left over
[exim.git] / src / src / acl.c
index 3f343c1834697c9c86fce21283710d48323f034a..14fd2a0729b970192e4f0940b9b288bfc8518841 100644 (file)
@@ -1,10 +1,10 @@
-/* $Cambridge: exim/src/src/acl.c,v 1.9 2004/12/29 16:34:31 ph10 Exp $ */
+/* $Cambridge: exim/src/src/acl.c,v 1.12 2005/01/04 11:01:33 ph10 Exp $ */
 
 /*************************************************
 *     Exim - an Internet mail transport agent    *
 *************************************************/
 
-/* Copyright (c) University of Cambridge 1995 - 2004 */
+/* Copyright (c) University of Cambridge 1995 - 2005 */
 /* See the file NOTICE for conditions of use and distribution. */
 
 /* Code for handling Access Control Lists (ACLs) */
@@ -373,9 +373,9 @@ enum {
   CONTROL_ENFORCE_SYNC, CONTROL_NO_ENFORCE_SYNC, CONTROL_FREEZE,
   CONTROL_QUEUE_ONLY, CONTROL_SUBMISSION,
 #ifdef WITH_CONTENT_SCAN
-  CONTROL_NO_MBOX_UNSPOOL, CONTROL_FAKEREJECT,
+  CONTROL_NO_MBOX_UNSPOOL, 
 #endif
-  CONTROL_NO_MULTILINE };
+  CONTROL_FAKEREJECT, CONTROL_NO_MULTILINE };
 
 /* Bit map vector of which controls are not allowed at certain times. For
 each control, there's a bitmap of dis-allowed times. For some, it is easier to
@@ -404,8 +404,8 @@ static unsigned int control_forbids[] = {
 
 #ifdef WITH_CONTENT_SCAN
   (1<<ACL_WHERE_NOTSMTP),                          /* no_mbox_unspool */
-  (1<<ACL_WHERE_NOTSMTP),                          /* fakereject */
 #endif
+  (1<<ACL_WHERE_NOTSMTP),                          /* fakereject */
 
   (1<<ACL_WHERE_NOTSMTP)                           /* no_multiline */
 };
@@ -431,8 +431,8 @@ static control_def controls_list[] = {
   { US"queue_only",             CONTROL_QUEUE_ONLY, FALSE},
 #ifdef WITH_CONTENT_SCAN
   { US"no_mbox_unspool",        CONTROL_NO_MBOX_UNSPOOL, FALSE},
-  { US"fakereject",             CONTROL_FAKEREJECT, TRUE},
 #endif
+  { US"fakereject",             CONTROL_FAKEREJECT, TRUE},
   { US"submission",             CONTROL_SUBMISSION, TRUE}
   };
 
@@ -1728,7 +1728,10 @@ for (; cb != NULL; cb = cb->next)
           HDEBUG(D_acl)
             debug_printf("delay skipped in -bh checking mode\n");
           }
-        else sleep(delay);
+        else 
+          {
+          while (delay > 0) delay = sleep(delay);
+          } 
         }
       }
     break;