#endif
(void)close(inblock.sock);
#ifdef EXPERIMENTAL_EVENT
- (void) event_raise(addr->transport->event_action,
- US"tcp:close", NULL);
+ (void) event_raise(addr->transport->event_action, US"tcp:close", NULL);
#endif
}
if (callout > 0)
{
host_item *host_list = addr->host_list;
+ transport_instance * tp;
/* Make up some data for use in the case where there is no remote
transport. */
transport's options, so as to mimic what would happen if we were really
sending a message to this address. */
- if (addr->transport != NULL && !addr->transport->info->local)
+ if ((tp = addr->transport) && !tp->info->local)
{
- (void)(addr->transport->setup)(addr->transport, addr, &tf, 0, 0, NULL);
+ (void)(tp->setup)(tp, addr, &tf, 0, 0, NULL);
/* If the transport has hosts and the router does not, or if the
transport is configured to override the router's hosts, we must build a
{
log_write(0, LOG_MAIN|LOG_PANIC, "failed to expand list of hosts "
"\"%s\" in %s transport for callout: %s", tf.hosts,
- addr->transport->name, expand_string_message);
+ tp->name, expand_string_message);
}
else
{
else
{
dnssec_domains * dnssec_domains = NULL;
- if (Ustrcmp(addr->transport->driver_name, "smtp") == 0)
+ if (Ustrcmp(tp->driver_name, "smtp") == 0)
{
smtp_transport_options_block * ob =
- (smtp_transport_options_block *)
- addr->transport->options_block;
+ (smtp_transport_options_block *) tp->options_block;
dnssec_domains = &ob->dnssec;
}
}
for (addr_list = addr_local, i = 0; i < 2; addr_list = addr_remote, i++)
- {
- while (addr_list != NULL)
+ while (addr_list)
{
address_item *addr = addr_list;
address_item *p = addr->parent;
+ transport_instance * tp = addr->transport;
+
addr_list = addr->next;
fprintf(f, "%s", CS addr->address);
if (!testflag(addr, af_pfr))
{
tree_node *tnode;
- if ((tnode = tree_search(tree_duplicates, addr->unique)) != NULL)
+ if ((tnode = tree_search(tree_duplicates, addr->unique)))
fprintf(f, " [duplicate, would not be delivered]");
else tree_add_duplicate(addr->unique, addr);
}
/* Now show its parents */
- while (p != NULL)
- {
+ for (p = addr->parent; p; p = p->parent)
fprintf(f, "\n <-- %s", p->address);
- p = p->parent;
- }
fprintf(f, "\n ");
/* Show router, and transport */
- fprintf(f, "router = %s, ", addr->router->name);
- fprintf(f, "transport = %s\n", (addr->transport == NULL)? US"unset" :
- addr->transport->name);
+ fprintf(f, "router = %s, transport = %s\n",
+ addr->router->name, tp ? tp->name : US"unset");
/* Show any hosts that are set up by a router unless the transport
is going to override them; fiddle a bit to get a nice format. */
- if (addr->host_list != NULL && addr->transport != NULL &&
- !addr->transport->overrides_hosts)
+ if (addr->host_list && tp && !tp->overrides_hosts)
{
host_item *h;
int maxlen = 0;
int maxaddlen = 0;
- for (h = addr->host_list; h != NULL; h = h->next)
- {
+ for (h = addr->host_list; h; h = h->next)
+ { /* get max lengths of host names, addrs */
int len = Ustrlen(h->name);
if (len > maxlen) maxlen = len;
- len = (h->address != NULL)? Ustrlen(h->address) : 7;
+ len = h->address ? Ustrlen(h->address) : 7;
if (len > maxaddlen) maxaddlen = len;
}
- for (h = addr->host_list; h != NULL; h = h->next)
- {
- int len = Ustrlen(h->name);
- fprintf(f, " host %s ", h->name);
- while (len++ < maxlen) fprintf(f, " ");
- if (h->address != NULL)
- {
- fprintf(f, "[%s] ", h->address);
- len = Ustrlen(h->address);
- }
- else if (!addr->transport->info->local) /* Omit [unknown] for local */
- {
- fprintf(f, "[unknown] ");
- len = 7;
- }
- else len = -3;
- while (len++ < maxaddlen) fprintf(f," ");
- if (h->mx >= 0) fprintf(f, "MX=%d", h->mx);
+ for (h = addr->host_list; h; h = h->next)
+ {
+ fprintf(f, " host %-*s ", maxlen, h->name);
+
+ if (h->address)
+ fprintf(f, "[%s%-*c", h->address, maxaddlen+1 - Ustrlen(h->address), ']');
+ else if (tp->info->local)
+ fprintf(f, " %-*s ", maxaddlen, ""); /* Omit [unknown] for local */
+ else
+ fprintf(f, "[%s%-*c", "unknown", maxaddlen+1 - 7, ']');
+
+ if (h->mx >= 0) fprintf(f, " MX=%d", h->mx);
if (h->port != PORT_NONE) fprintf(f, " port=%d", h->port);
- if (running_in_test_harness)
-#ifndef DISABLE_DNSSEC
- fprintf(f, " ad=%s", h->dnssec==DS_YES ? "yes" : "no");
-#else
- fprintf(f, " ad=no");
-#endif
- if (h->status == hstatus_unusable) fprintf(f, " ** unusable **");
- fprintf(f, "\n");
+ if (running_in_test_harness && h->dnssec == DS_YES) fputs(" AD", f);
+ if (h->status == hstatus_unusable) fputs(" ** unusable **", f);
+ fputc('\n', f);
}
}
}
- }
/* Yield will be DEFER or FAIL if any one address has, only for full_info (which is
the -bv or -bt case). */
s/^\s+host\s(\S+)\s+(\S+)/ host $1 $2/;
s/^\s+(host\s\S+\s\S+)\s+(port=.*)/ host $1 $2/;
s/^\s+(host\s\S+\s\S+)\s+(?=MX=)/ $1 /;
- s/^\s+host\s.*?\K\s+(ad=\S+)/ $1/;
s/host\s\Q$parm_ipv4\E\s\[\Q$parm_ipv4\E\]/host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4]/;
s/host\s\Q$parm_ipv6\E\s\[\Q$parm_ipv6\E\]/host ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6 [ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6]/;
s/\b\Q$parm_ipv4\E\b/ip4.ip4.ip4.ip4/g;
# log_defer_output on pipe transport
#
+#XXX maybe collapse into 0048?
+#
exim a
****
sleep 1
userx@mxt5.test.ex cannot be resolved at this time: lowest numbered MX record points to local host
userx@mxt6.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] MX=5 ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=5
userx@mxt7.test.ex
router = lookuphost, transport = smtp
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
userx@mxt7.test.ex
router = lookuphost, transport = smtp
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
userx@mxt8.test.ex
router = lookuphost, transport = smtp
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
userx@mxt8.test.ex
router = lookuphost, transport = smtp
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
xx@domain1
router = domainlist, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
xx@route1.ex
router = domainlist, transport = smtp
- host ten-2.test.ex [V4NET.0.0.2] ad=no
+ host ten-2.test.ex [V4NET.0.0.2]
xx@domain3
router = domainlist, transport = smtp
- host ten-3.test.ex [V4NET.0.0.3] ad=no
+ host ten-3.test.ex [V4NET.0.0.3]
xxx@ten-1.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
xxx@ten-2.test.ex is undeliverable: Unrouteable address
xx@mxt6.test.ex
router = lookuphost, transport = remote_smtp
- host ten-1.test.ex [V4NET.0.0.1] MX=5 ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=5
myhost.test.ex@mxt1.test.ex
router = self, transport = remote_smtp
- host myhost.test.ex [V4NET.10.10.10] ad=no
+ host myhost.test.ex [V4NET.10.10.10]
xx@mxt1.test.ex
router = self2, transport = remote_smtp
- host myhost.test.ex [V4NET.10.10.10] ad=no
+ host myhost.test.ex [V4NET.10.10.10]
xx@not.exist is undeliverable: Unrouteable address
router = select, transport = dummy
XYZ@ten-1.test.ex
router = manual, transport = dummy
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
xyz@ten-1.test.ex is undeliverable: unrouteable mail domain "ten-1.test.ex"
x@mxt10.test.ex
router = domainlist, transport = smtp
- host V4NET.0.0.1 [V4NET.0.0.1] MX=5 ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1] MX=5
xx@mxt6.test.ex
router = lookuphost, transport = remote_smtp
- host ten-1.test.ex [V4NET.0.0.1] MX=5 ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=5
myhost.test.ex@mxt1.test.ex
router = self, transport = remote_smtp
- host myhost.test.ex [V4NET.10.10.10] ad=no
+ host myhost.test.ex [V4NET.10.10.10]
xx@mxt1.test.ex
router = self2, transport = remote_smtp
- host myhost.test.ex [V4NET.10.10.10] ad=no
+ host myhost.test.ex [V4NET.10.10.10]
xx@not.exist is undeliverable: Unrouteable address
ff@mxt1.test.ex is undeliverable: lowest numbered MX record points to local host
fff@mxt1.test.ex is undeliverable: lookup of host "fff" failed in fail router
abcd@test.again.dns cannot be resolved at this time: host lookup did not complete
abcd@ten-1.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
usery@test.again.dns cannot be resolved at this time: host lookup for test.again.dns did not complete (DNS timeout?)
userz@test.again.dns cannot be resolved at this time: host lookup for test.again.dns did not complete (DNS timeout?)
xyz@ten-1.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
userx@test.fail.dns cannot be resolved at this time: host lookup did not complete
abcd@test.fail.dns cannot be resolved at this time: host lookup did not complete
abcd@ten-1.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
usery@test.fail.dns cannot be resolved at this time: host lookup for test.fail.dns did not complete (DNS timeout?)
userz@test.fail.dns cannot be resolved at this time: host lookup for test.fail.dns did not complete (DNS timeout?)
xyz@ten-1.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
userx@nonexist.test.ex is undeliverable: Unrouteable address
abcd@nonexist.test.ex is undeliverable: Unrouteable address
abcd@ten-1.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
usery@nonexist.test.ex cannot be resolved at this time: lookup of host "nonexist.test.ex" failed in useryz router
userz@nonexist.test.ex cannot be resolved at this time: lookup of host "nonexist.test.ex" failed in useryz router
xyz@ten-1.test.ex
router = lookuphost, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
srv@test.again.dns cannot be resolved at this time: host lookup did not complete
srv@test.fail.dns cannot be resolved at this time: host lookup did not complete
x@x
router = others, transport = smtp2
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.1 [V4NET.0.0.1]
x@y
router = others, transport = smtp2
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.3 [V4NET.0.0.3]
x@z
router = others, transport = smtp2
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.1 [V4NET.0.0.1]
x@batch
router = batched, transport = smtp2
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.7 [V4NET.0.0.7]
y@batch
router = batched, transport = smtp2
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.7 [V4NET.0.0.7]
z@batch
router = batched, transport = smtp2
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.7 [V4NET.0.0.7]
x@batch2
router = batched, transport = smtp2
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.7 [V4NET.0.0.7]
y@batch2
router = batched, transport = smtp2
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.7 [V4NET.0.0.7]
x@batch3
router = batched2, transport = smtp2
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.7 [V4NET.0.0.7]
y@batch3
router = batched2, transport = smtp2
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.7 [V4NET.0.0.7]
x@batch4
router = batched2, transport = smtp2
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.7 [V4NET.0.0.7]
y@batch4
router = batched2, transport = smtp2
- host V4NET.0.0.2 [V4NET.0.0.2] ad=no
- host V4NET.0.0.1 [V4NET.0.0.1] ad=no
- host V4NET.0.0.3 [V4NET.0.0.3] ad=no
- host V4NET.0.0.5 [V4NET.0.0.5] ad=no
- host V4NET.0.0.6 [V4NET.0.0.6] ad=no
- host V4NET.0.0.4 [V4NET.0.0.4] ad=no
- host V4NET.0.0.7 [V4NET.0.0.7] ad=no
+ host V4NET.0.0.2 [V4NET.0.0.2]
+ host V4NET.0.0.1 [V4NET.0.0.1]
+ host V4NET.0.0.3 [V4NET.0.0.3]
+ host V4NET.0.0.5 [V4NET.0.0.5]
+ host V4NET.0.0.6 [V4NET.0.0.6]
+ host V4NET.0.0.4 [V4NET.0.0.4]
+ host V4NET.0.0.7 [V4NET.0.0.7]
userx@bdomain1
router = r3, transport = smtp2
- host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4] ad=no
- host 127.0.0.1 [127.0.0.1] ad=no
- host the.local.host.name [ip4.ip4.ip4.ip4] ad=no
+ host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4]
+ host 127.0.0.1 [127.0.0.1]
+ host the.local.host.name [ip4.ip4.ip4.ip4]
userx@bdomain2
router = r3, transport = smtp2
- host the.local.host.name [ip4.ip4.ip4.ip4] ad=no
- host 127.0.0.1 [127.0.0.1] ad=no
- host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4] ad=no
+ host the.local.host.name [ip4.ip4.ip4.ip4]
+ host 127.0.0.1 [127.0.0.1]
+ host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4]
userx@bdomain3
router = r3, transport = smtp2
- host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4] ad=no
- host 127.0.0.1 [127.0.0.1] ad=no
- host the.local.host.name [ip4.ip4.ip4.ip4] ad=no
+ host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4]
+ host 127.0.0.1 [127.0.0.1]
+ host the.local.host.name [ip4.ip4.ip4.ip4]
******** SERVER ********
Listening on port 1224 ...
userx@localhost
router = rrr, transport = local
- host a.host.name ad=no
+ host a.host.name
userx@localhost verified
userx@localhost
router = rrr, transport = local
- host a.host.name ad=no
+ host a.host.name
userx@localhost
router = rrr, transport = local
- host a.host.name ad=no
+ host a.host.name
userx@smtp
router = sss, transport = smtp
- host 127.0.0.1 [127.0.0.1] ad=no
+ host 127.0.0.1 [127.0.0.1]
x@y
router = r1, transport = t1
- host quoted.y ad=no
+ host quoted.y
x@d1
router = r1, transport = t1
- host 192.168.4.3 [192.168.4.3] ad=no
+ host 192.168.4.3 [192.168.4.3]
x@d2
router = r2, transport = t2
- host V4NET.9.8.7 [V4NET.9.8.7] ad=no
+ host V4NET.9.8.7 [V4NET.9.8.7]
x@d30
router = r3, transport = t4
- host 1.2.3.4 [1.2.3.4] ad=no
+ host 1.2.3.4 [1.2.3.4]
x@d31
router = r3, transport = t3
- host 1.2.3.4 [1.2.3.4] ad=no
+ host 1.2.3.4 [1.2.3.4]
xx@yy
router = r1, transport = t1
- host 1.2.3.4 [1.2.3.4] ad=no
- host other2.test.ex [V4NET.12.3.2] ad=no
+ host 1.2.3.4 [1.2.3.4]
+ host other2.test.ex [V4NET.12.3.2]
xxx@ten-1.test.ex
<-- xxx@ten-1
router = r2, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
xxx@testsub.sub.test.ex
<-- xxx@testsub.test.ex
<-- xxx@testsub
router = r2, transport = t1
- host testsub.sub.test.ex [V4NET.99.0.3] ad=no
+ host testsub.sub.test.ex [V4NET.99.0.3]
x@mxt9.test.ex
router = r2, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] MX=5 ad=no
- host ten-2.test.ex [V4NET.0.0.2] MX=6 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=7 ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=5
+ host ten-2.test.ex [V4NET.0.0.2] MX=6
+ host ten-3.test.ex [V4NET.0.0.3] MX=7
x@mxt14.test.ex
router = r2, transport = t1
- host ten-5-6.test.ex [V4NET.0.0.5] MX=4 ad=no
- host ten-5-6.test.ex [V4NET.0.0.6] MX=4 ad=no
+ host ten-5-6.test.ex [V4NET.0.0.5] MX=4
+ host ten-5-6.test.ex [V4NET.0.0.6] MX=4
x@manualroute
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] ad=no
- host ten-1.test.ex [V4NET.0.0.1] ad=no
- host ten-2.test.ex [V4NET.0.0.2] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
+ host ten-1.test.ex [V4NET.0.0.1]
+ host ten-2.test.ex [V4NET.0.0.2]
syntax error: domain missing or malformed
bounce@π.test.ex
router = r1, transport = t1
- host mx.xn--1xa.test.ex [V4NET.255.255.255] MX=0 ad=no
+ host mx.xn--1xa.test.ex [V4NET.255.255.255] MX=0
k@mxt13.test.ex
router = dnslookup, transport = smtp
- host other1.test.ex [V4NET.12.4.5] MX=4 ad=no
+ host other1.test.ex [V4NET.12.4.5] MX=4
x@manual.route
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] ad=no
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
x@manual.route
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] ad=no
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
- host ten-6.test.ex [V4NET.0.0.6] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
+ host ten-6.test.ex [V4NET.0.0.6]
x@manual.route
router = r1, transport = t1
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
- host ten-6.test.ex [V4NET.0.0.6] ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
+ host ten-6.test.ex [V4NET.0.0.6]
x@random.manual.route
router = r2, transport = t1
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
x@random.manual.route
router = r2, transport = t1
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
+ host ten-1.test.ex [V4NET.0.0.1]
x@random.manual.route
router = r2, transport = t1
- host ten-6.test.ex [V4NET.0.0.6] ad=no
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-6.test.ex [V4NET.0.0.6]
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
+ host ten-1.test.ex [V4NET.0.0.1]
y@random.manual.route
router = r2, transport = t1
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
- host ten-6.test.ex [V4NET.0.0.6] ad=no
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
+ host ten-6.test.ex [V4NET.0.0.6]
+ host ten-1.test.ex [V4NET.0.0.1]
x@random.manual.route
router = r2, transport = t1
- host ten-6.test.ex [V4NET.0.0.6] ad=no
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-6.test.ex [V4NET.0.0.6]
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
x@manual.route
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
x@manual.route cannot be resolved at this time: lowest numbered MX record points to local host
x@manual.route
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] MX=5 ad=no
- host eximtesthost.test.ex [ip4.ip4.ip4.ip4] MX=5 ad=no
- host ten-6.test.ex [V4NET.0.0.6] ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=5
+ host eximtesthost.test.ex [ip4.ip4.ip4.ip4] MX=5
+ host ten-6.test.ex [V4NET.0.0.6]
x@manual.route is undeliverable: lowest numbered MX record points to local host
x@random.manual.route cannot be resolved at this time: lookup of host "localhost.test.ex" failed in r2 router
x@random.manual.route
router = r2, transport = t1
- host ten-6.test.ex [V4NET.0.0.6] ad=no
- host ten-1.test.ex [V4NET.0.0.1] MX=6 ad=no
+ host ten-6.test.ex [V4NET.0.0.6]
+ host ten-1.test.ex [V4NET.0.0.1] MX=6
x@manual.route
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] MX=10 ad=no
- host ten-2.test.ex [V4NET.0.0.2] MX=20 ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=10
+ host ten-2.test.ex [V4NET.0.0.2] MX=20
a@b
router = r1, transport = t1
- host 1.2.3.4 [1.2.3.4] ad=no
+ host 1.2.3.4 [1.2.3.4]
a@b cannot be resolved at this time: remote host address is the local host
x@ten-1.test.ex
<-- x@ten-1
router = all, transport = smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
x@y
router = r1, transport = t1
- host 127.0.0.1 [127.0.0.1] ad=no
+ host 127.0.0.1 [127.0.0.1]
x@nosrv.test.ex is undeliverable: Unrouteable address
x@srv01.test.ex
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] MX=0 port=25 ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=0 port=25
x@mx246.test.ex
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] MX=10 ad=no
- host v6.test.ex [unknown] MX=10 ad=no ** unusable **
+ host ten-1.test.ex [V4NET.0.0.1] MX=10
+ host v6.test.ex [unknown] MX=10 ** unusable **
x@srv02.test.ex
router = r1, transport = t1
- host ten-1.test.ex [V4NET.0.0.1] MX=1 port=99 ad=no
- host ten-2.test.ex [V4NET.0.0.2] MX=1 port=99 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=3 port=66 ad=no
+ host ten-1.test.ex [V4NET.0.0.1] MX=1 port=99
+ host ten-2.test.ex [V4NET.0.0.2] MX=1 port=99
+ host ten-3.test.ex [V4NET.0.0.3] MX=3 port=66
x@nosmtp.test.ex is undeliverable: an MX or SRV record indicated no SMTP service
x@srv03.test.ex is undeliverable: Unrouteable address
x@srv03.test.ex
router = r1, transport = t1
- host ten-4.test.ex [V4NET.0.0.4] MX=0 port=88 ad=no
+ host ten-4.test.ex [V4NET.0.0.4] MX=0 port=88
******** SERVER ********
Listening on port 1224 ...
x@y
router = r1, transport = t1
- host host 127.0.0.1 [127.0.0.1] port=1225 ad=no
- host host 127.0.0.1 [127.0.0.1] port=1226 ad=no
- host host 127.0.0.1 [127.0.0.1] port=1227 ad=no
- host host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4] port=1228 ad=no
- host host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4] port=1223 ad=no
+ host host 127.0.0.1 [127.0.0.1] port=1225
+ host host 127.0.0.1 [127.0.0.1] port=1226
+ host host 127.0.0.1 [127.0.0.1] port=1227
+ host host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4] port=1228
+ host host ipv4.ipv4.ipv4.ipv4 [ipv4.ipv4.ipv4.ipv4] port=1223
userx@alias-eximtesthost.test.ex
<-- userx@alias-eximtesthost
router = dns, transport = smtp
- host eximtesthost.test.ex [ip4.ip4.ip4.ip4] ad=no
+ host eximtesthost.test.ex [ip4.ip4.ip4.ip4]
userx@alias-eximtesthost.test.ex
router = dns, transport = smtp
- host eximtesthost.test.ex [ip4.ip4.ip4.ip4] ad=no
+ host eximtesthost.test.ex [ip4.ip4.ip4.ip4]
userx@test.ex cannot be resolved at this time: lookup failed for all hosts in r1 router: host_find_failed=ignore host_all_ignored=defer
userx@test.ex
router = r1, transport = t1
- host 127.0.0.1 [127.0.0.1] ad=no
+ host 127.0.0.1 [127.0.0.1]
userx@test.ex
router = r1, transport = t1
- host 127.0.0.1 [127.0.0.1] ad=no
- host 127.0.0.2 [127.0.0.2] ad=no
+ host 127.0.0.1 [127.0.0.1]
+ host 127.0.0.2 [127.0.0.2]
userx@test.ex cannot be resolved at this time: lookup failed for all hosts in r1 router: host_find_failed=ignore host_all_ignored=defer
userx@test.ex is undeliverable: Unrouteable address
userx@test.ex is undeliverable: lookup failed for all hosts in r1 router: host_find_failed=ignore host_all_ignored=fail
dnslookup@mx46.test.ex
router = r1, transport = smtp
- host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46 ad=no
- host 46.test.ex [V4NET.0.0.4] MX=46 ad=no
+ host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46
+ host 46.test.ex [V4NET.0.0.4] MX=46
manualroute@test.ex
router = r2, transport = smtp
- host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] ad=no
- host 46.test.ex [V4NET.0.0.4] ad=no
+ host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031]
+ host 46.test.ex [V4NET.0.0.4]
dnslookup@v6.test.ex
router = r1, transport = smtp
- host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032] ad=no
+ host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032]
dnslookup@mx46.test.ex
router = r1, transport = smtp
- host 46.test.ex [V4NET.0.0.4] MX=46 ad=no
+ host 46.test.ex [V4NET.0.0.4] MX=46
manualroute@test.ex
router = r2, transport = smtp
- host 46.test.ex [V4NET.0.0.4] ad=no
+ host 46.test.ex [V4NET.0.0.4]
dnslookup@v6.test.ex is undeliverable: Unrouteable address
Connecting to ip6:ip6:ip6:ip6:ip6:ip6:ip6:ip6 port 1225 ... connected
??? 220
x@46.test.ex
router = r1, transport = t1
- host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] ad=no
- host 46.test.ex [V4NET.0.0.4] ad=no
+ host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031]
+ host 46.test.ex [V4NET.0.0.4]
x@mx46.test.ex
router = r1, transport = t1
- host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46 ad=no
- host 46.test.ex [V4NET.0.0.4] MX=46 ad=no
+ host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46
+ host 46.test.ex [V4NET.0.0.4] MX=46
x@mx246.test.ex
router = r1, transport = t1
- host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032] MX=10 ad=no
- host ten-1.test.ex [V4NET.0.0.1] MX=10 ad=no
+ host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032] MX=10
+ host ten-1.test.ex [V4NET.0.0.1] MX=10
x@mx4646.test.ex
router = r1, transport = t1
- host 46b.test.ex [V6NET:ffff:836f:a00:a:800:200a:c033] MX=46 ad=no
- host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46 ad=no
- host 46b.test.ex [V4NET.0.0.5] MX=46 ad=no
- host 46.test.ex [V4NET.0.0.4] MX=46 ad=no
+ host 46b.test.ex [V6NET:ffff:836f:a00:a:800:200a:c033] MX=46
+ host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46
+ host 46b.test.ex [V4NET.0.0.5] MX=46
+ host 46.test.ex [V4NET.0.0.4] MX=46
x@mx46466.test.ex
router = r1, transport = t1
- host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032] MX=46 ad=no
- host 46b.test.ex [V6NET:ffff:836f:a00:a:800:200a:c033] MX=46 ad=no
- host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46 ad=no
- host 46b.test.ex [V4NET.0.0.5] MX=46 ad=no
- host 46.test.ex [V4NET.0.0.4] MX=46 ad=no
+ host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032] MX=46
+ host 46b.test.ex [V6NET:ffff:836f:a00:a:800:200a:c033] MX=46
+ host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46
+ host 46b.test.ex [V4NET.0.0.5] MX=46
+ host 46.test.ex [V4NET.0.0.4] MX=46
x@mx46466b.test.ex
router = r1, transport = t1
- host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46 ad=no
- host 46.test.ex [V4NET.0.0.4] MX=46 ad=no
- host 46b.test.ex [V6NET:ffff:836f:a00:a:800:200a:c033] MX=47 ad=no
- host 46b.test.ex [V4NET.0.0.5] MX=47 ad=no
- host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032] MX=48 ad=no
+ host 46.test.ex [V6NET:ffff:836f:a00:a:800:200a:c031] MX=46
+ host 46.test.ex [V4NET.0.0.4] MX=46
+ host 46b.test.ex [V6NET:ffff:836f:a00:a:800:200a:c033] MX=47
+ host 46b.test.ex [V4NET.0.0.5] MX=47
+ host v6.test.ex [V6NET:ffff:836f:a00:a:800:200a:c032] MX=48
user@mx-unsec-a-unsec.test.ex
router = dnslookup, transport = smtp
- host a-unsec.test.ex [V4NET.0.0.100] MX=5 ad=no
+ host a-unsec.test.ex [V4NET.0.0.100] MX=5
user@mx-unsec-a-sec.test.ex
router = dnslookup, transport = smtp
- host a-sec.test.ex [V4NET.0.0.100] MX=5 ad=no
+ host a-sec.test.ex [V4NET.0.0.100] MX=5
user@mx-sec-a-unsec.test.ex
router = dnslookup, transport = smtp
- host a-unsec.test.ex [V4NET.0.0.100] MX=5 ad=no
+ host a-unsec.test.ex [V4NET.0.0.100] MX=5
user@mx-sec-a-sec.test.ex
router = dnslookup, transport = smtp
- host a-sec.test.ex [V4NET.0.0.100] MX=5 ad=yes
+ host a-sec.test.ex [V4NET.0.0.100] MX=5 AD
user@mx-sec-a-unsec.test.ex is undeliverable: all relevant MX records point to non-existent hosts
user@mx-sec-a-sec.test.ex
router = dnslookup, transport = smtp
- host a-sec.test.ex [V4NET.0.0.100] MX=5 ad=yes
+ host a-sec.test.ex [V4NET.0.0.100] MX=5 AD
foo@mx-sec-a-aa.test.ex
router = dnslookup, transport = smtp
- host a-aa.test.ex [V4NET.0.0.100] MX=5 ad=no
+ host a-aa.test.ex [V4NET.0.0.100] MX=5
foo@mx-aa-a-sec.test.ex
router = dnslookup, transport = smtp
- host a-sec.test.ex [V4NET.0.0.100] MX=5 ad=no
+ host a-sec.test.ex [V4NET.0.0.100] MX=5
foo@mx-sec-a-aa.test.ex
router = dnslookup, transport = smtp
- host a-aa.test.ex [V4NET.0.0.100] MX=5 ad=yes
+ host a-aa.test.ex [V4NET.0.0.100] MX=5 AD
foo@mx-aa-a-sec.test.ex
router = dnslookup, transport = smtp
- host a-sec.test.ex [V4NET.0.0.100] MX=5 ad=yes
+ host a-sec.test.ex [V4NET.0.0.100] MX=5 AD
"DEFER cannot route this one (DEFER)"@some.host cannot be resolved at this time: cannot route this one (DEFER)
"ACCEPT transport = other_smtp hosts=ten-1.test.ex"@some.host
router = q, transport = other_smtp
- host ten-1.test.ex [V4NET.0.0.1] ad=no
+ host ten-1.test.ex [V4NET.0.0.1]
PASS@some.host
router = s, transport = smtp
- host 127.0.0.1 [127.0.0.1] ad=no
+ host 127.0.0.1 [127.0.0.1]
"FREEZE cannot route this one (FREEZE)"@some.host cannot be resolved at this time: cannot route this one (FREEZE)
postmaster@test.ex
<-- "REDIRECT postmaster@test.ex"@some.host
x@query.program
router = r1, transport = t1
- host ten-2.test.ex [V4NET.0.0.2] MX=5 ad=no
- host ten-3.test.ex [V4NET.0.0.3] MX=6 ad=no
+ host ten-2.test.ex [V4NET.0.0.2] MX=5
+ host ten-3.test.ex [V4NET.0.0.3] MX=6
x@[V4NET.9.8.7]
router = r1, transport = t1
- host [V4NET.9.8.7] [V4NET.9.8.7] ad=no
+ host [V4NET.9.8.7] [V4NET.9.8.7]
x@[127.0.0.1]
router = r3, transport = t1
0m sss 10HmaX-0005vi-00 <y@[10.9.8.7]>
x@[abcd::dcba]
router = r0, transport = t1
- host [abcd::dcba] [abcd::dcba] ad=no
+ host [abcd::dcba] [abcd::dcba]
x@[IPv6:cba::abc]
router = r0, transport = t1
- host [ipv6:cba::abc] [cba::abc] ad=no
+ host [ipv6:cba::abc] [cba::abc]
x@[abcd::dcba]
router = r3, transport = t1
x@[IPv6:cba::abc]