M_ERR is defined as (M_FATAL | M_ERRNO), so 'msg(M_ERR | M_ERRNO, ...)'
is just the same as 'msg(M_ERR, ...)'.
The occurances in tun.c and dco_freebsd.c are really "if this happens,
we can not go on" errors, so 'M_ERR' (= FATAL, plus log errno string)
is the correct thing to do.
The occurances in dns.c do come with error handling and cleanup after
the msg() call, so the right thing is 'M_WARN | M_ERRNO' instead
(warning, plus log errno string).
Github: fixes OpenVPN/openvpn#939
Change-Id: I14395665f197349e374a81b56f28536ff88937a8
Signed-off-by: Gert Doering <gert@greenie.muc.de>
Acked-by: Arne Schwabe <arne-openvpn@rfc2549.org>
Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1517
Message-Id: <
20260211150648.113547-1-frank@lichtenheld.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg35594.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
ret = ioctl(dco->fd, SIOCSDRVSPEC, &drv);
if (ret)
{
- msg(M_ERR | M_ERRNO, "Failed to create new peer");
+ msg(M_ERR, "Failed to create new peer");
}
free(drv.ifd_data);
ret = ioctl(tt->dco.fd, SIOCIFDESTROY, &ifr);
if (ret)
{
- msg(M_ERR | M_ERRNO, "Failed to remove interface %s", ifr.ifr_name);
+ msg(M_ERR, "Failed to remove interface %s", ifr.ifr_name);
}
tt->dco.ifname[0] = 0;
ret = ioctl(dco->fd, SIOCSDRVSPEC, &drv);
if (ret)
{
- msg(M_ERR | M_ERRNO, "Failed to start vpn");
+ msg(M_ERR, "Failed to start vpn");
}
return ret;
ret = ioctl(dco->fd, SIOCSDRVSPEC, &drv);
if (ret)
{
- msg(M_ERR | M_ERRNO, "Failed to set key");
+ msg(M_ERR, "Failed to set key");
}
else
{
int ack_pipe_fd[2];
if (pipe(dns_pipe_fd) != 0 || pipe(ack_pipe_fd) != 0)
{
- msg(M_ERR | M_ERRNO, "run_dns_up_down: unable to create pipes");
+ msg(M_WARN | M_ERRNO, "run_dns_up_down: unable to create pipes");
return false;
}
updown_runner->pid = fork();
if (updown_runner->pid == -1)
{
- msg(M_ERR | M_ERRNO, "run_dns_up_down: unable to fork");
+ msg(M_WARN | M_ERRNO, "run_dns_up_down: unable to fork");
close(dns_pipe_fd[0]);
close(dns_pipe_fd[1]);
close(ack_pipe_fd[0]);
{
continue;
}
- msg(M_ERR | M_ERRNO, "could not send dns vars filename");
+ msg(M_WARN | M_ERRNO, "could not send dns vars filename");
}
break;
}
{
continue;
}
- msg(M_ERR | M_ERRNO, "could not receive dns updown status");
+ msg(M_WARN | M_ERRNO, "could not receive dns updown status");
}
break;
}
/* Retrieve the assigned interface name. */
if (getsockopt(fd, SYSPROTO_CONTROL, UTUN_OPT_IFNAME, utunname, &utunname_len))
{
- msg(M_ERR | M_ERRNO, "Error retrieving utun interface name");
+ msg(M_ERR, "Error retrieving utun interface name");
}
tt->actual_name = string_alloc(utunname, NULL);