]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Make error in setting metric for IPv6 interface non-fatal
authorSelva Nair <selva.nair@gmail.com>
Wed, 22 Mar 2023 15:15:50 +0000 (11:15 -0400)
committerGert Doering <gert@greenie.muc.de>
Wed, 22 Mar 2023 15:59:58 +0000 (16:59 +0100)
- Unfortunately there are still users out there who disable IPv6
  on tun/tap/dco interfaces or even system-wide.

Github: fixes OpenVPN/openvpn#294
Signed-off-by: Selva Nair <selva.nair@gmail.com>
Acked-by: Gert Doering <gert@greenie.muc.de>
Message-Id: <20230322151550.1596669-1-selva.nair@gmail.com>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26477.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
src/openvpnserv/interactive.c

index a3d43752168896dd1fb3a8983b00d310d95b2aca..ec1962740371e9f84538bb16c26fde5113568680 100644 (file)
@@ -847,8 +847,13 @@ AddBlockDNS(const block_dns_message_t *msg, undo_lists_t *lists)
                                        BLOCK_DNS_IFACE_METRIC);
             if (!err)
             {
-                err = set_interface_metric(msg->iface.index, AF_INET6,
-                                           BLOCK_DNS_IFACE_METRIC);
+                /* for IPv6, we intentionally ignore errors, because
+                 * otherwise block-dns activation will fail if a user or
+                 * admin has disabled IPv6 on the tun/tap/dco interface
+                 * (if OpenVPN wants IPv6 ifconfig, we'll fail there)
+                 */
+                set_interface_metric(msg->iface.index, AF_INET6,
+                                     BLOCK_DNS_IFACE_METRIC);
             }
             if (err)
             {