Wietse Venema:
> christ...@degenkolb.net:
> > Everything runs normal as long as the mymilter container is online.
> > If I stop mymilter postfix refuses to accept smtp connections with for 
> > example the following errors.
> ..
> > As far as I can tell the network-alias gets removed from dockers 
> > internal DNS server on container stop which triggers the postfix fatal 
> > error.
> > However shouldn't a failed DNS request also evoke the default policy of 
> > "accept" for this milter?
> > Is this a postfix bug or am I missing something? Can I somehow add "DNS 
> > not Working" to the "it's Ok"-List for this milter?
> 
> I guess Postfix pre-dates containers that come and go at any
> point in time. Does this patch work for you?

That patch as posted is for recent Postfix versions. Below is a version
that should with Postfix 3.4.

        Wietse

--- /var/tmp/postfix-3.8-20220403/src/util/inet_connect.c       
+++ src/util/inet_connect.c     
@@ -101,9 +101,13 @@
     if ((parse_err = host_port(buf, &host, "localhost", &port, (char *) 0)) != 
0)
        msg_fatal("%s: %s", addr, parse_err);
     if ((aierr = hostname_to_sockaddr(host, port, SOCK_STREAM, &res0)) != 0)
-       msg_fatal("host/service %s/%s not found: %s",
-                 host, port, MAI_STRERROR(aierr));
+       msg_warn("host or service %s not found: %s",
+                addr, MAI_STRERROR(aierr));
     myfree(buf);
+    if (aierr) {
+       errno = EADDRNOTAVAIL;                  /* for up-stream "%m" */
+       return (-1);
+    }
 
     proto_info = inet_proto_info();
     for (sock = -1, found = 0, res = res0; res != 0; res = res->ai_next) {

Reply via email to