+ }
+ else
+ if (smtps_ports++ == 0)
+ p += sprintf(CS p, "%sSMTPS on",
+ smtp_ports == 0 ? "" : " and for ");
+
+ /* Now the information about the port (and sometimes interface) */
+
+ if (ipa->address[0] == ':' && ipa->address[1] == 0)
+ {
+ if (ipa->next && ipa->next->address[0] == 0 &&
+ ipa->next->port == ipa->port)
+ {
+ p += sprintf(CS p, " port %d (IPv6 and IPv4)", ipa->port);
+ ipa = ipa->next;
+ }
+ else if (ipa->v6_include_v4)
+ p += sprintf(CS p, " port %d (IPv6 with IPv4)", ipa->port);
+ else
+ p += sprintf(CS p, " port %d (IPv6)", ipa->port);
+ }
+ else if (ipa->address[0] == 0)
+ p += sprintf(CS p, " port %d (IPv4)", ipa->port);
+ else if ( i > 0
+ && host_is_tls_on_connect_port(ipa[-1].port) == (j > 0)
+ && Ustrcmp(ipa->address, ipa[-1].address) == 0
+ )
+ {
+ if (p[-1] == '}') p--;
+ while (isdigit(*--p)) ;
+ p += sprintf(CS p+1, "%s%d,%d}", *p == ',' ? "" : "{",
+ ipa[-1].port, ipa->port);
+ }
+ else
+ p += sprintf(CS p, " [%s]:%d", ipa->address, ipa->port);
+ }
+ }