]> git.proxmox.com Git - pmg-api.git/commitdiff
reinject_email: fix connecting for ipv6-only hosts
authorStoiko Ivanov <s.ivanov@proxmox.com>
Thu, 29 Oct 2020 17:49:16 +0000 (18:49 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 18 Nov 2020 07:11:08 +0000 (08:11 +0100)
When configuring PMG only with ipv6 addresses, reinject_email after processing
fails to connect to the postfix/smtpd instance (with EINVAL).

Setting the host to '::FFFF:127.0.0.1' fixes the issue.

Tested with:
* an ipv6only host (no ipv4 configured)
* a host with ipv6 disabled via sysctl:
```
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
```
* a host with dual-stack setup

Signed-off-by: Stoiko Ivanov <s.ivanov@proxmox.com>
src/PMG/Utils.pm

index d0654e1128dcdb9941d5ffd294ed57339e234a4e..c5cf7b8625219fe83e688e6476723b530b59867a 100644 (file)
@@ -211,7 +211,7 @@ sub reinject_mail {
     my $resmess;
 
     eval {
-       my $smtp = Net::SMTP->new('127.0.0.1', Port => 10025, Hello => $me) ||
+       my $smtp = Net::SMTP->new('::FFFF:127.0.0.1', Port => 10025, Hello => $me) ||
            die "unable to connect to localhost at port 10025";
 
        if (defined($xforward)) {