Use compressed form of ipv6 in $sender_host_address under -bh. Bug 3027 master github/master
authorJeremy Harris <jgh146exb@wizmail.org>
Thu, 11 Apr 2024 10:53:24 +0000 (11:53 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Thu, 11 Apr 2024 10:53:24 +0000 (11:53 +0100)
68 files changed:
doc/doc-docbook/spec.xfpt
doc/doc-txt/ChangeLog
src/exim_monitor/em_log.c
src/src/acl.c
src/src/auths/cram_md5.c
src/src/auths/xtextencode.c
src/src/dbfn.c
src/src/deliver.c
src/src/exim.c
src/src/exim_dbmbuild.c
src/src/exim_dbutil.c
src/src/exinext.src
src/src/expand.c
src/src/filter.c
src/src/functions.h
src/src/globals.c
src/src/host.c
src/src/log.c
src/src/lookups/dnsdb.c
src/src/lookups/ldap.c
src/src/lookups/lsearch.c
src/src/lookups/oracle.c
src/src/lookups/redis.c
src/src/match.c
src/src/moan.c
src/src/parse.c
src/src/pdkim/pdkim.c
src/src/proxy.c
src/src/readconf.c
src/src/receive.c
src/src/retry.c
src/src/rewrite.c
src/src/rfc2047.c
src/src/route.c
src/src/routers/manualroute.c
src/src/routers/queryprogram.c
src/src/search.c
src/src/smtp_in.c
src/src/smtp_out.c
src/src/string.c
src/src/structs.h
src/src/tls-openssl.c
src/src/transports/autoreply.c
src/src/transports/pipe.c
src/src/transports/smtp.c
src/src/tree.c
src/src/verify.c
src/src/xclient.c
test/confs/0633
test/runtest
test/scripts/0000-Basic/0633
test/stderr/0388
test/stderr/0450
test/stderr/0476
test/stderr/0512
test/stderr/0623
test/stderr/0633
test/stderr/0909
test/stdout/0213
test/stdout/0343
test/stdout/0447
test/stdout/0450
test/stdout/0474
test/stdout/0497
test/stdout/0498
test/stdout/0610
test/stdout/0633
test/stdout/1008

index d71d3696f4603a05f96a32c91312345a2f5f3307..f7ed7964ab4e2281c36e02212fe1c511affc0292 100644 (file)
@@ -31071,7 +31071,8 @@ option to do this.)
 .section "Format of an ACL" "SECID199"
 .cindex "&ACL;" "format of"
 .cindex "&ACL;" "verbs, definition of"
-An individual ACL consists of a number of statements. Each statement starts
+An individual ACL definition consists of a number of statements.
+Each statement starts
 with a verb, optionally followed by a number of conditions and &"modifiers"&.
 Modifiers can change the way the verb operates, define error and log messages,
 set variables, insert delays, and vary the processing of accepted messages.
@@ -31090,6 +31091,9 @@ happens then depends on the verb (and in one case, on a special modifier). Not
 all the conditions make sense at every testing point. For example, you cannot
 test a sender address in the ACL that is run for a VRFY command.
 
+The definition of an ACL ends where another starts,
+or a different configuration section starts.
+
 
 .section "ACL verbs" "SECID200"
 The ACL verbs are as follows:
index a6da950017214e262b5be3ee3a79e382d7ba8a7b..98c7a9584097215265dd5fc4d05db2d8dea1816d 100644 (file)
@@ -128,6 +128,33 @@ JH/24 Bug 3081: Fix a delivery process crash.  When the router "errors_to"
 JH/25 Bug 3079: Fix crash in dbmnz.  When a key was present for zero-length
       data a null pointer was followed.  Find and testcase by Sebastian Bugge.
 
+JH/26 Fix encoding for an AUTH parameter on a MAIL FROM command.  Previously
+      decimal 127 chars were not encoded, and lowercase hex was used for
+      encoded values.  Outstanding since at least 1999.
+
+JH/27 Fix crash in logging.  When a message with a large number of recipients
+      had been received, and logging of recipients is enabled, the buffer used
+      for logging could reach limit.  A read using a null pointer would then
+      be done, resulting in a crash of the receiving process before an SMTP
+      ACK for the message was returned to the sending system.  Duplicate
+      messages were created as a result.
+      Find and debug help by Mateusz Krawczyk
+
+JH/28 Bug 3086: Fix exinext for ipv6.  Change the format of keys in the retry
+      DB, wrapping transport record bare-ip "host names" and ipv6
+      "host addresses" in square-brackets.  This makes the parsing that
+      exinext does more reliable.
+
+JH/29 Bug 3087: Fix SRS encode.  A zero-length quoted element in the local-part
+      would cause a crash.
+
+JH/30 Bug 3029: Avoid feeding Resent-From: to DMARC.
+
+JH/31 Bug 3027: For -bh / -bhc tests change to using the compressed form of
+      ipv6 addresses for the sender.  Previously the uncompressed form was
+      used, and if used in textual form this would result in behavior difference
+      versus non-bh.
+
 
 Exim version 4.97
 -----------------
index fbcb6b1c01eed86a0038887fb358df0ec12ff19c..49f649d7e9b745192ad663aad23a19493e58b9e9 100644 (file)
@@ -294,7 +294,7 @@ if (LOG != NULL)
 
     if ((p = Ustrstr(buffer, "==")) != NULL)
       {
-      queue_item *qq = find_queue(id, queue_noop, 0);
+      queue_item * qq = find_queue(id, queue_noop, 0);
       if (qq)
         {
         dest_item *d;
@@ -302,14 +302,12 @@ if (LOG != NULL)
         p += 2;
         while (isspace(*p)) p++;
         q = p;
-        while (*p != 0 && !isspace(*p))
+        while (*p && !isspace(*p))
           {
           if (*p++ != '\"') continue;
-          while (*p != 0)
-            {
+          while (*p)
             if (*p == '\\') p += 2;
-              else if (*p++ == '\"') break;
-            }
+            else if (*p++ == '\"') break;
           }
         *p++ = 0;
         if ((r = strstric(q, qualify_domain, FALSE)) != NULL &&
index 29441dfc10224788569c5da09d05733d2cd5a61c..d719a937b4187d2f8c63c908fa3ca12dc8bf9fd7 100644 (file)
@@ -1366,7 +1366,7 @@ uschar * target = store_get(TARGET_SIZE, GET_TAINTED);
 client's HELO domain. If the client has not said HELO, use its IP address
 instead. If it's a local client (exim -bs), CSA isn't applicable. */
 
-while (isspace(*domain) && *domain != '\0') ++domain;
+while (isspace(*domain) && *domain) ++domain;
 if (*domain == '\0') domain = sender_helo_name;
 if (!domain) domain = sender_host_address;
 if (!sender_host_address) return CSA_UNKNOWN;
@@ -1867,9 +1867,10 @@ switch(vp->value)
       verify_sender_address = sender_address;
     else
       {
-      while (isspace(*s)) s++;
-      if (*s++ != '=') goto BAD_VERIFY;
-      while (isspace(*s)) s++;
+      if (Uskip_whitespace(&s) != '=')
+       goto BAD_VERIFY;
+      s++;
+      Uskip_whitespace(&s);
       verify_sender_address = string_copy(s);
       }
     }
@@ -1911,13 +1912,13 @@ while ((ss = string_nextinlist(&list, &sep, NULL, 0)))
     callout = CALLOUT_TIMEOUT_DEFAULT;
     if (*(ss += 7))
       {
-      while (isspace(*ss)) ss++;
+      Uskip_whitespace(&ss);
       if (*ss++ == '=')
         {
        const uschar * sublist = ss;
         int optsep = ',';
 
-        while (isspace(*sublist)) sublist++;
+       Uskip_whitespace(&sublist);
         for (uschar * opt; opt = string_nextinlist(&sublist, &optsep, NULL, 0); )
           {
          callout_opt_t * op;
@@ -1931,14 +1932,14 @@ while ((ss = string_nextinlist(&list, &sep, NULL, 0)))
          if (op->has_option)
            {
            opt += Ustrlen(op->name);
-            while (isspace(*opt)) opt++;
+            Uskip_whitespace(&opt);
             if (*opt++ != '=')
               {
               *log_msgptr = string_sprintf("'=' expected after "
                 "\"%s\" in ACL verify condition \"%s\"", op->name, arg);
               return ERROR;
               }
-            while (isspace(*opt)) opt++;
+            Uskip_whitespace(&opt);
            }
          if (op->timeval && (period = v_period(opt, arg, log_msgptr)) < 0)
            return ERROR;
@@ -1981,14 +1982,14 @@ while ((ss = string_nextinlist(&list, &sep, NULL, 0)))
     quota = TRUE;
     if (*(ss += 5))
       {
-      while (isspace(*ss)) ss++;
+      Uskip_whitespace(&ss);
       if (*ss++ == '=')
         {
        const uschar * sublist = ss;
         int optsep = ',';
        int period;
 
-        while (isspace(*sublist)) sublist++;
+        Uskip_whitespace(&sublist);
         for (uschar * opt; opt = string_nextinlist(&sublist, &optsep, NULL, 0); )
          if (Ustrncmp(opt, "cachepos=", 9) == 0)
            if ((period = v_period(opt += 9, arg, log_msgptr)) < 0)
@@ -3892,7 +3893,7 @@ for (; cb; cb = cb->next)
           }
         s++;
         }
-      while (isspace(*s)) s++;
+      Uskip_whitespace(&s);
 
       if (logbits == 0) logbits = LOG_MAIN;
       log_write(0, logbits, "%s", string_printing(s));
@@ -4316,19 +4317,17 @@ if (!s)
 /* At top level, we expand the incoming string. At lower levels, it has already
 been expanded as part of condition processing. */
 
-if (acl_level == 0)
+if (acl_level != 0)
+  ss = s;
+else if (!(ss = expand_string(s)))
   {
-  if (!(ss = expand_string(s)))
-    {
-    if (f.expand_string_forcedfail) return OK;
-    *log_msgptr = string_sprintf("failed to expand ACL string \"%s\": %s", s,
-      expand_string_message);
-    return ERROR;
-    }
+  if (f.expand_string_forcedfail) return OK;
+  *log_msgptr = string_sprintf("failed to expand ACL string \"%s\": %s", s,
+    expand_string_message);
+  return ERROR;
   }
-else ss = s;
 
-while (isspace(*ss)) ss++;
+Uskip_whitespace(&ss);
 
 /* If we can't find a named ACL, the default is to parse it as an inline one.
 (Unless it begins with a slash; non-existent files give rise to an error.) */
@@ -4617,8 +4616,8 @@ if (!(tmp = string_dequote(&s)) || !(name = expand_string(tmp)))
 
 for (i = 0; i < 9; i++)
   {
-  while (*s && isspace(*s)) s++;
-  if (!*s) break;
+  if (!Uskip_whitespace(&s))
+    break;
   if (!(tmp = string_dequote(&s)) || !(tmp_arg[i] = expand_string(tmp)))
     {
     tmp = name;
index 8f00ee498e00f435fd26a1c436d1cf029bcc46ab..5817be7c93667239d18f28112687e0a57e78d25a 100644 (file)
@@ -198,7 +198,7 @@ The former is now the preferred variable; the latter is the original one. Then
 check that the remaining length is 32. */
 
 auth_vars[0] = expand_nstring[1] = clear;
-while (*clear && !isspace(*clear)) clear++;
+Uskip_nonwhite(&clear);
 if (!isspace(*clear)) return FAIL;
 *clear++ = 0;
 
index c082888318899da4598c421a432ce287baeab728..75be18161f6d1685803f51686f29116f8b98c000 100644 (file)
@@ -29,31 +29,14 @@ Returns:      a pointer to the zero-terminated xtext string, which
 uschar *
 auth_xtextencode(uschar *clear, int len)
 {
-uschar *code;
-uschar *p = US clear;
-uschar *pp;
-int c = len;
-int count = 1;
-register int x;
-
-/* We have to do a prepass to find out how many specials there are,
-in order to get the right amount of store. */
-
-while (c -- > 0)
-  count += ((x = *p++) < 33 || x > 127 || x == '+' || x == '=')? 3 : 1;
-
-pp = code = store_get(count, clear);
-
-p = US clear;
-c = len;
-while (c-- > 0)
-  if ((x = *p++) < 33 || x > 127 || x == '+' || x == '=')
-    pp += sprintf(CS pp, "+%.02x", x);   /* There's always room */
-  else
-    *pp++ = x;
-
-*pp = 0;
-return code;
+gstring * g = NULL;
+for(uschar ch; len > 0; len--, clear++)
+  g = (ch = *clear) < 33 || ch > 126 || ch == '+' || ch == '='
+    ? string_fmt_append(g, "+%.02X", ch)
+    : string_catn(g, clear, 1);
+gstring_release_unused(g);
+return string_from_gstring(g);
 }
 
+
 /* End of xtextencode.c */
index 460fd8bb763f2d8f6587bfaa5db59d6a9db96e3d..389d1518ed8a0249d6a3f0f75f8a78c941e64426 100644 (file)
@@ -490,7 +490,7 @@ while (Ufgets(buffer, 256, stdin) != NULL)
     {
     count = Uatoi(cmd);
     while (isdigit((uschar)*cmd)) cmd++;
-    while (isspace((uschar)*cmd)) cmd++;
+    Uskip_whitespace(&cmd);
     }
 
   if (Ustrncmp(cmd, "open", 4) == 0)
@@ -498,7 +498,7 @@ while (Ufgets(buffer, 256, stdin) != NULL)
     int i;
     open_db *odb;
     uschar *s = cmd + 4;
-    while (isspace((uschar)*s)) s++;
+    Uskip_whitespace(&s);
 
     for (i = 0; i < max_db; i++)
       if (dbblock[i].dbptr == NULL) break;
@@ -534,8 +534,7 @@ while (Ufgets(buffer, 256, stdin) != NULL)
   else if (Ustrncmp(cmd, "write", 5) == 0)
     {
     int rc = 0;
-    uschar *key = cmd + 5;
-    uschar *data;
+    uschar * key = cmd + 5, * data;
 
     if (current < 0)
       {
@@ -543,11 +542,11 @@ while (Ufgets(buffer, 256, stdin) != NULL)
       continue;
       }
 
-    while (isspace((uschar)*key)) key++;
+    Uskip_whitespace(&key);
     data = key;
-    while (*data != 0 && !isspace((uschar)*data)) data++;
-    *data++ = 0;
-    while (isspace((uschar)*data)) data++;
+    Uskip_nonwhite(&data);
+    *data++ = '\0';
+    Uskip_whitespace(&data);
 
     dbwait = (dbdata_wait *)(&structbuffer);
     Ustrcpy(dbwait->text, data);
@@ -562,13 +561,13 @@ while (Ufgets(buffer, 256, stdin) != NULL)
 
   else if (Ustrncmp(cmd, "read", 4) == 0)
     {
-    uschar *key = cmd + 4;
+    uschar * key = cmd + 4;
     if (current < 0)
       {
       printf("No current database\n");
       continue;
       }
-    while (isspace((uschar)*key)) key++;
+    Uskip_whitespace(&key);
     start = clock();
     while (count-- > 0)
       dbwait = (dbdata_wait *)dbfn_read_with_length(dbblock+ current, key, NULL);
@@ -578,13 +577,13 @@ while (Ufgets(buffer, 256, stdin) != NULL)
 
   else if (Ustrncmp(cmd, "delete", 6) == 0)
     {
-    uschar *key = cmd + 6;
+    uschar * key = cmd + 6;
     if (current < 0)
       {
       printf("No current database\n");
       continue;
       }
-    while (isspace((uschar)*key)) key++;
+    Uskip_whitespace(&key);
     dbfn_delete(dbblock + current, key);
     }
 
@@ -614,8 +613,8 @@ while (Ufgets(buffer, 256, stdin) != NULL)
 
   else if (Ustrncmp(cmd, "close", 5) == 0)
     {
-    uschar *s = cmd + 5;
-    while (isspace((uschar)*s)) s++;
+    uschar * s = cmd + 5;
+    Uskip_whitespace(&s);
     i = Uatoi(s);
     if (i >= max_db || dbblock[i].dbptr == NULL) printf("Not open\n"); else
       {
@@ -629,8 +628,8 @@ while (Ufgets(buffer, 256, stdin) != NULL)
 
   else if (Ustrncmp(cmd, "file", 4) == 0)
     {
-    uschar *s = cmd + 4;
-    while (isspace((uschar)*s)) s++;
+    uschar * s = cmd + 4;
+    Uskip_whitespace(&s);
     i = Uatoi(s);
     if (i >= max_db || dbblock[i].dbptr == NULL) printf("Not open\n");
       else current = i;
@@ -682,3 +681,5 @@ return 0;
 #endif
 
 /* End of dbfn.c */
+/* vi: aw ai sw=2
+*/
index 70f44535f0a412e6e52d4c6c25be6d37f05340a8..0157743a12f0a0c985fe8fde0c8fb127cb71d598 100644 (file)
@@ -2039,7 +2039,7 @@ static BOOL
 previously_transported(address_item *addr, BOOL testing)
 {
 uschar * s = string_sprintf("%s/%s",
-  addr->unique + (testflag(addr, af_homonym)? 3:0), addr->transport->name);
+  addr->unique + (testflag(addr, af_homonym) ? 3:0), addr->transport->name);
 
 if (tree_search(tree_nonrecipients, s) != 0)
   {
@@ -3142,7 +3142,7 @@ while (addr_local)
     if (result == DEFER || testflag(addr2, af_lt_retry_exists))
       {
       int flags = result == DEFER ? 0 : rf_delete;
-      uschar *retry_key = string_copy(tp->retry_use_local_part
+      uschar * retry_key = string_copy(tp->retry_use_local_part
        ? addr2->address_retry_key : addr2->domain_retry_key);
       *retry_key = 'T';
       retry_add_item(addr2, retry_key, flags);
@@ -7292,7 +7292,7 @@ while (addr_new)           /* Loop until all addresses dealt with */
 
       addr->unique =
         string_sprintf("%s:%s", addr->address, addr->parent->unique +
-          (testflag(addr->parent, af_homonym)? 3:0));
+          (testflag(addr->parent, af_homonym) ? 3:0));
 
       addr->address_retry_key = addr->domain_retry_key =
         string_sprintf("T:%s", addr->unique);
@@ -7729,7 +7729,7 @@ while (addr_new)           /* Loop until all addresses dealt with */
 
     else if (testflag(addr, af_dr_retry_exists))
       {
-      uschar *altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
+      uschar * altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
         sender_address);
       retry_add_item(addr, altkey, rf_delete);
       retry_add_item(addr, addr->address_retry_key, rf_delete);
index 3170bef98cbd5fbed6f6771496f4a6311eecd6e1..040df2cd020aa2cd8b39a226b2ab6a2622e5aa4a 100644 (file)
@@ -2339,9 +2339,9 @@ on the second character (the one after '-'), to save some effort. */
 
        /* -bh: Host checking - an IP address must follow. */
        case 'h':
-         if (!*argrest || Ustrcmp(argrest, "c") == 0)
+         if (  (!*argrest || Ustrcmp(argrest, "c") == 0)
+            && ++i < argc)
            {
-           if (++i >= argc) { badarg = TRUE; break; }
            sender_host_address = string_copy_taint(
                  exim_str_fail_toolong(argv[i], EXIM_IPADDR_MAX, "-bh"),
                  GET_TAINTED);
@@ -2349,7 +2349,8 @@ on the second character (the one after '-'), to save some effort. */
            f.host_checking_callout = *argrest == 'c';
            message_logs = FALSE;
            }
-         else badarg = TRUE;
+         else
+           badarg = TRUE;
          break;
 
        /* -bi: This option is used by sendmail to initialize *the* alias file,
@@ -2632,14 +2633,11 @@ on the second character (the one after '-'), to save some effort. */
               reset_point = store_mark();
               while (Ufgets(big_buffer, big_buffer_size, trust_list))
                 {
-                uschar *start = big_buffer, *nl;
-                while (*start && isspace(*start))
-                start++;
-                if (*start != '/')
+                uschar * start = big_buffer, * nl;
+                if (Uskip_whitespace(&start) != '/')
                   continue;
-                nl = Ustrchr(start, '\n');
-                if (nl)
-                  *nl = 0;
+                if ((nl = Ustrchr(start, '\n')))
+                  *nl = '\0';
                 trusted_configs[nr_configs++] = string_copy(start);
                 if (nr_configs == nelem(trusted_configs))
                   break;
@@ -2698,7 +2696,7 @@ on the second character (the one after '-'), to save some effort. */
       const uschar * s = argrest;
 
       opt_D_used = TRUE;
-      while (isspace(*s)) s++;
+      Uskip_whitespace(&s);
 
       if (*s < 'A' || *s > 'Z')
         exim_fail("exim: macro name set by -D must start with "
@@ -2711,11 +2709,10 @@ on the second character (the one after '-'), to save some effort. */
         }
       name[ptr] = 0;
       if (ptr == 0) { badarg = TRUE; break; }
-      while (isspace(*s)) s++;
-      if (*s != 0)
+      if (Uskip_whitespace(&s))
         {
         if (*s++ != '=') { badarg = TRUE; break; }
-        while (isspace(*s)) s++;
+        Uskip_whitespace(&s);
         }
 
       for (m = macros_user; m; m = m->next)
@@ -5447,11 +5444,14 @@ if (host_checking)
     }
 
   /* In case the given address is a non-canonical IPv6 address, canonicalize
-  it. The code works for both IPv4 and IPv6, as it happens. */
+  it. Use the compressed form for IPv6. */
 
   size = host_aton(sender_host_address, x);
   sender_host_address = store_get(48, GET_UNTAINTED);  /* large enough for full IPv6 */
-  (void)host_nmtoa(size, x, -1, sender_host_address, ':');
+  if (size == 1)
+    (void) host_nmtoa(size, x, -1, sender_host_address, ':');
+  else
+    (void) ipv6_nmtoa(x, sender_host_address);
 
   /* Now set up for testing */
 
@@ -5918,7 +5918,7 @@ for (BOOL more = TRUE; more; )
         receive_add_recipient(string_copy_taint(recipient, GET_TAINTED), -1);
         s = ss;
         if (!finished)
-          while (*(++s) != 0 && (*s == ',' || isspace(*s)));
+          while (*++s && (*s == ',' || isspace(*s)));
         }
       }
 
@@ -6193,3 +6193,5 @@ return 0;                  /* To stop compiler warning */
 
 
 /* End of exim.c */
+/* vi: aw ai sw=2
+*/
index 9f5f2f042bc77b4e15aa9b13cdbaf477de25ccf0..bd24faa5b9d4e9e721fa35061e9d1bd3f5bfdc4c 100644 (file)
@@ -379,7 +379,7 @@ while (Ufgets(line, max_insize, f) != NULL)
     else
       {
       keystart = s;
-      while (*s != 0 && *s != ':' && !isspace(*s)) s++;
+      while (*s && *s != ':' && !isspace(*s)) s++;
       exim_datum_size_set(&key, s - keystart + add_zero);
       }
 
@@ -401,11 +401,11 @@ while (Ufgets(line, max_insize, f) != NULL)
     keybuffer[i] = 0;
     started = 1;
 
-    while (isspace(*s))s++;
+    while (isspace(*s)) s++;
     if (*s == ':')
       {
       s++;
-      while (isspace(*s))s++;
+      while (isspace(*s)) s++;
       }
     if (*s != 0)
       {
index 4d213773bf9203ac9b8554bbb3e8414193a37c8d..c868832b1ad3b233f575f6d5416823c36ba2d243 100644 (file)
@@ -628,7 +628,7 @@ for (uschar * key = dbfn_scan(dbm, TRUE, &cursor);
          print_time(retry->first_failed));
        printf("%s  ", print_time(retry->last_try));
        printf("%s %s\n", print_time(retry->next_try),
-         (retry->expired)? "*" : "");
+         retry->expired ? "*" : "");
        break;
 
       case type_wait:
index 882ad5f6076ed1d7ec7cd6a7268b13cc06fcbe7f..5724812c4c0870147e3ef0b04504f90baaf362b3 100644 (file)
@@ -195,45 +195,18 @@ perl - $exim_path "$eximmacdef" $argone $spool_directory $qualify_domain $config
         $printed = 1;
         if (/^\s*T:[^:\s]*:/)
           {
+         # We rely on non-space-containing strings, for parsing
+
           ($key,$error,$error2,$text) = /^\s*T:(\S+)\s+(\S+)\s+(\S+)\s*(.*)$/;
 
-          # Parsing the keys is a nightmare because of IPv6. The design of the
-          # format for the keys is a complete shambles. All my fault (PH). But
-          # I don't want to change it just for this purpose. If they key
-          # contains more than 3 colons, we have an IPv6 address, because
-          # an IPv6 address must contain at least two colons.
-
-          # Deal with IPv4 addresses (3 colons or fewer)
-
-          if ($key !~ /:([^:]*?:){3}/)
-            {
-            ($host,$ip,$port,$msgid) = $key =~
-              /^([^:]*):([^:]*)(?::([^:]*)(?::(\S*)|)|)/;
-            }
-
-          # Deal with IPv6 addresses; sorting out the colons is a complete
-          # mess. We should be able to find the host name and IP address from
-          # further in the message. That seems the easiest escape plan here. We
-          # can use those to match the rest of the key.
-
-          else
-            {
-            ($host,$ip) = $text =~ /host\s(\S+)\s\[([^]]+)\]/;
-            if (defined $host)
-              {
-              ($port,$msgid) = $key =~
-                /^$host:$ip(?::([^:]*)(?::(\S*)|)|)/;
-              }
-
-           # This will probably be wrong...
-
-           else
-             {
-             ($host,$ip) = $key =~ /([^:]*):(.*)/;
-             }
-            }
-
-          printf("Transport: %s [%s]", $host, $ip);
+         ($host,$ip,$port,$msgid) = $key =~
+           /^([^:[]*|\[[^]]*\])        # host (could be an ip)
+             :([^:[]*|\[[^]]*\])       # ip
+             (?::(\d{1,5}))?           # maybe port
+             (?::(\S{23}))?            # maybe msgid
+             $/x;
+
+          printf("Transport: %s %s", $host, $ip);
           print ":$port" if defined $port;
           print " $msgid" if defined $msgid;
           print " error $error: $text\n";
index a916eee64175707951c8dbf66a07e3012b011165..1d121756da4db75df3a8e4f9b1873d11576d46ed 100644 (file)
@@ -1262,7 +1262,8 @@ while (*s)
 
   while (*s && *s != '=' && !isspace(*s)) s++;
   dkeylength = s - dkey;
-  if (Uskip_whitespace(&s) == '=') while (isspace(*++s));
+  if (Uskip_whitespace(&s) == '=')
+    while (isspace(*++s)) ;
 
   data = string_dequote(&s);
   if (length == dkeylength && strncmpic(key, dkey, length) == 0)
@@ -4114,7 +4115,7 @@ if (!*error)
     if (*s != ')')
       *error = US"expecting closing parenthesis";
     else
-      while (isspace(*++s));
+      while (isspace(*++s)) ;
   else if (*s)
     *error = US"expecting operator";
 *sptr = s;
@@ -7116,7 +7117,7 @@ while (*s)
            gstring_release_unused(h);
            s = string_from_gstring(h);
            }
-         g = string_cat(g, s);
+         if (s) g = string_cat(g, s);
          }
 
        /* Assume that if the original local_part had quotes
index b56b593b85656cf8df721772a961198f71bf3acd..18567f17c32d43f9fa0df4e8c0b07636881a4b22 100644 (file)
@@ -276,16 +276,11 @@ nextsigchar(const uschar *ptr, BOOL comment_allowed)
 for (;;)
   {
   while (isspace(*ptr))
-    {
-    if (*ptr == '\n') line_number++;
-    ptr++;
-    }
+    if (*ptr++ == '\n') line_number++;
   if (comment_allowed && *ptr == '#')
-    {
-    while (*(++ptr) != '\n' && *ptr != 0);
-    continue;
-    }
-  else break;
+    while (*++ptr != '\n' && *ptr) ;
+  else
+    break;
   }
 return ptr;
 }
@@ -311,18 +306,19 @@ Returns:    pointer to the next significant character after the word
 static const uschar *
 nextword(const uschar *ptr, uschar *buffer, int size, BOOL bracket)
 {
-uschar *bp = buffer;
-while (*ptr != 0 && !isspace(*ptr) &&
+uschar * bp = buffer;
+while (*ptr && !isspace(*ptr) &&
        (!bracket || (*ptr != '(' && *ptr != ')')))
-  {
-  if (bp - buffer < size - 1) *bp++ = *ptr++; else
+  if (bp - buffer < size - 1)
+    *bp++ = *ptr++;
+  else
     {
     *error_pointer = string_sprintf("word is too long in line %d of "
       "filter file (max = %d chars)", line_number, size);
     break;
     }
-  }
-*bp = 0;
+
+*bp = '\0';
 return nextsigchar(ptr, TRUE);
 }
 
@@ -410,8 +406,8 @@ int value, count;
 if (sscanf(CS s, "%i%n", &value, &count) != 1) return 0;
 if (tolower(s[count]) == 'k') { value *= 1024; count++; }
 if (tolower(s[count]) == 'm') { value *= 1024*1024; count++; }
-while (isspace((s[count]))) count++;
-if (s[count] != 0) return 0;
+while (isspace(s[count])) count++;
+if (s[count]) return 0;
 *ok = TRUE;
 return value;
 }
@@ -2006,8 +2002,7 @@ while (commands)
 
        if (subtype == TRUE)
          {
-         while (isspace(*s)) s++;
-         if (*s)
+         if (Uskip_whitespace(&s))
            {
            header_add(htype_other, "%s%s", s,
              s[Ustrlen(s)-1] == '\n' ? "" : "\n");
@@ -2226,7 +2221,7 @@ while (commands)
          gstring * log_addr = NULL;
 
          if (!to) to = expand_string(US"$reply_address");
-         while (isspace(*to)) to++;
+         Uskip_whitespace(&to);
 
          for (tt = to; *tt; tt++)     /* Get rid of newlines */
            if (*tt == '\n')
@@ -2298,7 +2293,7 @@ while (commands)
            /* Move on past this address */
 
            tt = ss + (*ss ? 1 : 0);
-           while (isspace(*tt)) tt++;
+           Uskip_whitespace(&tt);
            }
 
          if (log_addr)
@@ -2612,3 +2607,5 @@ return yield;
 
 
 /* End of filter.c */
+/* vi: aw ai sw=2
+*/
index 0e657d7c4d784672616ce2f5cc692042172ef239..f0b600ccc80bc11edbaa54a05b8cc0dd67fd7a8c 100644 (file)
@@ -311,7 +311,7 @@ extern BOOL    host_is_tls_on_connect_port(int);
 extern int     host_item_get_port(host_item *);
 extern void    host_mask(int, int *, int);
 extern int     host_name_lookup(void);
-extern int     host_nmtoa(int, int *, int, uschar *, int);
+extern int     host_nmtoa(int, const int *, int, uschar *, int);
 extern uschar *host_ntoa(int, const void *, uschar *, int *);
 extern int     host_scan_for_local_hosts(host_item *, host_item **, BOOL *);
 
@@ -454,11 +454,14 @@ extern BOOL    regex_match_and_setup(const pcre2_code *, const uschar *, int, in
 extern const pcre2_code *regex_compile(const uschar *, mcs_flags, uschar **,
                pcre2_compile_context *);
 extern const pcre2_code *regex_must_compile(const uschar *, mcs_flags, BOOL);
-extern void    retry_add_item(address_item *, uschar *, int);
+
+extern void    retry_add_item(address_item *, const uschar *, int);
 extern BOOL    retry_check_address(const uschar *, host_item *, uschar *, BOOL,
-                 uschar **, uschar **);
+                 const uschar **, const uschar **);
 extern retry_config *retry_find_config(const uschar *, const uschar *, int, int);
-extern BOOL    retry_ultimate_address_timeout(uschar *, const uschar *,
+extern const uschar *retry_host_key_build(const host_item *, BOOL,
+                 const uschar *);
+extern BOOL    retry_ultimate_address_timeout(const uschar *, const uschar *,
                  dbdata_retry *, time_t);
 extern void    retry_update(address_item **, address_item **, address_item **);
 extern const uschar *rewrite_address(const uschar *, BOOL, BOOL, rewrite_rule *, int);
@@ -567,7 +570,6 @@ extern gstring *string_append_listele_n(gstring *, uschar, const uschar *, unsig
 extern gstring *string_append2_listele_n(gstring *, const uschar *, const uschar *, unsigned) WARN_UNUSED_RESULT;
 extern uschar *string_base62_32(unsigned long int);
 extern uschar *string_base62_64(unsigned long int);
-extern gstring *string_cat (gstring *, const uschar *     ) WARN_UNUSED_RESULT;
 extern gstring *string_catn(gstring *, const uschar *, int) WARN_UNUSED_RESULT;
 extern int     string_compare_by_pointer(const void *, const void *);
 extern uschar *string_copy_dnsdomain(uschar *);
@@ -767,6 +769,12 @@ Return the next char as there's enough places using it to be useful. */
 static inline uschar skip_whitespace(const uschar ** sp)
 { while (isspace(**sp)) (*sp)++; return **sp; }
 
+/* Ditto, non-whitespace */
+
+#define Uskip_nonwhite(sp) skip_nonwhite(CUSS sp)
+static inline uschar skip_nonwhite(const uschar ** sp)
+{ while (**sp && !isspace(**sp)) (*sp)++; return **sp; }
+
 
 /******************************************************************************/
 
@@ -1044,6 +1052,18 @@ if (g) store_release_above_3(g->s + (g->size = g->ptr + 1), file, line);
 }
 
 
+/* plain string append to a growable-string */
+
+static inline gstring * string_cat(gstring * g, const uschar * s)
+ WARN_UNUSED_RESULT;
+
+static inline gstring *
+string_cat(gstring * g, const uschar * s)
+{
+return string_catn(g, s, Ustrlen(s));
+}
+
+
 /* sprintf-append to a growable-string */
 
 #define string_fmt_append(g, fmt, ...) \
@@ -1079,6 +1099,7 @@ g->s = s;
 }
 
 /* Append one gstring to another */
+
 static inline gstring *
 gstring_append(gstring * dest, gstring * item)
 {
index 4af8668f0c03a42f8324f20fab83b7e5f1293b4e..2885caa2309973f79e500ff926ba4dad70a91c49 100644 (file)
@@ -387,7 +387,7 @@ BOOL    mua_wrapper            = FALSE;
 BOOL    preserve_message_logs  = FALSE;
 BOOL    print_topbitchars      = FALSE;
 BOOL    prod_requires_admin    = TRUE;
-#if defined(SUPPORT_PROXY) || defined(SUPPORT_SOCKS) || defined(EXPERIMETAL_XCLIENT)
+#if defined(SUPPORT_PROXY) || defined(SUPPORT_SOCKS) || defined(EXPERIMENTAL_XCLIENT)
 BOOL    proxy_session          = FALSE;
 #endif
 
@@ -467,6 +467,9 @@ uschar *acl_smtp_quit          = NULL;
 uschar *acl_smtp_rcpt          = NULL;
 uschar *acl_smtp_starttls      = NULL;
 uschar *acl_smtp_vrfy          = NULL;
+#ifdef EXPERIMENTAL_WELLKNOWN
+uschar *acl_smtp_wellknown     = NULL;
+#endif
 
 tree_node *acl_var_c           = NULL;
 tree_node *acl_var_m           = NULL;
@@ -474,56 +477,49 @@ uschar *acl_verify_message     = NULL;
 string_item *acl_warn_logged   = NULL;
 
 /* Names of SMTP places for use in ACL error messages, and corresponding SMTP
-error codes - keep in step with definitions of ACL_WHERE_xxxx in macros.h. */
-
-uschar *acl_wherenames[]       = { US"RCPT",
-                                   US"MAIL",
-                                   US"PREDATA",
-                                   US"MIME",
-                                   US"DKIM",
-                                   US"DATA",
+error codes (only those used) */
+
+uschar *acl_wherenames[]       = { [ACL_WHERE_RCPT] =          US"RCPT",
+                                   [ACL_WHERE_MAIL] =          US"MAIL",
+                                   [ACL_WHERE_PREDATA] =       US"PREDATA",
+                                   [ACL_WHERE_MIME] =          US"MIME",
+                                   [ACL_WHERE_DKIM] =          US"DKIM",
+                                   [ACL_WHERE_DATA] =          US"DATA",
 #ifndef DISABLE_PRDR
-                                   US"PRDR",
-#endif
-                                   US"non-SMTP",
-                                   US"AUTH",
-                                   US"connection",
-                                   US"ETRN",
-                                   US"EXPN",
-                                   US"EHLO or HELO",
-                                   US"MAILAUTH",
-                                   US"non-SMTP-start",
-                                   US"NOTQUIT",
-                                   US"QUIT",
-                                   US"STARTTLS",
-                                   US"VRFY",
-                                  US"delivery",
-                                  US"unknown"
+                                   [ACL_WHERE_PRDR] =          US"PRDR",
+#endif
+                                   [ACL_WHERE_NOTSMTP] =       US"non-SMTP",
+                                   [ACL_WHERE_AUTH] =          US"AUTH",
+                                   [ACL_WHERE_CONNECT] =       US"connection",
+                                   [ACL_WHERE_ETRN] =          US"ETRN",
+                                   [ACL_WHERE_EXPN] =          US"EXPN",
+                                   [ACL_WHERE_HELO] =          US"EHLO or HELO",
+                                   [ACL_WHERE_MAILAUTH] =      US"MAILAUTH",
+                                   [ACL_WHERE_NOTSMTP_START] = US"non-SMTP-start",
+                                   [ACL_WHERE_NOTQUIT] =       US"NOTQUIT",
+                                   [ACL_WHERE_QUIT] =          US"QUIT",
+                                   [ACL_WHERE_STARTTLS] =      US"STARTTLS",
+                                   [ACL_WHERE_VRFY] =          US"VRFY",
+                                  [ACL_WHERE_DELIVERY] =       US"delivery",
+                                  [ACL_WHERE_UNKNOWN] =        US"unknown"
                                  };
 
-uschar *acl_wherecodes[]       = { US"550",     /* RCPT */
-                                   US"550",     /* MAIL */
-                                   US"550",     /* PREDATA */
-                                   US"550",     /* MIME */
-                                   US"550",     /* DKIM */
-                                   US"550",     /* DATA */
+uschar *acl_wherecodes[]       = { [ACL_WHERE_RCPT] =  US"550",
+                                   [ACL_WHERE_MAIL] =  US"550",
+                                   [ACL_WHERE_PREDATA] = US"550",
+                                   [ACL_WHERE_MIME] =  US"550",
+                                   [ACL_WHERE_DKIM] =  US"550",
+                                   [ACL_WHERE_DATA] =  US"550",
 #ifndef DISABLE_PRDR
-                                   US"550",    /* RCPT PRDR */
-#endif
-                                   US"0",       /* not SMTP; not relevant */
-                                   US"503",     /* AUTH */
-                                   US"550",     /* connect */
-                                   US"458",     /* ETRN */
-                                   US"550",     /* EXPN */
-                                   US"550",     /* HELO/EHLO */
-                                   US"0",       /* MAILAUTH; not relevant */
-                                   US"0",       /* not SMTP; not relevant */
-                                   US"0",       /* NOTQUIT; not relevant */
-                                   US"0",       /* QUIT; not relevant */
-                                   US"550",     /* STARTTLS */
-                                   US"252",     /* VRFY */
-                                  US"0",       /* delivery; not relevant */
-                                  US"0"        /* unknown; not relevant */
+                                   [ACL_WHERE_PRDR] =  US"550",
+#endif
+                                   [ACL_WHERE_AUTH] =  US"503",
+                                   [ACL_WHERE_CONNECT] = US"550",
+                                   [ACL_WHERE_ETRN] =  US"458",
+                                   [ACL_WHERE_EXPN] =  US"550",
+                                   [ACL_WHERE_HELO] =  US"550",
+                                   [ACL_WHERE_STARTTLS] = US"550",
+                                   [ACL_WHERE_VRFY] =  US"252",
                                  };
 
 uschar *add_environment        = NULL;
@@ -1003,6 +999,9 @@ uschar *hosts_proxy            = NULL;
 #endif
 uschar *hosts_treat_as_local   = NULL;
 uschar *hosts_require_helo     = US"*";
+#ifdef EXPERIMENTAL_WELLKNOWN
+uschar *hosts_wellknown               = NULL;
+#endif
 #ifdef EXPERIMENTAL_XCLIENT
 uschar *hosts_xclient         = NULL;
 #endif
@@ -1671,3 +1670,5 @@ const uschar *warnmsg_delay    = NULL;
 const uschar *warnmsg_recipients = NULL;
 
 /*  End of globals.c */
+/* vi: aw ai sw=2
+*/
index 08e946548c10d1f00161f8a79c16f4965441bb60..381f2a5fc99c9b4bf11118525a81e5cd233e73fe 100644 (file)
@@ -1061,19 +1061,15 @@ Returns:      the number of characters placed in buffer, not counting
 */
 
 int
-host_nmtoa(int count, int *binary, int mask, uschar *buffer, int sep)
+host_nmtoa(int count, const int * binary, int mask, uschar * buffer, int sep)
 {
-int j;
-uschar *tt = buffer;
+uschar * tt = buffer;
 
 if (count == 1)
-  {
-  j = binary[0];
-  for (int i = 24; i >= 0; i -= 8)
+  for (int j = binary[0], i = 24; i >= 0; i -= 8)
     tt += sprintf(CS tt, "%d.", (j >> i) & 255);
-  }
 else
-  for (int i = 0; i < 4; i++)
+  for (int j, i = 0; i < 4; i++)
     {
     j = binary[i];
     tt += sprintf(CS tt, "%04x%c%04x%c", (j >> 16) & 0xffff, sep, j & 0xffff, sep);
index f85823520a50f73f4d075237bc41413455ba9970..1a77f2cdbb5d7081f5bd1ba619426535518d84b4 100644 (file)
@@ -601,6 +601,22 @@ if (type == lt_debug) unlink(CS debuglog_name);
 
 
 
+/* Append to a gstring, in no-extend (or rebuffer) mode
+and without taint-checking.  Thanks to the no-extend, the
+gstring struct never needs reallocation; we ignore the
+infore that the initial space allocation for the string
+was exceeded, and just leave it potentially truncated. */
+
+static void
+string_fmt_append_noextend(gstring * g, char * fmt, ...)
+{
+va_list ap;
+va_start(ap, fmt);
+/* can return NULL if it truncates; just ignore */
+(void) string_vformat(g, SVFMT_TAINT_NOCHK, fmt, ap);
+va_end(ap);
+}
+
 /*************************************************
 *     Add configuration file info to log line    *
 *************************************************/
@@ -609,24 +625,28 @@ if (type == lt_debug) unlink(CS debuglog_name);
 once for real).
 
 Arguments:
-  ptr         pointer to the end of the line we are building
-  flags       log flags
+  g            extensible-string referring to static buffer,
+               usable after return
+  flags                log flags
 
-Returns:      updated pointer
+Returns:      nothing
 */
 
-static gstring *
+static void
 log_config_info(gstring * g, int flags)
 {
-g = string_cat(g, US"Exim configuration error");
+string_fmt_append_noextend(g, "Exim configuration error");
 
 if (flags & (LOG_CONFIG_FOR & ~LOG_CONFIG))
-  return string_cat(g, US" for ");
-
-if (flags & (LOG_CONFIG_IN & ~LOG_CONFIG))
-  g = string_fmt_append(g, " in line %d of %s", config_lineno, config_filename);
+  string_fmt_append_noextend(g, " for ");
+else
+  {
+  if (flags & (LOG_CONFIG_IN & ~LOG_CONFIG))
+    string_fmt_append_noextend(g, " in line %d of %s",
+                                 config_lineno, config_filename);
 
-return string_catn(g, US":\n  ", 4);
+  string_fmt_append_noextend(g, ":\n  ");
+  }
 }
 
 
@@ -813,7 +833,7 @@ log_write(unsigned int selector, int flags, const char *format, ...)
 int paniclogfd;
 ssize_t written_len;
 gstring gs = { .size = LOG_BUFFER_SIZE-2, .ptr = 0, .s = log_buffer };
-gstring * g;
+gstring * g = &gs;
 va_list ap;
 
 /* If panic_recurseflag is set, we have failed to open the panic log. This is
@@ -823,7 +843,7 @@ original log line that caused the problem. Afterwards, expire. */
 
 if (panic_recurseflag)
   {
-  uschar *extra = panic_save_buffer ? panic_save_buffer : US"";
+  uschar * extra = panic_save_buffer ? panic_save_buffer : US"";
   if (debug_file) debug_printf("%s%s", extra, log_buffer);
   if (log_stderr && log_stderr != debug_file)
     fprintf(log_stderr, "%s%s", extra, log_buffer);
@@ -924,45 +944,43 @@ in one go so that it doesn't get split when multi-processing. */
 
 DEBUG(D_any|D_v)
   {
-  int i;
-
-  g = string_catn(&gs, US"LOG:", 4);
+  string_fmt_append_noextend(g, "LOG:");
 
   /* Show the selector that was passed into the call. */
 
-  for (i = 0; i < log_options_count; i++)
+  for (int i = 0; i < log_options_count; i++)
     {
     unsigned int bitnum = log_options[i].bit;
     if (bitnum < BITWORDSIZE && selector == BIT(bitnum))
-      g = string_fmt_append(g, " %s", log_options[i].name);
+      string_fmt_append_noextend(g, " %s", log_options[i].name);
     }
 
-  g = string_fmt_append(g, "%s%s%s%s\n  ",
+  string_fmt_append_noextend(g, "%s%s%s%s\n  ",
     flags & LOG_MAIN ?    " MAIN"   : "",
     flags & LOG_PANIC ?   " PANIC"  : "",
     (flags & LOG_PANIC_DIE) == LOG_PANIC_DIE ? " DIE" : "",
     flags & LOG_REJECT ?  " REJECT" : "");
 
-  if (flags & LOG_CONFIG) g = log_config_info(g, flags);
+  if (flags & LOG_CONFIG) log_config_info(g, flags);
 
   /* We want to be able to log tainted info, but log_buffer is directly
   malloc'd.  So use deliberately taint-nonchecking routines to build into
   it, trusting that we will never expand the results. */
 
   va_start(ap, format);
-  i = g->ptr;
   if (!string_vformat(g, SVFMT_TAINT_NOCHK, format, ap))
     {
-    g->ptr = i;
-    g = string_cat(g, US"**** log string overflowed log buffer ****");
+    uschar * s = US"**** log string overflowed log buffer ****";
+    gstring_trim(g, Ustrlen(s));
+    string_fmt_append_noextend(g, "%s", s);
     }
   va_end(ap);
 
   debug_printf("%Y\n", g);
 
-  gs.size = LOG_BUFFER_SIZE-2; /* Having used the buffer for debug output, */
-  gs.ptr = 0;                  /* reset it for the real use. */
-  gs.s = log_buffer;
+  /* Having used the buffer for debug output, reset it for the real use. */
+
+  gstring_reset(g);
   }
 /* If no log file is specified, we are in a mess. */
 
@@ -986,33 +1004,32 @@ if (!write_rejectlog) flags &= ~LOG_REJECT;
 /* Create the main message in the log buffer. Do not include the message id
 when called by a utility. */
 
-g = string_fmt_append(&gs, "%s ", tod_stamp(tod_log));
+string_fmt_append_noextend(&gs, "%s ", tod_stamp(tod_log));
 
 if (LOGGING(pid))
   {
   if (!syslog_pid) pid_position[0] = g->ptr;           /* remember begin â€¦ */
-  g = string_fmt_append(g, "[%d] ", (int)getpid());
+  string_fmt_append_noextend(g, "[%ld] ", (long)getpid());
   if (!syslog_pid) pid_position[1] = g->ptr;           /*  â€¦ and end+1 of the PID */
   }
 
 if (f.really_exim && message_id[0])
-  g = string_fmt_append(g, "%s ", message_id);
+  string_fmt_append_noextend(g, "%s ", message_id);
 
 if (flags & LOG_CONFIG)
-  g = log_config_info(g, flags);
+  log_config_info(g, flags);
 
 va_start(ap, format);
   {
-  int i = g->ptr;
-
   /* We want to be able to log tainted info, but log_buffer is directly
   malloc'd.  So use deliberately taint-nonchecking routines to build into
   it, trusting that we will never expand the results. */
 
   if (!string_vformat(g, SVFMT_TAINT_NOCHK, format, ap))
     {
-    g->ptr = i;
-    g = string_cat(g, US"**** log string overflowed log buffer ****\n");
+    uschar * s = US"**** log string overflowed log buffer ****\n";
+    gstring_trim(g, Ustrlen(s));
+    string_fmt_append_noextend(g, "%s", s);
     }
   }
 va_end(ap);
@@ -1020,30 +1037,29 @@ va_end(ap);
 /* Add the raw, unrewritten, sender to the message if required. This is done
 this way because it kind of fits with LOG_RECIPIENTS. */
 
-if (   flags & LOG_SENDER
-   && g->ptr < LOG_BUFFER_SIZE - 10 - Ustrlen(raw_sender))
-  g = string_fmt_append_f(g, SVFMT_TAINT_NOCHK, " from <%s>", raw_sender);
+if (flags & LOG_SENDER)
+  string_fmt_append_noextend(g, " from <%s>", raw_sender);
 
 /* Add list of recipients to the message if required; the raw list,
 before rewriting, was saved in raw_recipients. There may be none, if an ACL
 discarded them all. */
 
-if (  flags & LOG_RECIPIENTS
-   && g->ptr < LOG_BUFFER_SIZE - 6
-   && raw_recipients_count > 0)
+if (flags & LOG_RECIPIENTS && raw_recipients_count > 0)
   {
-  g = string_fmt_append_f(g, SVFMT_TAINT_NOCHK, " for", NULL);
+  string_fmt_append_noextend(g, " for");
   for (int i = 0; i < raw_recipients_count; i++)
-    {
-    const uschar * s = raw_recipients[i];
-    if (LOG_BUFFER_SIZE - g->ptr < Ustrlen(s) + 3) break;
-    g = string_fmt_append_f(g, SVFMT_TAINT_NOCHK, " %s", s);
+    if (!string_fmt_append_f(g, SVFMT_TAINT_NOCHK, " %s", raw_recipients[i]))
+      {
+    uschar * s = US"<trunc>";
+    gstring_trim(g, Ustrlen(s));
+    string_fmt_append_noextend(g, "%s", s);
+    break;
     }
   }
 
 /* actual size, now we are placing the newline (and space for NUL) */
 gs.size = LOG_BUFFER_SIZE;
-g = string_catn(g, US"\n", 1);
+string_fmt_append_noextend(g, "\n");
 string_from_gstring(g);
 
 /* Handle loggable errors when running a utility, or when address testing.
@@ -1117,8 +1133,7 @@ if (  flags & LOG_MAIN
 
     /* Failing to write to the log is disastrous */
 
-    written_len = write_gstring_to_fd_buf(mainlogfd, g);
-    if (written_len != g->ptr)
+    if ((written_len = write_gstring_to_fd_buf(mainlogfd, g)) != g->ptr)
       {
       log_write_failed(US"main log", g->ptr, written_len);
       /* That function does not return */
@@ -1135,53 +1150,39 @@ if (flags & LOG_REJECT)
   {
   if (header_list && LOGGING(rejected_header))
     {
-    gstring * g2;
     int i;
 
     if (recipients_count > 0)
       {
       /* List the sender */
 
-      g2 = string_fmt_append_f(g, SVFMT_TAINT_NOCHK,
+      string_fmt_append_noextend(g,
                        "Envelope-from: <%s>\n", sender_address);
-      if (g2) g = g2;
 
       /* List up to 5 recipients */
 
-      g2 = string_fmt_append_f(g, SVFMT_TAINT_NOCHK,
+      string_fmt_append_noextend(g,
                        "Envelope-to: <%s>\n", recipients_list[0].address);
-      if (g2) g = g2;
 
       for (i = 1; i < recipients_count && i < 5; i++)
-        {
-        g2 = string_fmt_append_f(g, SVFMT_TAINT_NOCHK,
+        string_fmt_append_noextend(g,
                        "    <%s>\n", recipients_list[i].address);
-       if (g2) g = g2;
-        }
 
       if (i < recipients_count)
-        {
-        g2 = string_fmt_append_f(g, SVFMT_TAINT_NOCHK, "    ...\n", NULL);
-       if (g2) g = g2;
-        }
+        string_fmt_append_noextend(g, "    ...\n", NULL);
       }
 
-    /* A header with a NULL text is an unfilled in Received: header */
+    /* A header with a NULL text is an unfilled-in Received: header */
 
     for (header_line * h = header_list; h; h = h->next) if (h->text)
-      {
-      g2 = string_fmt_append_f(g, SVFMT_TAINT_NOCHK,
-                       "%c %s", h->type, h->text);
-      if (g2)
-       g = g2;
-      else             /* Buffer is full; truncate */
-        {
-       gstring_trim(g, 100);        /* For message and separator */
+      if (!string_fmt_append_f(g, SVFMT_TAINT_NOCHK,
+                       "%c %s", h->type, h->text))
+        {                              /* Buffer is full; truncate */
+       gstring_trim(g, 100);           /* space for message and separator */
        gstring_trim_trailing(g, '\n');
-        g = string_cat(g, US"\n*** truncated ***\n");
+        string_fmt_append_noextend(g, "\n*** truncated ***\n");
         break;
         }
-      }
     }
 
   /* Write to syslog or to a log file */
@@ -1232,8 +1233,7 @@ if (flags & LOG_REJECT)
       if (fstat(rejectlogfd, &statbuf) >= 0) rejectlog_inode = statbuf.st_ino;
       }
 
-    written_len = write_gstring_to_fd_buf(rejectlogfd, g);
-    if (written_len != g->ptr)
+    if ((written_len = write_gstring_to_fd_buf(rejectlogfd, g)) != g->ptr)
       {
       log_write_failed(US"reject log", g->ptr, written_len);
       /* That function does not return */
@@ -1267,8 +1267,7 @@ if (flags & LOG_PANIC)
     if (panic_save_buffer)
       (void) write(paniclogfd, panic_save_buffer, Ustrlen(panic_save_buffer));
 
-    written_len = write_gstring_to_fd_buf(paniclogfd, g);
-    if (written_len != g->ptr)
+    if ((written_len = write_gstring_to_fd_buf(paniclogfd, g)) != g->ptr)
       {
       int save_errno = errno;
       write_syslog(LOG_CRIT, log_buffer);
@@ -1562,3 +1561,5 @@ if (kill) unlink_log(lt_debug);
 
 
 /* End of log.c */
+/* vi: sw ai sw=2
+*/
index 050baa3b7b015118734c7a11abf69f8a8bfadaa0..af1ad9dab5ee2604a9fe756dae2f021b179fb020 100644 (file)
@@ -154,8 +154,7 @@ gstring * yield = string_get(256);
 /* If the string starts with '>' we change the output separator.
 If it's followed by ';' or ',' we set the TXT output separator. */
 
-while (isspace(*keystring)) keystring++;
-if (*keystring == '>')
+if (Uskip_whitespace(&keystring) == '>')
   {
   outsep = keystring + 1;
   keystring += 2;
@@ -169,7 +168,7 @@ if (*keystring == '>')
     outsep2 = US"";
     keystring++;
     }
-  while (isspace(*keystring)) keystring++;
+  Uskip_whitespace(&keystring);
   }
 
 /* Check for a modifier keyword. */
@@ -234,14 +233,14 @@ for (;;)
   else
     break;
 
-  while (isspace(*keystring)) keystring++;
+  Uskip_whitespace(&keystring);
   if (*keystring++ != ',')
     {
     *errmsg = US"dnsdb modifier syntax error";
     rc = DEFER;
     goto out;
     }
-  while (isspace(*keystring)) keystring++;
+  Uskip_whitespace(&keystring);
   }
 
 /* Figure out the "type" value if it is not T_TXT.
@@ -272,7 +271,7 @@ if ((equals = Ustrchr(keystring, '=')) != NULL)
     }
 
   keystring = equals + 1;
-  while (isspace(*keystring)) keystring++;
+  Uskip_whitespace(&keystring);
   }
 
 /* Initialize the resolver in case this is the first time it has been used. */
index b93782cc3c163bb4be476468a1cb65d58aababa2..90cde6c86292863be20cc363142d7b1ea64a8309 100644 (file)
@@ -1083,20 +1083,15 @@ control_ldap_search(const uschar *ldap_url, int search_type, uschar **res,
   uschar **errmsg)
 {
 BOOL defer_break = FALSE;
-int timelimit = LDAP_NO_LIMIT;
-int sizelimit = LDAP_NO_LIMIT;
+int timelimit = LDAP_NO_LIMIT, sizelimit = LDAP_NO_LIMIT;
 int tcplimit = 0;
 int sep = 0;
 int dereference = LDAP_DEREF_NEVER;
-void* referrals = LDAP_OPT_ON;
-const uschar *url = ldap_url;
-const uschar *p;
-uschar *user = NULL;
-uschar *password = NULL;
-uschar *local_servers = NULL;
-const uschar *list;
+void * referrals = LDAP_OPT_ON;
+const uschar * url = ldap_url, * p, * list;
+uschar * user = NULL, * password = NULL, * local_servers = NULL;
 
-while (isspace(*url)) url++;
+Uskip_whitespace(&url);
 
 /* Until the string begins "ldap", search for the other parameter settings that
 are recognized. They are of the form NAME=VALUE, with the value being
@@ -1175,7 +1170,7 @@ while (strncmpic(url, US"ldap", 4) != 0)
         DEBUG(D_lookup) debug_printf_indent("LDAP query error: %s\n", *errmsg);
         return DEFER;
         }
-      while (isspace(*url)) url++;
+      Uskip_whitespace(&url);
       continue;
       }
     }
index 33e8c51571ffb14983da1000e6a9e8a4c8dd4672..7b78de916971b74dd357ff9e10376e233cc113cf 100644 (file)
@@ -291,8 +291,8 @@ for (BOOL this_is_eol, last_was_eol = TRUE;
       this_is_comment = (this_is_comment || (buffer[0] == 0 || buffer[0] == '#'));
       if (this_is_comment) continue;
       if (!isspace((uschar)buffer[0])) break;
-      while (isspace((uschar)*s)) s++;
-      *(--s) = ' ';
+      Uskip_whitespace(&s);
+      *--s = ' ';
       }
     if (this_is_comment) continue;
 
index d0604c2452d9a0ddee873a4ecdccb3df68155afc..c25b7c0ee639384ff14e7ffda907285bee720f0d 100644 (file)
@@ -408,9 +408,9 @@ while (cda->rc != NO_DATA_FOUND)  /* Loop for each row */
   else for (int i = 0; i < num_fields; i++)
     {
     int slen;
-    uschar *s = US desc[i].buf;
+    uschar * s = US desc[i].buf;
 
-    while (*s != 0 && isspace(*s)) s++;
+    Uskip_whitespace(&s);
     slen = Ustrlen(s);
     while (slen > 0 && isspace(s[slen-1])) slen--;
     result = string_catn(result, s, slen);
index 7b680f086996d85ed9f4b79bd4c01f0398dcf9a5..53b479142668ebceec2497cc7726e6c4f6c275f3 100644 (file)
@@ -212,7 +212,7 @@ if(sdata[1])
   int siz, ptr, i;
   uschar c;
 
-  while (isspace(*s)) s++;
+  Uskip_whitespace(&s);
 
   for (i = 0; *s && i < nele(argv); i++)
     {
@@ -224,7 +224,7 @@ if(sdata[1])
     argv[i] = string_from_gstring(g);
 
     DEBUG(D_lookup) debug_printf_indent("REDIS: argv[%d] '%s'\n", i, argv[i]);
-    while (isspace(*s)) s++;
+    Uskip_whitespace(&s);
     }
 
   /* Run the command. We use the argv form rather than plain as that parses
index 8b1a3bef6cc88e44326818aa21b7d792993b0748..2cb4993599188aa1a5349199e2bae27218d534e4 100644 (file)
@@ -599,7 +599,7 @@ while ((sss = string_nextinlist(&list, &sep, NULL, 0)))
   if (*ss == '!')
     {
     yield = FAIL;
-    while (isspace((*(++ss))));
+    while (isspace(*++ss)) ;
     }
   else
     yield = OK;
@@ -825,15 +825,14 @@ while ((sss = string_nextinlist(&list, &sep, NULL, 0)))
 
     while (Ufgets(filebuffer, sizeof(filebuffer), f) != NULL)
       {
-      uschar *error;
-      uschar *sss = filebuffer;
+      uschar * error, * sss = filebuffer;
 
       while ((ss = Ustrchr(sss, '#')) != NULL)
         {
         if ((type != MCL_ADDRESS && type != MCL_LOCALPART) ||
               ss == filebuffer || isspace(ss[-1]))
           {
-          *ss = 0;
+          *ss = '\0';
           break;
           }
         sss = ss + 1;
@@ -841,20 +840,19 @@ while ((sss = string_nextinlist(&list, &sep, NULL, 0)))
 
       ss = filebuffer + Ustrlen(filebuffer);           /* trailing space */
       while (ss > filebuffer && isspace(ss[-1])) ss--;
-      *ss = 0;
+      *ss = '\0';
 
       ss = filebuffer;
-      while (isspace(*ss)) ss++;                       /* leading space */
-
-      if (!*ss) continue;                              /* ignore empty */
+      if (!Uskip_whitespace(&ss))                      /* leading space */
+       continue;                                       /* ignore empty */
 
       file_yield = yield;                              /* positive yield */
       sss = ss;                                                /* for debugging */
 
       if (*ss == '!')                                  /* negation */
         {
-        file_yield = (file_yield == OK)? FAIL : OK;
-        while (isspace((*(++ss))));
+        file_yield = file_yield == OK ? FAIL : OK;
+        while (isspace(*++ss)) ;
         }
 
       switch ((func)(arg, ss, valueptr, &error))
@@ -1157,7 +1155,7 @@ if (pattern[0] == '@' && pattern[1] == '@')
       if (*ss == '!')
         {
         local_yield = FAIL;
-        while (isspace((*(++ss))));
+        while (isspace(*++ss)) ;
         }
       else local_yield = OK;
 
index 6fe82b29caf2aedce821ebad7654465f43057268..641540839d866924f49badbd4e59c3dd24c2f980 100644 (file)
@@ -762,13 +762,12 @@ llen = domain++ - recipient;
 
 while ((item = string_nextinlist(&listptr, &sep, NULL, 0)))
   {
-  const uschar *newaddress = item;
-  const uschar *pattern = string_dequote(&newaddress);
+  const uschar * newaddress = item;
+  const uschar * pattern = string_dequote(&newaddress);
 
   /* If no new address found, just skip this item. */
 
-  while (isspace(*newaddress)) newaddress++;
-  if (*newaddress == 0) continue;
+  if (!Uskip_whitespace(&newaddress)) continue;
 
   /* We now have an item to match as an address in item, and the additional
   address in newaddress. If the pattern matches, expand the new address string
index ecdbe9f8d5681e0119f7f4fb1f67a9180480b260..4a75d229e8bd5011f8fe1bd0661da1123eba93ae 100644 (file)
@@ -1363,7 +1363,7 @@ for (;;)
       *error = string_sprintf("\"%.*s\" is not permitted", len, s);
       return FF_ERROR;
       }
-    while (*ss && isspace(*ss)) ss++;  /* skip leading whitespace */
+    Uskip_whitespace(&ss);             /* skip leading whitespace */
     if ((len = Ustrlen(ss)) > 0)       /* ignore trailing newlines */
       for (const uschar * t = ss + len - 1; t >= ss && *t == '\n'; t--) len--;
     *error = string_copyn(ss, len);    /* becomes the error */
index 21e17c61e8d4046ef9aef6dfa26202f657484513..565ee068eaec42e5458522c407b464a3e47dafea 100644 (file)
@@ -679,8 +679,7 @@ for (const uschar * ele = raw_record, * tspec, * end, * val; *ele; ele = end)
     DEBUG(D_acl) debug_printf(" %.*s=%s\n", taglen, tspec, val);
     while (taglen > 1 && isspace(tspec[taglen-1]))
       taglen--;                        /* Ignore whitespace before = */
-    while (isspace(*val))
-      val++;                   /* Ignore whitespace after = */
+    Uskip_whitespace(&val);    /* Ignore whitespace after = */
     if (isspace(val[ Ustrlen(val)-1 ]))
       {                                /* Ignore whitespace after value */
       gstring * g = string_cat(NULL, val);
index fbce11163c7d8886c3f56ab46343250a8d774d3a..e2d3bace0c9621e9a38f62c5fcf04ca9aa15e8e4 100644 (file)
@@ -396,7 +396,7 @@ else if (ret >= 8 && memcmp(hdr.v1.line, "PROXY", 5) == 0)
   /* Step through the string looking for the required fields. Ensure
   strict adherence to required formatting, exit for any error. */
   p += 5;
-  if (!isspace(*(p++)))
+  if (!isspace(*p++))
     {
     DEBUG(D_receive) debug_printf("Missing space after PROXY command\n");
     goto proxyfail;
@@ -417,7 +417,7 @@ else if (ret >= 8 && memcmp(hdr.v1.line, "PROXY", 5) == 0)
     }
 
   p += Ustrlen(iptype);
-  if (!isspace(*(p++)))
+  if (!isspace(*p++))
     {
     DEBUG(D_receive) debug_printf("Missing space after TCP4/6 command\n");
     goto proxyfail;
index 5b486d0b69dab40ddb2c8300933e2403ab0565ba..3db3bdd69b687e759b6c2032c665ac4320bb9429 100644 (file)
@@ -1050,7 +1050,7 @@ for (;;)
          (Ustrncmp(ss+8, "_if_exists", 10) == 0 && isspace(ss[18]))))
     {
     uschar *t;
-    int include_if_exists = isspace(ss[8])? 0 : 10;
+    int include_if_exists = isspace(ss[8]) ? 0 : 10;
     config_file_item *save;
     struct stat statbuf;
 
@@ -1644,8 +1644,7 @@ uschar name2[EXIM_DRIVERNAME_MAX];
 /* There may be leading spaces; thereafter, we expect an option name starting
 with a letter. */
 
-while (isspace(*s)) s++;
-if (!isalpha(*s))
+if (!isalpha( Uskip_whitespace(&s) ))
   log_write(0, LOG_PANIC_DIE|LOG_CONFIG_IN, "option setting expected: %s", s);
 
 /* Read the name of the option, and skip any subsequent white space. If
@@ -1660,7 +1659,7 @@ for (int n = 0; n < 2; n++)
     s++;
     }
   name[ptr] = 0;
-  while (isspace(*s)) s++;
+  Uskip_whitespace(&s);
   if (Ustrcmp(name, "hide") != 0) break;
   issecure = opt_secure;
   ptr = 0;
@@ -1720,7 +1719,7 @@ else if (*s && (offset != 0 || *s != '='))
 
 /* Skip white space after = */
 
-if (*s == '=') while (isspace((*(++s))));
+if (*s == '=') while (isspace(*++s));
 
 /* If there is a data block and the opt_public flag is not set, change
 the data block pointer to the private options block. */
@@ -2202,8 +2201,7 @@ switch (type)
        log_write(0, LOG_PANIC_DIE|LOG_CONFIG_IN,
          "absolute value of integer \"%s\" is too large (overflow)", s);
 
-      while (isspace(*endptr)) endptr++;
-      if (*endptr)
+      if (Uskip_whitespace(&endptr))
        extra_chars_error(endptr, inttype, US"integer value for ", name);
 
       value = (int)lvalue;
@@ -2251,8 +2249,7 @@ switch (type)
     if (errno == ERANGE) log_write(0, LOG_PANIC_DIE|LOG_CONFIG_IN,
       "absolute value of integer \"%s\" is too large (overflow)", s);
 
-    while (isspace(*endptr)) endptr++;
-    if (*endptr != 0)
+    if (Uskip_whitespace(&endptr))
       extra_chars_error(endptr, inttype, US"integer value for ", name);
 
     if (data_block)
@@ -2347,7 +2344,7 @@ switch (type)
       list[count+1] = value;
       if (snext == NULL) break;
       s = snext + 1;
-      while (isspace(*s)) s++;
+      Uskip_whitespace(&s);
       }
 
     if (count > list[0] - 2)
@@ -3570,8 +3567,7 @@ if (host_number_string)
         "failed to expand localhost_number \"%s\": %s",
         host_number_string, expand_string_message);
   n = Ustrtol(s, &end, 0);
-  while (isspace(*end)) end++;
-  if (*end)
+  if (Uskip_whitespace(&end))
     log_write(0, LOG_PANIC_DIE|LOG_CONFIG,
       "localhost_number value is not a number: %s", s);
   if (n > LOCALHOST_MAX)
@@ -4019,10 +4015,9 @@ Returns:    time in seconds or fixed point number * 1000
 */
 
 static int
-retry_arg(const uschar **paddr, int type)
+retry_arg(const uschar ** paddr, int type)
 {
-const uschar *p = *paddr;
-const uschar *pp;
+const uschar * p = *paddr, * pp;
 
 if (*p++ != ',') log_write(0, LOG_PANIC_DIE|LOG_CONFIG_IN, "comma expected");
 
@@ -4030,7 +4025,7 @@ Uskip_whitespace(&p);
 pp = p;
 while (isalnum(*p) || (type == 1 && *p == '.')) p++;
 
-if (*p != 0 && !isspace(*p) && *p != ',' && *p != ';')
+if (*p && !isspace(*p) && *p != ',' && *p != ';')
   log_write(0, LOG_PANIC_DIE|LOG_CONFIG_IN, "comma or semicolon expected");
 
 *paddr = p;
@@ -4433,10 +4428,8 @@ for (const config_line_item * i = config_lines; i; i = i->next)
   r = store_mark();
 
   /* skip over to the first non-space */
-  for (current = string_copy(i->line); *current && isspace(*current); ++current)
-    ;
-
-  if (!*current)
+  current = string_copy(i->line);
+  if (!Uskip_whitespace(&current))
     continue;
 
   /* Collapse runs of spaces. We stop this if we encounter one of the
@@ -4444,11 +4437,10 @@ for (const config_line_item * i = config_lines; i; i = i->next)
 
   for (p = current; *p; p++) if (isspace(*p))
     {
-    uschar *next;
+    uschar * next = p;
     if (*p != ' ') *p = ' ';
 
-    for (next = p; isspace(*next); ++next)
-      ;
+    Uskip_whitespace(&p);
 
     if (next - p > 1)
       memmove(p+1, next, Ustrlen(next)+1);
index a56ff473ecc2296a20ba9b0c09562bee6b7271b3..9fae6ad6051a64be6deb9d889b35816e8d75fd26 100644 (file)
@@ -1748,7 +1748,7 @@ uschar *user_msg, *log_msg;
 /* Working header pointers */
 
 rmark reset_point;
-header_line *next;
+header_line * next;
 
 /* Flags for noting the existence of certain headers (only one left) */
 
@@ -1756,15 +1756,16 @@ BOOL date_header_exists = FALSE;
 
 /* Pointers to receive the addresses of headers whose contents we need. */
 
-header_line *from_header = NULL;
-header_line *subject_header = NULL;
-header_line *msgid_header = NULL;
-header_line *received_header;
+header_line * from_header = NULL;
+#ifdef SUPPORT_DMARC
+header_line * dmarc_from_header = NULL;
+#endif
+header_line * subject_header = NULL, * msgid_header = NULL, * received_header;
 BOOL msgid_header_newly_created = FALSE;
 
 /* Variables for use when building the Received: header. */
 
-uschar *timestamp;
+uschar * timestamp;
 int tslen;
 
 /* Time of creation of message_id */
@@ -2251,8 +2252,7 @@ OVERSIZE:
 
     if (isspace(*p)) break;
     while (mac_isgraph(*p) && *p != ':') p++;
-    while (isspace(*p)) p++;
-    if (*p != ':')
+    if (Uskip_whitespace(&p) != ':')
       {
       body_zerocount = had_zero;
       break;
@@ -2447,19 +2447,23 @@ for (header_line * h = header_list->next; h; h = h->next)
 
     case htype_from:
       h->type = htype_from;
+#ifdef SUPPORT_DMARC
+      if (!is_resent) dmarc_from_header = h;
+#endif
       if (!resents_exist || is_resent)
        {
        from_header = h;
        if (!smtp_input)
          {
          int len;
-         uschar *s = Ustrchr(h->text, ':') + 1;
-         while (isspace(*s)) s++;
+         uschar * s = Ustrchr(h->text, ':') + 1;
+
+         Uskip_whitespace(&s);
          len = h->slen - (s - h->text) - 1;
          if (Ustrlen(originator_login) == len &&
              strncmpic(s, originator_login, len) == 0)
            {
-           uschar *name = is_resent? US"Resent-From" : US"From";
+           uschar * name = is_resent ? US"Resent-From" : US"From";
            header_add(htype_from, "%s: %s <%s@%s>\n", name, originator_name,
              originator_login, qualify_domain_sender);
            from_header = header_last;
@@ -2514,15 +2518,13 @@ for (header_line * h = header_list->next; h; h = h->next)
 
       if (filter_test != FTEST_NONE)
        {
-       uschar *start = h->text + 12;
-       uschar *end = start + Ustrlen(start);
-       while (isspace(*start)) start++;
+       uschar * start = h->text + 12;
+       uschar * end = start + Ustrlen(start);
+
+       Uskip_whitespace(&start);
        while (end > start && isspace(end[-1])) end--;
        if (*start == '<' && end[-1] == '>')
-         {
-         start++;
-         end--;
-         }
+         { start++; end--; }
        return_path = string_copyn(start, end - start);
        printf("Return-path taken from \"Return-path:\" header line\n");
        }
@@ -2626,7 +2628,7 @@ if (extract_recip)
         (!contains_resent_headers || strncmpic(h->text, US"resent-", 7) == 0))
       {
       uschar * s = Ustrchr(h->text, ':') + 1;
-      while (isspace(*s)) s++;
+      Uskip_whitespace(&s);
 
       f.parse_allow_group = TRUE;          /* Allow address group syntax */
 
@@ -2706,7 +2708,7 @@ if (extract_recip)
         /* Move on past this address */
 
         s = ss + (*ss ? 1 : 0);
-        while (isspace(*s)) s++;
+        Uskip_whitespace(&s);
         }    /* Next address */
 
       f.parse_allow_group = FALSE;      /* Reset group syntax flags */
@@ -3621,7 +3623,7 @@ else
 #endif /* WITH_CONTENT_SCAN */
 
 #ifdef SUPPORT_DMARC
-    dmarc_store_data(from_header);
+    dmarc_store_data(dmarc_from_header);
 #endif
 
 #ifndef DISABLE_PRDR
@@ -4624,3 +4626,5 @@ return yield;  /* TRUE if more messages (SMTP only) */
 }
 
 /* End of receive.c */
+/* vi: se aw ai sw=2
+*/
index 42393d424b8987f35dca76736df8104fa3f8a547..6b977dd58ba122d64c5d6dcfb71ffcf890833be3 100644 (file)
@@ -31,7 +31,7 @@ Returns:        TRUE if the ultimate timeout has been reached
 */
 
 BOOL
-retry_ultimate_address_timeout(uschar *retry_key, const uschar *domain,
+retry_ultimate_address_timeout(const uschar * retry_key, const uschar *domain,
   dbdata_retry *retry_record, time_t now)
 {
 BOOL address_timeout;
@@ -75,6 +75,29 @@ return address_timeout;
 
 
 
+const uschar *
+retry_host_key_build(const host_item * host, BOOL incl_ip,
+  const uschar * portstring)
+{
+const uschar * s = host->name;
+gstring * g = string_is_ip_address(s, NULL)
+  ? string_fmt_append(NULL, "T:[%s]", s)    /* wrap a name which is a bare ip */
+  : string_fmt_append(NULL, "T:%s",   s);
+
+s = host->address;
+if (incl_ip)
+  g = Ustrchr(s, ':')
+    ? string_fmt_append(g, ":[%s]", s)     /* wrap an ipv6  */
+    : string_fmt_append(g, ":%s",   s);
+
+if (portstring)
+  g = string_cat(g, portstring);
+
+gstring_release_unused(g);
+return string_from_gstring(g);
+}
+
+
 /*************************************************
 *     Set status of a host+address item          *
 *************************************************/
@@ -124,11 +147,12 @@ Returns:    TRUE if the host has expired but is usable because
 
 BOOL
 retry_check_address(const uschar *domain, host_item *host, uschar *portstring,
-  BOOL include_ip_address, uschar **retry_host_key, uschar **retry_message_key)
+  BOOL include_ip_address,
+  const uschar **retry_host_key, const uschar **retry_message_key)
 {
 BOOL yield = FALSE;
 time_t now = time(NULL);
-uschar * host_key, * message_key;
+const uschar * host_key, * message_key;
 open_db dbblock, * dbm_file;
 tree_node * node;
 dbdata_retry * host_retry_record, * message_retry_record;
@@ -143,14 +167,11 @@ if (host->status != hstatus_unknown) return FALSE;
 host->status = hstatus_usable;
 
 /* Generate the host key for the unusable tree and the retry database. Ensure
-host names are lower cased (that's what %S does). */
-
-host_key = include_ip_address
-  ? string_sprintf("T:%S:%s%s", host->name, host->address, portstring)
-  : string_sprintf("T:%S%s", host->name, portstring);
-
-/* Generate the message-specific key */
+host names are lower cased (that's what %S does).
+Generate the message-specific key too.
+Be sure to maintain lack-of-spaces in retry keys; exinext depends on it. */
 
+host_key = retry_host_key_build(host, include_ip_address, portstring);
 message_key = string_sprintf("%s:%s", host_key, message_id);
 
 /* Search the tree of unusable IP addresses. This is filled in when deliveries
@@ -290,7 +311,7 @@ Returns:  nothing
 */
 
 void
-retry_add_item(address_item *addr, uschar *key, int flags)
+retry_add_item(address_item * addr, const uschar * key, int flags)
 {
 retry_item * rti = store_get(sizeof(retry_item), GET_UNTAINTED);
 host_item * host = addr->host_used;
@@ -343,11 +364,11 @@ Returns:       pointer to retry rule, or NULL
 */
 
 retry_config *
-retry_find_config(const uschar *key, const uschar *alternate, int basic_errno,
+retry_find_config(const uschar * key, const uschar * alternate, int basic_errno,
   int more_errno)
 {
-const uschar *colon = Ustrchr(key, ':');
-retry_config *yield;
+const uschar * colon = Ustrchr(key, ':');
+retry_config * yield;
 
 /* If there's a colon in the key, there are two possibilities:
 
@@ -355,7 +376,8 @@ retry_config *yield;
 
       hostname:ip+port
 
-    In this case, we copy the host name.
+    In this case, we copy the host name (which could be an [ip], including
+    being an [ipv6], and we drop the []).
 
 (2) This is a key for a pipe, file, or autoreply delivery, in the format
 
@@ -369,6 +391,8 @@ retry_config *yield;
 if (colon)
   key = isalnum(*key)
     ? string_copyn(key, colon-key)     /* the hostname */
+    : *key == '['
+    ? string_copyn(key+1, Ustrchr(key, ']')-1-key)     /* the ip */
     : Ustrrchr(key, ':') + 1;          /* Take from the last colon */
 
 /* Sort out the keys */
@@ -932,3 +956,5 @@ DEBUG(D_retry) debug_printf("end of retry processing\n");
 }
 
 /* End of retry.c */
+/* vi: aw ai sw=2
+*/
index 9ee5a6794a777383461798bafdae7806f1c60a87..ce35c43655dd43fe8ed6f24e4a306d8fade3c12b 100644 (file)
@@ -452,7 +452,7 @@ header_line * newh = NULL;
 rmark function_reset_point = store_mark();
 uschar * s = Ustrchr(h->text, ':') + 1;
 
-while (isspace(*s)) s++;
+Uskip_whitespace(&s);
 
 DEBUG(D_rewrite)       /* The header text includes the trailing newline */
   debug_printf_indent("rewrite_one_header: type=%c:\n  %s", h->type, h->text);
@@ -493,7 +493,7 @@ while (*s)
   recipient = parse_extract_address(s, &errmess, &start, &end, &domain, FALSE);
   *ss1 = terminator;
   s = ss + (*ss ? 1 : 0);
-  while (isspace(*s)) s++;
+  Uskip_whitespace(&s);
 
   /* There isn't much we can do for syntactic disasters at this stage.
   Pro tem (possibly for ever) ignore them.
index 18263f9ab69631588d31043921f01c905f5f555e..1ab25150acece45082d3df6f06564e3a9100c9c6 100644 (file)
@@ -313,8 +313,8 @@ while (mimeword)
   mimeword = decode_mimeword(string, lencheck, &q1, &q2, &endword, &dlen, &dptr);
   if (mimeword)
     {
-    uschar *s = string;
-    while (isspace(*s)) s++;
+    uschar * s = string;
+    Uskip_whitespace(&s);
     if (s == mimeword) string = s;
     }
   }
index 0fdcdf2ed45f47ef768e037bacba578b078f9b3d..afd43d8664e9bf6c4f68dfd464a217fe39cbd441 100644 (file)
@@ -266,12 +266,12 @@ for (router_instance * r = routers; r; r = r->next)
   else if (Ustrncmp(s, "reroute:", 8) == 0)
     {
     s += 8;
-    while (isspace(*s)) s++;
+    Uskip_whitespace(&s);
     if (Ustrncmp(s, "rewrite:", 8) == 0)
       {
       r->self_rewrite = TRUE;
       s += 8;
-      while (isspace(*s)) s++;
+      Uskip_whitespace(&s);
       }
     r->self = s;
     r->self_code = self_reroute;
@@ -693,13 +693,13 @@ while ((check = string_nextinlist(&listptr, &sep, NULL, 0)))
   if (*ss == '+')
     {
     eacces_code = 1;
-    while (isspace((*(++ss))));
+    while (isspace(*++ss));
     }
 
   if (*ss == '!')
     {
     invert = TRUE;
-    while (isspace((*(++ss))));
+    while (isspace(*++ss));
     }
 
   if (*ss != '/')
@@ -1463,7 +1463,7 @@ for (uschar * ele; (ele = string_nextinlist(&varlist, &sep, NULL, 0)); )
     }
   name += 2;
 
-  while (isspace(*assignment)) assignment++;
+  Uskip_whitespace(&assignment);
 
   if (!(val = expand_string(US assignment)))
     if (f.expand_string_forcedfail)
index 45378ce3d820c81d1a5cea1fa1f7bcc832e10e75..ffd6eeaca817b9eb5636cc75d19f2b0b8c297b97 100644 (file)
@@ -156,17 +156,17 @@ static BOOL
 parse_route_item(const uschar *s, const uschar **domain, const uschar **hostlist,
   const uschar **options)
 {
-while (*s != 0 && isspace(*s)) s++;
+Uskip_whitespace(&s);
 
 if (domain)
   {
   if (!*s) return FALSE;            /* missing data */
   *domain = string_dequote(&s);
-  while (*s && isspace(*s)) s++;
+  Uskip_whitespace(&s);
   }
 
 *hostlist = string_dequote(&s);
-while (*s && isspace(*s)) s++;
+Uskip_whitespace(&s);
 *options = s;
 return TRUE;
 }
@@ -333,8 +333,9 @@ lookup_type = LK_DEFAULT;
 while (*options)
   {
   unsigned n;
-  const uschar *s = options;
-  while (*options != 0 && !isspace(*options)) options++;
+  const uschar * s = options;
+
+  Uskip_nonwhite(&options);
   n = options-s;
 
   if (Ustrncmp(s, "randomize", n) == 0) randomize = TRUE;
@@ -368,7 +369,7 @@ while (*options)
   if (*options)
     {
     options++;
-    while (*options != 0 && isspace(*options)) options++;
+    Uskip_whitespace(&options);
     }
   }
 
index b1d736f948c1063981b4f64ddc4f97e6b7ca0748..39645cd2306d3759d73b087f3067a84f83cc7515 100644 (file)
@@ -363,10 +363,10 @@ buffer[len] = 0;
 DEBUG(D_route) debug_printf("command wrote: %s\n", buffer);
 
 rword = buffer;
-while (isspace(*rword)) rword++;
+Uskip_whitespace(&rword);
 rdata = rword;
-while (*rdata && !isspace(*rdata)) rdata++;
-if (*rdata) *rdata++ = 0;
+Uskip_nonwhite(&rdata);
+if (*rdata) *rdata++ = '\0';
 
 /* The word must be a known yield name. If it is "REDIRECT", the rest of the
 line is redirection data, as for a .forward file. It may not contain filter
index 168c25e6a028a50c78dd5bd3d50eb8cc43e5ea8d..d0eb84b3bcc66c617cecd416665e4b1657a347b7 100644 (file)
@@ -247,7 +247,7 @@ if (mac_islookup(search_type, lookup_absfilequery))
   if (*query == '/')
     {
     uschar * s = query;
-    while (*query && !isspace(*query)) query++;
+    Uskip_nonwhite(&query);
     *fnamep = string_copyn(s, query - s);
     Uskip_whitespace(&query);
     }
index f62d6fbf2ebfcb7e837a7b092509f8d1af00449f..f65ab6603a0a9cd08232c3b8cfb3eeca9cb856c9 100644 (file)
@@ -1227,7 +1227,7 @@ for (smtp_cmd_list * p = cmd_list; p < cmd_list + nelem(cmd_list); p++)
     follow the sender address. */
 
     smtp_cmd_argument = smtp_cmd_buffer + p->len;
-    while (isspace(*smtp_cmd_argument)) smtp_cmd_argument++;
+    Uskip_whitespace(&smtp_cmd_argument);
     Ustrcpy(smtp_data_buffer, smtp_cmd_argument);
     smtp_cmd_data = smtp_data_buffer;
 
@@ -1946,6 +1946,9 @@ while (done <= 0)
     case HELP_CMD:
     case NOOP_CMD:
     case ETRN_CMD:
+#ifdef EXPERIMENTAL_WELLKNOWN
+    case WELLKNOWN_CMD:
+#endif
       bsmtp_transaction_linecount = receive_linecount;
       break;
 
@@ -2551,7 +2554,7 @@ if (!f.sender_host_unknown)
 
 if (smtp_batched_input) return TRUE;
 
-#if defined(SUPPORT_PROXY) || defined(SUPPORT_SOCKS) || defined(EXPERIMETAL_XCLIENT)
+#if defined(SUPPORT_PROXY) || defined(SUPPORT_SOCKS) || defined(EXPERIMENTAL_XCLIENT)
 proxy_session = FALSE;
 #endif
 
@@ -2991,8 +2994,8 @@ switch (where)
 
     if (where == ACL_WHERE_AUTH)       /* avoid logging auth creds */
       {
-      uschar * s;
-      for (s = smtp_cmd_data; *s && !isspace(*s); ) s++;
+      uschar * s = smtp_cmd_data;
+      Uskip_nonwhite(&s);
       lim = s - smtp_cmd_data; /* atop after method */
       }
     what = string_sprintf("%s %.*s", acl_wherenames[where], lim, place);
@@ -3807,8 +3810,8 @@ while (done <= 0)
 
       if (*smtp_cmd_data)
        {
-       *smtp_cmd_data++ = 0;
-       while (isspace(*smtp_cmd_data)) smtp_cmd_data++;
+       *smtp_cmd_data++ = '\0';
+       Uskip_whitespace(&smtp_cmd_data);
        }
 
       /* Search for an authentication mechanism which is configured for use
@@ -3919,10 +3922,10 @@ while (done <= 0)
       if (!f.sender_host_unknown)
        {
        BOOL old_helo_verified = f.helo_verified;
-       uschar *p = smtp_cmd_data;
+       uschar * p = smtp_cmd_data;
 
-       while (*p != 0 && !isspace(*p)) { *p = tolower(*p); p++; }
-       *p = 0;
+       while (*p && !isspace(*p)) { *p = tolower(*p); p++; }
+       *p = '\0';
 
        /* Force a reverse lookup if HELO quoted something in helo_lookup_domains
        because otherwise the log can be confusing. */
@@ -5694,7 +5697,7 @@ while (done <= 0)
 
     case TOO_MANY_NONMAIL_CMD:
       s = smtp_cmd_buffer;
-      while (*s && !isspace(*s)) s++;
+      Uskip_nonwhite(&s);
       incomplete_transaction_log(US"too many non-mail commands");
       log_write(0, LOG_MAIN|LOG_REJECT, "SMTP call from %s dropped: too many "
        "nonmail commands (last was \"%.*s\")",  host_and_ident(FALSE),
index 895b594fce839eae68c169ac0edaed9ce2403387..a78b15fbd1f719ba81efe2a5a89ddb215de27484 100644 (file)
@@ -704,13 +704,13 @@ if (format)
 
   if (outblock->authenticating)
     {
-    uschar *p = big_buffer;
+    uschar * p = big_buffer;
     if (Ustrncmp(big_buffer, "AUTH ", 5) == 0)
       {
       p += 5;
-      while (isspace(*p)) p++;
-      while (!isspace(*p)) p++;
-      while (isspace(*p)) p++;
+      Uskip_whitespace(&p);
+      Uskip_nonwhite(&p);
+      Uskip_whitespace(&p);
       }
     while (*p) *p++ = '*';
     }
index af187c1992e13384795091e03946117bc2c2a584..a627611afa32b424d843875937df253a1dc565ab 100644 (file)
@@ -649,7 +649,7 @@ uschar * t, * yield;
 /* First find the end of the string */
 
 if (*s != '\"')
-  while (*s && !isspace(*s)) s++;
+  Uskip_nonwhite(&s);
 else
   {
   s++;
@@ -1234,13 +1234,6 @@ return g;
 }
 
 
-gstring *
-string_cat(gstring * g, const uschar * s)
-{
-return string_catn(g, s, Ustrlen(s));
-}
-
-
 
 /*************************************************
 *        Append strings to another string        *
@@ -1333,7 +1326,7 @@ Arguments:
        ap      variable-args pointer
 
 Flags:
-       SVFMT_EXTEND            buffer can be created or exteded as needed
+       SVFMT_EXTEND            buffer can be created or extended as needed
        SVFMT_REBUFFER          buffer can be recopied to tainted mem as needed
        SVFMT_TAINT_NOCHK       do not check inputs for taint
 
@@ -1705,7 +1698,7 @@ while (*fp)
        }
 
       /* If a width is not specified and the precision is specified, set
-      the width to the precision, or the string length if shorted. */
+      the width to the precision, or the string length if shorter. */
 
       else if (precision >= 0)
        width = precision < slen ? precision : slen;
index b16a8a3f2a39131b3b33de05926e357cafdd21b6..8aab540559f24ea0ec1b5c064ce41eaa89463a78 100644 (file)
@@ -480,7 +480,7 @@ can be tried. */
 
 typedef struct retry_item {
   struct retry_item *next;        /* for chaining */
-  uschar *key;                    /* string identifying host/address/message */
+  const uschar *key;              /* string identifying host/address/message */
   int     basic_errno;            /* error code for this destination */
   int     more_errno;             /* additional error information */
   uschar *message;                /* local error message */
index e6a1c6fa4383868e9a85c4a249d2d1ae26c4eb62..34612adea0974bf7117a057931285f388cf5f8a9 100644 (file)
@@ -5170,8 +5170,7 @@ if (!expand_check(option_spec, US"openssl_options", &exp, &end))
 
 for (uschar * s = exp; *s; /**/)
   {
-  while (isspace(*s)) ++s;
-  if (*s == '\0')
+  if (!Uskip_whitespace(&s))
     break;
   if (*s != '+' && *s != '-')
     {
@@ -5180,7 +5179,8 @@ for (uschar * s = exp; *s; /**/)
     return FALSE;
     }
   adding = *s++ == '+';
-  for (end = s; *end && !isspace(*end); ) end++;
+  end = s;
+  Uskip_nonwhite(&end);
   item_parsed = tls_openssl_one_option_parse(string_copyn(s, end-s), &item);
   if (!item_parsed)
     {
index 690ec4a92a83756f8be0a6f615f44ec562d6c635..67d48a1cb50884599b25291cb120c43c40d15975 100644 (file)
@@ -235,13 +235,12 @@ that needs to be removed */
 
 s = newlist + Ustrlen(newlist);
 while (s > newlist && (isspace(s[-1]) || s[-1] == ',')) s--;
-*s = 0;
+*s = '\0';
 
 /* Check to see if there any addresses left; if not, return NULL */
 
 s = newlist;
-while (s && isspace(*s)) s++;
-if (*s)
+if (Uskip_whitespace(&s))
   return newlist;
 
 store_reset(reset_point);
@@ -592,7 +591,7 @@ for (h = header_list; h; h = h->next)
 if (h)
   {
   message_id = Ustrchr(h->text, ':') + 1;
-  while (isspace(*message_id)) message_id++;
+  Uskip_whitespace(&message_id);
   fprintf(fp, "In-Reply-To: %s", message_id);
   }
 
index 60a20c8fe87d7500ba418a8e52a700b32df901c2..f8a1427b93b789080570454ebbbb2be7f31d7096 100644 (file)
@@ -562,7 +562,7 @@ if (testflag(addr, af_pfr) && addr->local_part[0] == '|')
   else
     {
     cmd = addr->local_part + 1;
-    while (isspace(*cmd)) cmd++;
+    Uskip_whitespace(&cmd);
     expand_arguments = testflag(addr, af_expand_pipe);
     expand_fail = FAIL;
     }
index 73659235216fea2c8b21678bb2b4e9e89fb5bffe..ddd6ad7e13e0d0aef2e516bee623e0f4767bc7a2 100644 (file)
@@ -533,7 +533,7 @@ switch(*errno_value)
 
   case ERRNO_SMTPFORMAT:       /* Handle malformed SMTP response */
     s = string_printing(buffer);
-    while (isspace(*s)) s++;
+    Uskip_whitespace(&s);
     *message = *s == 0
       ? string_sprintf("Malformed SMTP reply (an empty line) "
          "in response to %s%s", pl, smtp_command)
@@ -815,8 +815,7 @@ uschar * match;
 if (regex_match(regex_LIMITS, sx->buffer, -1, &match))
   for (const uschar * s = sx->buffer + Ustrlen(match); *s; )
     {
-    while (isspace(*s)) s++;
-    if (*s == '\n') break;
+    if (Uskip_whitespace(&s) == '\n') break;
 
     if (strncmpic(s, US"MAILMAX=", 8) == 0)
       {
@@ -946,7 +945,8 @@ if (  sx->early_pipe_active
     if (!(er = dbfn_read_enforce_length(dbm_file, ehlo_resp_key, sizeof(dbdata_ehlo_resp))))
       debug_printf("no ehlo-resp record!\n");
     else
-      debug_printf("ehlo-resp record is %d seconds old\n", time(NULL) - er->time_stamp);
+      debug_printf("ehlo-resp record is %.0f seconds old\n",
+                   difftime(time(NULL), er->time_stamp));
     }
 
   dbfn_delete(dbm_file, ehlo_resp_key);
@@ -1307,7 +1307,7 @@ while (count-- > 0)
 
     if (testflag(addr, af_dr_retry_exists))
       {
-      uschar *altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
+      uschar * altkey = string_sprintf("%s:<%s>", addr->address_retry_key,
         sender_address);
       retry_add_item(addr, altkey, rf_delete);
       retry_add_item(addr, addr->address_retry_key, rf_delete);
@@ -1323,7 +1323,7 @@ while (count-- > 0)
 
   else if (errno == ETIMEDOUT)
     {
-    uschar *message = string_sprintf("SMTP timeout after RCPT TO:<%s>",
+    uschar * message = string_sprintf("SMTP timeout after RCPT TO:<%s>",
                transport_rcpt_address(addr, sx->conn_args.tblock->rcpt_include_affixes));
     set_errno_nohost(sx->first_addr, ETIMEDOUT, message, DEFER, FALSE, &sx->delivery_start);
     retry_add_item(addr, addr->address_retry_key, 0);
@@ -1694,8 +1694,8 @@ if (  sx->esmtp
        {
        DEBUG(D_transport) debug_printf("skipping %s authenticator: %s\n",
          au->name,
-         (au->client)? "client_condition is false" :
-                       "not configured as a client");
+         au->client ? "client_condition is false"
+                   : "not configured as a client");
        continue;
        }
 
@@ -1703,15 +1703,14 @@ if (  sx->esmtp
 
       while (*p)
        {
-       int len = Ustrlen(au->public_name);
-       int rc;
+       int len = Ustrlen(au->public_name), rc;
 
-       while (isspace(*p)) p++;
+       Uskip_whitespace(&p);
 
        if (strncmpic(au->public_name, p, len) != 0 ||
-           (p[len] != 0 && !isspace(p[len])))
+           (p[len] && !isspace(p[len])))
          {
-         while (*p != 0 && !isspace(*p)) p++;
+         while (*p && !isspace(*p)) p++;
          continue;
          }
 
@@ -5378,7 +5377,7 @@ retry_non_continued:
     BOOL host_is_expired = FALSE, message_defer = FALSE, some_deferred = FALSE;
     address_item * first_addr = NULL;
     uschar * interface = NULL;
-    uschar * retry_host_key = NULL, * retry_message_key = NULL;
+    const uschar * retry_host_key = NULL, * retry_message_key = NULL;
     uschar * serialize_key = NULL;
 
     /* Deal slightly better with a possible Linux kernel bug that results
@@ -5875,9 +5874,7 @@ retry_non_continued:
                  ob->expand_retry_include_ip_address, &incl_ip) != OK)
          incl_ip = TRUE;       /* error; use most-specific retry record */
 
-        retry_host_key = incl_ip
-         ? string_sprintf("T:%S:%s%s", host->name, host->address, pistring)
-         : string_sprintf("T:%S%s", host->name, pistring);
+        retry_host_key = retry_host_key_build(host, incl_ip, pistring);
         }
 
       /* If a delivery of another message over an existing SMTP connection
@@ -5923,10 +5920,8 @@ retry_non_continued:
                  ob->expand_retry_include_ip_address, &incl_ip) != OK)
          incl_ip = TRUE;       /* error; use most-specific retry record */
 
-        retry_message_key = incl_ip
-         ? string_sprintf("T:%S:%s%s:%s", host->name, host->address, pistring,
-             message_id)
-         : string_sprintf("T:%S%s:%s", host->name, pistring, message_id);
+        retry_message_key = string_sprintf("%s:%s",
+         retry_host_key_build(host, incl_ip, pistring), message_id);
         }
       retry_add_item(addrlist, retry_message_key,
         rf_message | rf_host | delete_flag);
index eb54829db58ada1b0ad095a6384b5990d7973840..2c703583e1d9a4347edac8ddd3e54871c9a651a4 100644 (file)
@@ -65,6 +65,7 @@ if (!tree_insertnode(&tree_duplicates, node)) store_reset(rpoint);
 
 
 
+#ifndef COMPILE_UTILITY
 /*************************************************
 *    Add entry to unusable addresses tree        *
 *************************************************/
@@ -76,12 +77,11 @@ Returns:     nothing
 */
 
 void
-tree_add_unusable(const host_item *h)
+tree_add_unusable(const host_item * h)
 {
 rmark rpoint = store_mark();
-tree_node *node;
-uschar s[256];
-sprintf(CS s, "T:%.200s:%s", h->name, h->address);
+tree_node * node;
+const uschar * s = retry_host_key_build(h, TRUE, NULL);
 node = store_get(sizeof(tree_node) + Ustrlen(s),
            is_tainted(h->name) || is_tainted(h->address) ? GET_TAINTED : GET_UNTAINTED);
 Ustrcpy(node->name, s);
@@ -89,7 +89,7 @@ node->data.val = h->why;
 if (h->status == hstatus_unusable_expired) node->data.val += 256;
 if (!tree_insertnode(&tree_unusable, node)) store_reset(rpoint);
 }
-
+#endif
 
 
 /*************************************************
index 78923651c9ebc8fe703e0edd3a2a87aba0c1fac3..065deec41512ee1784ce78bd93f39e73278bfc2e 100644 (file)
@@ -2612,12 +2612,12 @@ for (int i = 0; i < 3 && !done; i++)
 
     f.parse_allow_group = TRUE;
 
-    while (*s != 0)
+    while (*s)
       {
-      address_item *vaddr;
+      address_item * vaddr;
 
       while (isspace(*s) || *s == ',') s++;
-      if (*s == 0) break;        /* End of header */
+      if (!*s) break;                  /* End of header */
 
       ss = parse_find_address_end(s, FALSE);
 
@@ -2628,7 +2628,7 @@ for (int i = 0; i < 3 && !done; i++)
 
       while (isspace(ss[-1])) ss--;
       terminator = *ss;
-      *ss = 0;
+      *ss = '\0';
 
       HDEBUG(D_verify) debug_printf("verifying %.*s header address %s\n",
         (int)(endname - h->text), h->text, s);
@@ -2873,17 +2873,17 @@ if (sscanf(CS buffer + qlen, "%d , %d%n", &received_sender_port,
   goto END_OFF;
 
 p = buffer + qlen + n;
-while(isspace(*p)) p++;
+Uskip_whitespace(&p);
 if (*p++ != ':') goto END_OFF;
-while(isspace(*p)) p++;
+Uskip_whitespace(&p);
 if (Ustrncmp(p, "USERID", 6) != 0) goto END_OFF;
 p += 6;
-while(isspace(*p)) p++;
+Uskip_whitespace(&p);
 if (*p++ != ':') goto END_OFF;
-while (*p != 0 && *p != ':') p++;
-if (*p++ == 0) goto END_OFF;
-while(isspace(*p)) p++;
-if (*p == 0) goto END_OFF;
+while (*p && *p != ':') p++;
+if (!*p++) goto END_OFF;
+Uskip_whitespace(&p);
+if (!*p) goto END_OFF;
 
 /* The rest of the line is the data we want. We turn it into printing
 characters when we save it, so that it cannot mess up the format of any logging
@@ -3081,9 +3081,9 @@ if (iplookup)
     {
     filename = semicolon + 1;
     key = filename;
-    while (*key != 0 && !isspace(*key)) key++;
+    Uskip_nonwhite(&key);
     filename = string_copyn(filename, key - filename);
-    while (isspace(*key)) key++;
+    Uskip_whitespace(&key);
     }
   else if (mac_islookup(search_type, lookup_querystyle))
     {
index 2a8be9b0e7dd04d6ad5b2267682a2da2d7e8cf39..fb9d95c5e2260d722356e7798a4b69695cdcd3cf 100644 (file)
@@ -172,7 +172,7 @@ for (state = XCLIENT_SKIP_SPACES; *s; )
       uschar * val;
 
       word = ++s;                      /* skip the = */
-      while (*s && !isspace(*s)) s++;
+      Uskip_nonwhite(&s);
       len = s - word;
 
       DEBUG(D_transport) debug_printf(" XCLIENT: \tvalue %.*s\n", len, word);
@@ -248,7 +248,7 @@ for (state = XCLIENT_SKIP_SPACES; *s; )
       }
 
     case XCLIENT_SKIP_SPACES:
-      while (*s && isspace (*s)) s++;
+      Uskip_whitespace(&s);
       state = XCLIENT_READ_COMMAND;
       break;
 
index e56abaf803658b6052d34423676aedbdcabc1c25..04fe61aa1e4d04c9962d4a1db4a9635288df2635 100644 (file)
@@ -7,6 +7,8 @@
 acl_smtp_rcpt = accept
 acl_smtp_data = check_data
 
+log_selector = +received_recipients
+
 # ----- ACL -----
 
 begin acl
index 98914d1715ed69c2cc5258129c4fd3783c46403d..e8f1933f2c5f568940dbf0a8ca356d2844ef7c01 100755 (executable)
@@ -500,7 +500,10 @@ RESET_AFTER_EXTRA_LINE_READ:
   s/T:(\S+)\s-22\s(\S+)\s/T:$1 -22 xxxx /;
 
   # port numbers in dumpdb output
-  s/T:([a-z.]+(:[0-9.]+)?):$parm_port_n /T:$1:PORT_N /;
+  s/T:([a-z0-9.]+(:[0-9.]+|:\[[^]]+])?):$parm_port_n /T:$1:PORT_N /;
+  s/T:([a-z0-9.[\]]+(:[0-9.]+|:\[[^]]+])?):$parm_port_s /T:$1:PORT_S /;
+  # and exinext
+  s/Transport: (?:[a-z0-9.]+|\[[^\]]+]) (?:[0-9.]+|\[[^\]]+]):\K$parm_port_s /PORT_S /;
 
   # port numbers in stderr
   s/^set_process_info: .*\]:\K$parm_port_d /PORT_D /;
@@ -821,7 +824,8 @@ RESET_AFTER_EXTRA_LINE_READ:
 
   # This handles "connection from" and the like, when the port is given
   if (!/listening for SMTP on/ && !/Connecting to/ && !/=>/ && !/->/
-      && !/\*>/&& !/==/  && !/\*\*/ && !/Connection refused/ && !/in response to/)
+      && !/\*>/&& !/==/  && !/\*\*/ && !/Connection refused/ && !/in response to/
+      && !/T(?:ransport)?:/)
     {
     s/\[([a-z\d:]+|\d+(?:\.\d+){3})\]:(\d+)/"[".$1."]:".new_value($2,"%s",\$next_port)/ie;
     }
index c4afc2c9788e224f8b5b2c3d1f1a92616b7081b3..070010d0fccce26e6a891de753f51fa75bd5e745 100644 (file)
@@ -1,5 +1,6 @@
-# Log buffer fill
+# Log buffer overfill
 #
+# Feed using an ACL logwrite
 exim -bh V4NET.0.0.0
 helo test
 mail from:<>
@@ -7,3 +8,951 @@ rcpt to:<some@body>
 data
 .
 ****
+#
+# Feed using log received_recipients
+exim -bh V4NET.0.0.0
+helo test
+mail from:<>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+rcpt to:<some@body>
+data
+.
+****
index 784cc3913c71e06024632a842f3570b52588b2a5..92b85e55828e4a3d3bc56dd9417949a8ebc0325c 100644 (file)
@@ -132,11 +132,11 @@ Connecting to V4NET.0.0.0 [V4NET.0.0.0]:PORT_S ... V4NET.0.0.0 in hosts_try_fast
 LOG: MAIN
   H=V4NET.0.0.0 [V4NET.0.0.0] Network Error
 set_process_info: pppp delivering 10HmaX-000000005vi-0000: just tried V4NET.0.0.0 [V4NET.0.0.0]:PORT_S for x@y: result DEFER
-added retry item for T:V4NET.0.0.0:V4NET.0.0.0:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S: errno=dd more_errno=dd,A flags=2
 set_process_info: pppp delivering 10HmaX-000000005vi-0000: waiting for a remote delivery subprocess to finish
 set_process_info: pppp delivering 10HmaX-000000005vi-0000 (just run smtp for x@y in subprocess)
 search_tidyup called
-reading retry information for T:V4NET.0.0.0:V4NET.0.0.0:PORT_S from subprocess
+reading retry information for T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S from subprocess
   added retry item
 reading retry information for R:x@y from subprocess
   added retry item
@@ -177,14 +177,14 @@ Writing retry data for R:x@y
    list element: *
    V4NET.0.0.0 in "*"? yes (matched "*")
   *@V4NET.0.0.0 in "*"? yes (matched "*")
-retry for T:V4NET.0.0.0:V4NET.0.0.0:PORT_S (y) = * 0 0
- dbfn_read: key=T:V4NET.0.0.0:V4NET.0.0.0:PORT_S
+retry for T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S (y) = * 0 0
+ dbfn_read: key=T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S
 failing_interval=ttt message_age=ttt
 on queue longer than maximum retry
-Writing retry data for T:V4NET.0.0.0:V4NET.0.0.0:PORT_S
+Writing retry data for T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S
   first failed=dddd last try=dddd next try=+0 expired=0
   errno=dd more_errno=dd,A Network Error
- dbfn_write: key=T:V4NET.0.0.0:V4NET.0.0.0:PORT_S
+ dbfn_write: key=T:[V4NET.0.0.0]:V4NET.0.0.0:PORT_S
 timed out: all retries expired
 LOG: MAIN
   ** x@y: retry timeout exceeded
index 99795418794b04bc174f5ed0b42a0235b1655780..1364d55a2af1afe83c97bc7f6ef31396b46d868a 100644 (file)
@@ -21,7 +21,7 @@ delivering 10HmaX-000000005vi-0000 to 127.0.0.1 [127.0.0.1] (userx@test.ex)
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_D ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_D: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_D: errno=dd more_errno=dd,A flags=2
 all IP addresses skipped or deferred at least one address
 updating wait-t1 database
 added 10HmaX-000000005vi-0000 to queue for 127.0.0.1
@@ -50,7 +50,7 @@ delivering 10HmaX-000000005vi-0000 to 127.0.0.1 [127.0.0.1] (userx@test.ex)
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_D2 ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_D2: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_D2: errno=dd more_errno=dd,A flags=2
 all IP addresses skipped or deferred at least one address
 updating wait-t1 database
 already listed for 127.0.0.1
index 86070390d2291716613ab040590e99a096e42ef3..d14e2dbd20e2dcf3522ff536ece6af4b8e03578a 100644 (file)
@@ -89,7 +89,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
 set_process_info: pppp delivering 10HmaZ-000000005vi-0000: just tried 127.0.0.1 [127.0.0.1]:PORT_S for CALLER@the.local.host.name: result DEFER
-added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
 all IP addresses skipped or deferred at least one address
 updating wait-t1 database
 added 10HmaZ-000000005vi-0000 to queue for 127.0.0.1
index 18ebdc0025da7a0823b32a2ecda2b9f27f8f40a5..7bb550c8147cdc115e49fd3826945ce25c184f74 100644 (file)
@@ -18,7 +18,7 @@ hosts_max_try limit reached with this host
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
 temporary delivery error(s) override hosts_max_try (message older than host's retry time)
 Clearing TFO as not first host for message
 getting address for 127.0.0.1
@@ -30,7 +30,7 @@ hosts_max_try limit reached with this host
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
 temporary delivery error(s) override hosts_max_try (message older than host's retry time)
 Clearing TFO as not first host for message
 getting address for 127.0.0.1
@@ -42,7 +42,7 @@ hosts_max_try limit reached with this host
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
 temporary delivery error(s) override hosts_max_try (message older than host's retry time)
 Clearing TFO as not first host for message
 getting address for 127.0.0.1
@@ -54,7 +54,7 @@ hosts_max_try limit reached with this host
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
 reached transport hosts_max_try limit 1
 all IP addresses skipped or deferred at least one address
 updating wait-t1 database
@@ -109,7 +109,7 @@ hosts_max_try limit reached with this host
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
 temporary delivery error(s) override hosts_max_try (message older than host's retry time)
 Clearing TFO as not first host for message
 getting address for 127.0.0.1
@@ -121,7 +121,7 @@ hosts_max_try limit reached with this host
 Connecting to 127.0.0.1 [127.0.0.1]:PORT_S ...  failed: Connection refused
 LOG: MAIN
   H=127.0.0.1 [127.0.0.1] Connection refused
-added retry item for T:127.0.0.1:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_S: errno=dd more_errno=dd,A flags=2
 temporary delivery error(s) override hosts_max_try (message older than host's retry time)
 reached transport hosts_max_try_hardlimit limit 2
 all IP addresses skipped or deferred at least one address
index ce3804c13eb3af02e0b93e6cdc955cf8f857304e..bb517b859ae02b64fadb8149b416e92fe6379583 100644 (file)
@@ -55,7 +55,7 @@ ok=0 send_quit=0 send_rset=1 continue_more=0 yield=0 first_address is NULL
   SMTP<< 221 Closing connection
   SMTP(close)>>
 cmdlog: '220:EHLO:250-:MAIL|:RCPT|:DATA:250:250:300:.:QUIT+:451:221'
-added retry item for T:127.0.0.1:127.0.0.1:PORT_D:10HmaZ-000000005vi-0000: errno=-46 more_errno=dd,A flags=6
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_D:10HmaZ-000000005vi-0000: errno=-46 more_errno=dd,A flags=6
 all IP addresses skipped or deferred at least one address
 Leaving send_to_server transport
 LOG: MAIN
@@ -187,7 +187,7 @@ ok=0 send_quit=0 send_rset=1 continue_more=0 yield=0 first_address is NULL
   SMTP(closed)<<
   SMTP(close)>>
 cmdlog: '220:EHLO:250-:MAIL|:RCPT|:DATA:250:250:300:.:QUIT+'
-added retry item for T:127.0.0.1:127.0.0.1:PORT_D:10HmbB-000000005vi-0000: errno=-18 more_errno=dd,A flags=6
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_D:10HmbB-000000005vi-0000: errno=-18 more_errno=dd,A flags=6
 all IP addresses skipped or deferred at least one address
 Leaving send_to_server transport
 LOG: MAIN
index 21a7f21cce2986b4c8bffbe6c3f3fddfbda427c4..74415ceca415e3494b1923d291aa6b43ca2e1135 100644 (file)
 >>>  list element: @
 >>>  list element: @[]
 >>> test in helo_lookup_domains? no (end of list)
->>> processing "accept" (TESTSUITE/test-config 21)
+>>> processing "accept" (TESTSUITE/test-config 23)
 >>> accept: condition test succeeded in inline ACL
 >>> end of inline ACL: ACCEPT
 >>> using ACL "check_data"
->>> processing "accept" (TESTSUITE/test-config 15)
+>>> processing "accept" (TESTSUITE/test-config 17)
 >>> check set acl_m0 = ${sg{${sg{${sg{aaa}{a}{bbbbbbbbbbb}}}{b}{cccccccccccc}}}{c}{ddddddddddddddddddd}}
 >>>                  = dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
 **** debug string too long - truncated ****
@@ -36,4 +36,2860 @@ LOG: 10HmaX-000000005vi-0000 ddddddddddddddddddddddddddddddddddddddddddddddddddd
 LOG: 10HmaX-000000005vi-0000 ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeaaa
 >>> accept: condition test succeeded in ACL "check_data"
 >>> end of ACL "check_data": ACCEPT
-LOG: 10HmaX-000000005vi-0000 <= <> H=(test) [V4NET.0.0.0] P=smtp S=sss
+LOG: 10HmaX-000000005vi-0000 <= <> H=(test) [V4NET.0.0.0] P=smtp S=sss for some@body
+>>> host in hosts_connection_nolog? no (option unset)
+>>> host in host_lookup? no (option unset)
+>>> host in host_reject_connection? no (option unset)
+>>> host in sender_unqualified_hosts? no (option unset)
+>>> host in recipient_unqualified_hosts? no (option unset)
+>>> host in helo_verify_hosts? no (option unset)
+>>> host in helo_try_verify_hosts? no (option unset)
+>>> host in helo_accept_junk_hosts? no (option unset)
+>>> test in helo_lookup_domains?
+>>>  list element: @
+>>>  list element: @[]
+>>> test in helo_lookup_domains? no (end of list)
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> processing "accept" (TESTSUITE/test-config 23)
+>>> accept: condition test succeeded in inline ACL
+>>> end of inline ACL: ACCEPT
+>>> using ACL "check_data"
+>>> processing "accept" (TESTSUITE/test-config 17)
+>>> check set acl_m0 = ${sg{${sg{${sg{aaa}{a}{bbbbbbbbbbb}}}{b}{cccccccccccc}}}{c}{ddddddddddddddddddd}}
+>>>                  = dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+**** debug string too long - truncated ****
+>>> check logwrite = ${acl_m0}eeeeeeeeeeeeeee
+>>>                = dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+**** debug string too long - truncated ****
+LOG: 10HmaY-000000005vi-0000 ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeee
+>>> check logwrite = ${acl_m0}eeeeeeeeeeeeeeea
+>>>                = dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+**** debug string too long - truncated ****
+LOG: 10HmaY-000000005vi-0000 ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeea
+>>> check logwrite = ${acl_m0}eeeeeeeeeeeeeeeaa
+>>>                = dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+**** debug string too long - truncated ****
+LOG: 10HmaY-000000005vi-0000 ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeaa
+>>> check logwrite = ${acl_m0}eeeeeeeeeeeeeeeaaa
+>>>                = dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
+**** debug string too long - truncated ****
+LOG: 10HmaY-000000005vi-0000 ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeaaa
+>>> accept: condition test succeeded in ACL "check_data"
+>>> end of ACL "check_data": ACCEPT
+LOG: 10HmaY-000000005vi-0000 <= <> H=(test) [V4NET.0.0.0] P=smtp S=sss for some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body some@body som<trunc>
index 4d744afd0255e41d287628282d076d858105a3ad..730dc2c0a98b677ee331b98470fce272de33d661 100644 (file)
@@ -189,7 +189,7 @@ ok=0 send_quit=0 send_rset=1 continue_more=0 yield=0 first_address is NULL
   SMTP<< 221 Closing connection
   SMTP(close)>>
 cmdlog: '220:EHLO:250-:MAIL|:RCPT|:BDAT+:QUIT+:250:250:451:221'
-added retry item for T:127.0.0.1:127.0.0.1:PORT_D:10HmaZ-000000005vi-0000: errno=-46 more_errno=dd,A flags=6
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_D:10HmaZ-000000005vi-0000: errno=-46 more_errno=dd,A flags=6
 all IP addresses skipped or deferred at least one address
 Leaving send_to_server transport
 LOG: MAIN
@@ -329,7 +329,7 @@ ok=0 send_quit=0 send_rset=1 continue_more=0 yield=0 first_address is NULL
   SMTP(closed)<<
   SMTP(close)>>
 cmdlog: '220:EHLO:250-:MAIL|:RCPT|:BDAT+:QUIT+:250:250'
-added retry item for T:127.0.0.1:127.0.0.1:PORT_D:10HmbB-000000005vi-0000: errno=-18 more_errno=dd,A flags=6
+added retry item for T:[127.0.0.1]:127.0.0.1:PORT_D:10HmbB-000000005vi-0000: errno=-18 more_errno=dd,A flags=6
 all IP addresses skipped or deferred at least one address
 Leaving send_to_server transport
 LOG: MAIN
index d3dd7cffc24287a9770a59f0e1f3f49449c4e31a..4647ccbedf7fee0f077087d378596404dbf9a37b 100644 (file)
@@ -1,5 +1,5 @@
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224 -19 65 H=127.0.0.1 [127.0.0.1]: Malformed SMTP reply in response to RCPT TO:<userx@domain1>: 550 The answer is no, but I am going to make sure it is a very l
+  T:[127.0.0.1]:127.0.0.1:PORT_S -19 65 H=127.0.0.1 [127.0.0.1]: Malformed SMTP reply in response to RCPT TO:<userx@domain1>: 550 The answer is no, but I am going to make sure it is a very l
 first failed = time last try = time2 next try = time2 + 3600
 
 ******** SERVER ********
index dbcd7907935b9372ab231c752a164663998ed529..37752fc5f3ba452bda7b716bfe9b028f1819313c 100644 (file)
@@ -1,6 +1,6 @@
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1223 dd 65 Connection refused
+  T:[127.0.0.1]:127.0.0.1:1223 dd 65 Connection refused
 first failed = time last try = time2 next try = time2 + 600
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1223 dd 65 Connection refused
+  T:[127.0.0.1]:127.0.0.1:1223 dd 65 Connection refused
 first failed = time last try = time2 next try = time2 + 600
index caecaea8abbd489c4da4742f063aee338e8735ae..9b4f1785d3415fcfc3ea796314be06175f05bffd 100644 (file)
@@ -4,13 +4,13 @@ Retry rule: *  timeout_connect  F,1d,1m;
 Retry rule: *  timeout_A  F,1d,30s; 
 Retry rule: *  timeout_connect_A  F,1d,29s; 
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224 dd 321 Connection timed out
+  T:[127.0.0.1]:127.0.0.1:PORT_S dd 321 Connection timed out
 first failed = time last try = time2 next try = time2 + 60
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224 dd 321 Connection timed out
+  T:[127.0.0.1]:127.0.0.1:PORT_S dd 321 Connection timed out
 first failed = time last try = time2 next try = time2 + 30
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224 dd 321 Connection timed out
+  T:[127.0.0.1]:127.0.0.1:PORT_S dd 321 Connection timed out
 first failed = time last try = time2 next try = time2 + 30
 +++++++++++++++++++++++++++
   R:xx.test.again.dns -1 0 host lookup did not complete
index 2da7c051ef6da2b2c1f3777634a04645be7e7689..6402924151f4910328ca8dced7a048820784ff55 100644 (file)
@@ -1,5 +1,5 @@
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1225 dd 65 Connection refused
+  T:[127.0.0.1]:127.0.0.1:1225 dd 65 Connection refused
 first failed = time last try = time2 next try = time2 + 600
-  T:127.0.0.1:127.0.0.1:1226 dd 65 Connection refused
+  T:[127.0.0.1]:127.0.0.1:1226 dd 65 Connection refused
 first failed = time last try = time2 next try = time2 + 600
index b4ae3cce2aec507c285d791ea4fa2930c93bc834..4491500a7779021078bfac0d171710c06f127635 100644 (file)
@@ -1,8 +1,8 @@
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224:10HmaX-000000005vi-0000 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after end of data: 850 NONSENSE
+  T:[127.0.0.1]:127.0.0.1:1224:10HmaX-000000005vi-0000 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after end of data: 850 NONSENSE
 first failed = time last try = time2 next try = time2 + 10
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224:10HmaX-000000005vi-0000 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 850 RUBBISH
+  T:[127.0.0.1]:127.0.0.1:1224:10HmaX-000000005vi-0000 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 850 RUBBISH
 first failed = time last try = time2 next try = time2 + 10
 +++++++++++++++++++++++++++
   R:abcd@xyz:<CALLER@the.local.host.name> -44 12865 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:<abcd@xyz>: 850 RUBBISH
index ac02261ac6069411d3715e41b14ce80c53c174f9..acba7c8db99c2d2ff10285d300e5eacc7a9cabf0 100644 (file)
@@ -1,5 +1,5 @@
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224:10HmaX-000000005vi-0000 -45 13377 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@myhost.test.ex>: 452 temporary error
+  T:[127.0.0.1]:127.0.0.1:1224:10HmaX-000000005vi-0000 -45 13377 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@myhost.test.ex>: 452 temporary error
 first failed = time last try = time2 next try = time2 + 0 *
 +++++++++++++++++++++++++++
   R:userx@x.y:<CALLER@myhost.test.ex> -44 13377 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after RCPT TO:<userx@x.y>: 452 temporary error
index 727e2a2fb396959440dd2e9d7aacd316523a9a43..635730dc97e5a8528512d7ac828a88dd92bfe4bf 100644 (file)
@@ -1,5 +1,5 @@
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224:10HmaX-000000005vi-0000 -45 12865 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@myhost.test.ex>: 450 DELAY
+  T:[127.0.0.1]:127.0.0.1:1224:10HmaX-000000005vi-0000 -45 12865 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@myhost.test.ex>: 450 DELAY
 first failed = time last try = time2 next try = time2 + 10
 
 ******** SERVER ********
index 48ce1dee09cd6bda2f324fb7035083400393b2c5..5fc87bef22aee1ccf8f05f079267de704410c879 100644 (file)
@@ -11,9 +11,9 @@
 250 OK id=10HmaY-000000005vi-0000\r
 221 the.local.host.name closing connection\r
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1225/127.0.0.1 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after initial connection: 451 Temporary local problem - please try later
+  T:[127.0.0.1]:127.0.0.1:1225/127.0.0.1 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after initial connection: 451 Temporary local problem - please try later
 first failed = time last try = time2 next try = time2 + 2
-  T:127.0.0.1:127.0.0.1:1225/ip4.ip4.ip4.ip4 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after initial connection: 451 Temporary local problem - please try later
+  T:[127.0.0.1]:127.0.0.1:1225/ip4.ip4.ip4.ip4 0 65 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after initial connection: 451 Temporary local problem - please try later
 first failed = time last try = time2 next try = time2 + 2
 +++++++++++++++++++++++++++
 +++++++++++++++++++++++++++
index f7969f84ff630df581d80528379832ea9edd8f86..91854d5cb298edaadbb381d422a645777f222f4c 100644 (file)
 **** SMTP testing: that is not a real message id!
 
 421 the.local.host.name lost input connection\r
+
+**** SMTP testing session as if from host V4NET.0.0.0
+**** but without any ident (RFC 1413) callback.
+**** This is not for real!
+
+220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000\r
+250 the.local.host.name Hello test [V4NET.0.0.0]\r
+250 OK\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+250 Accepted\r
+354 Enter message, ending with "." on a line by itself\r
+250 OK id=10HmaY-000000005vi-0000\r
+
+**** SMTP testing: that is not a real message id!
+
+421 the.local.host.name lost input connection\r
index 0fb622a037113b1222367ea03883fd88e67b2dd7..42485be936b5b928f620e4741c8ee22cf5c0fc5a 100644 (file)
@@ -1,18 +1,14 @@
 +++++++++++++++++++++++++++
-  T:127.0.0.1:127.0.0.1:1224:10HmaX-000000005vi-0000 -45 12865 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
+  T:[127.0.0.1]:127.0.0.1:1224:10HmaX-000000005vi-0000 -45 12865 H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
 first failed = time last try = time2 next try = time2 + 7200
-  T:::1:::1:1224:10HmaX-000000005vi-0000 -45 12865 H=::1 [::1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
+  T:[::1]:[::1]:1224:10HmaX-000000005vi-0000 -45 12865 H=::1 [::1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
 first failed = time last try = time2 next try = time2 + 7200
-Transport: 127.0.0.1 [127.0.0.1]:1111 10HmaX-000000005vi-0000 error -45: H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
-  first failed: 07-Mar-2000 12:21:52
-  last tried:   07-Mar-2000 12:21:52
-  next try at:  07-Mar-2000 12:21:52
-Transport:  [:1:::1:1224:10HmaX-000000005vi-0000]:1224 10HmaX-000000005vi-0000 error -45: H=::1 [::1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
+Transport: [127.0.0.1] 127.0.0.1:PORT_S 10HmaX-000000005vi-0000 error -45: H=127.0.0.1 [127.0.0.1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
   first failed: 07-Mar-2000 12:21:52
   last tried:   07-Mar-2000 12:21:52
   next try at:  07-Mar-2000 12:21:52
 exinext exit code = 0
-Transport:  [:1:::1:1224:10HmaX-000000005vi-0000] error -45: H=::1 [::1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
+Transport: [::1] [::1]:PORT_S 10HmaX-000000005vi-0000 error -45: H=::1 [::1]: SMTP error from remote mail server after MAIL FROM:<CALLER@the.local.host.name>: 450 Temporary error
   first failed: 07-Mar-2000 12:21:52
   last tried:   07-Mar-2000 12:21:52
   next try at:  07-Mar-2000 12:21:52