From patchwork Tue Nov 21 10:13:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Lichtenheld X-Patchwork-Id: 3463 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7300:53c1:b0:f2:62eb:61c1 with SMTP id u1csp259503dye; Tue, 21 Nov 2023 02:14:37 -0800 (PST) X-Google-Smtp-Source: AGHT+IFJTB3Mb0BS1C+H+0LBZBHcWeytKOkwPakU3+YPWe9lv6ZLW546Yj0eaeShhD93CCp8p4rp X-Received: by 2002:a05:6a21:3402:b0:18a:ede3:25f2 with SMTP id yn2-20020a056a21340200b0018aede325f2mr991982pzb.2.1700561677403; Tue, 21 Nov 2023 02:14:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1700561677; cv=none; d=google.com; s=arc-20160816; b=kZASY9z2wly7BjTj+c7L2qJprTZd0VnF6Ut2XXgzNRx9UmCOtjD22bevYK6k1+PI9h pfnEONSavwX3IAZz/plDSB66YlscfEtzxrU/vQeGUBxOaFZvIav9yxKP3jpSjauqXok8 3QVYY6FH2+20xkEBpg5HS8v2d+LX0bsb7175xHvRIyVfPkYpn110WrVsCxU8aqJUuc1T VS8B0jK9GOZGGRMLUztkB2jsCdgrWbK9IhkmxcYF+/iaPnNd++ArL/+xTzEWaieqiIbS 7LzOJ9WFTNyCe/2/j3xqzpPyE1mG2KBj3PrLPTJ2swMwZabY+Tp8TRoMmPDS1V35df8t Q1fA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:content-transfer-encoding:cc:list-subscribe:list-help :list-post:list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:references:in-reply-to:message-id:date:to:from :dkim-signature:dkim-signature:dkim-signature; bh=02PrQhNeUu8gsbDxaxn+2zlMfj+gD0DKQRv6IqWyCVo=; fh=CfxSpwd5kfiMJoL3kcov7PTxVKT7pGe/79idnx9XlBs=; b=YWH3aHvxjjSmi8uFUQUeMO5t6BjHN4yzz8+5/17UhGKWJ5ZlKWpj69me/aESDrqpuZ Kn7IyKauz26G2nVTDs+55CWXhLPIJhah0WVLZ2d0AhiyUKQ19Kt0ye0/gFonfiLQIP8E Uaw7y9NbkgsywSb4BsYsK/5xuBb59Kd8dQbhuJejvD7bDZAue9xzZyzosGed/08ijy1C uKmqrnseRxVs+ZzPgoBF4pxvp2irFGg6OlW2re6K/dScZByG1pChJcDfYNNa9UH/gZjg YDqVoTLWxjbgWpKBezP39JwZ2MTl7mqN1Wz/VUsRujvjaAJGXDeBodp0a5GGINusf/L2 4ksQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b="MUvb2B/E"; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b="R0js8V/l"; dkim=neutral (body hash did not verify) header.i=@lichtenheld.com header.s=MBO0001 header.b=byoyLyGv; spf=pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) smtp.mailfrom=openvpn-devel-bounces@lists.sourceforge.net Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id w9-20020a1709029a8900b001ce16042055si5909200plp.505.2023.11.21.02.14.37 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Nov 2023 02:14:37 -0800 (PST) Received-SPF: pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) client-ip=216.105.38.7; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b="MUvb2B/E"; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b="R0js8V/l"; dkim=neutral (body hash did not verify) header.i=@lichtenheld.com header.s=MBO0001 header.b=byoyLyGv; spf=pass (google.com: domain of openvpn-devel-bounces@lists.sourceforge.net designates 216.105.38.7 as permitted sender) smtp.mailfrom=openvpn-devel-bounces@lists.sourceforge.net Received: from [127.0.0.1] (helo=sfs-ml-4.v29.lw.sourceforge.com) by sfs-ml-4.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1r5Nlq-0003h5-QO; Tue, 21 Nov 2023 10:14:18 +0000 Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1r5Nlk-0003gu-EU for openvpn-devel@lists.sourceforge.net; Tue, 21 Nov 2023 10:14:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sourceforge.net; s=x; h=Content-Transfer-Encoding:MIME-Version:References: In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=jjGWczcxoSV17aql5rRJIgZpAdQrXfO6pMEtIb2PUFc=; b=MUvb2B/EastATuYQJHT+FpPKmA IyMeAGO1tpezfqedBB8bH6DETuxeqB6jHB0pfTOqBamsScZBnoX2hBDRD18xiDxgZbLxhCAIjHdHf 6XKI6/BPw0zS+KMwNDpP67MLyJMRBEFAFsSIQQWXcc0bDMwBK8WGcRUnsWfEzMJ1l04Q=; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sf.net; s=x ; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-Id: Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=jjGWczcxoSV17aql5rRJIgZpAdQrXfO6pMEtIb2PUFc=; b=R0js8V/lkshjqC8aGTklfvbDfe z3vm5PFYw7cg6dYR1p5oTv2QX5P641VLIjC7uSw/elJv9coQn+X68C8by0VDOgzpr2ftU/puuHA/B DpBS/h/K5BmoCjntkBwL7S0vtfdNQKQWVUbeJ+1c9Ppipd071MJFilIPE0DI5SU87DZ4=; Received: from mout-p-103.mailbox.org ([80.241.56.161]) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1r5Nlg-0000oc-Eu for openvpn-devel@lists.sourceforge.net; Tue, 21 Nov 2023 10:14:12 +0000 Received: from smtp2.mailbox.org (smtp2.mailbox.org [IPv6:2001:67c:2050:b231:465::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-103.mailbox.org (Postfix) with ESMTPS id 4SZKwS0jryz9srn; Tue, 21 Nov 2023 11:14:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lichtenheld.com; s=MBO0001; t=1700561640; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jjGWczcxoSV17aql5rRJIgZpAdQrXfO6pMEtIb2PUFc=; b=byoyLyGvwcVdlMeHfI4+XkEMxr1nLy59fzQazjbT9a6dYL07aofDO+5JPEgNdj+Nuf8pSc ggJDUGDvEXiSqhaABe38z7oghXUcCf8r4M1eJWMn4n6XlInRt6vodXuRUlh7X8Zq/YlgsI i7LRGHuenSL1X53nR8OspuRa6DkTpFV1Y+MzMnHCVOvmKUz9GBYYdw0rRuFyCpWgG8ZhKM VCCBibpn8UX5ZROr2HtPHiOMBMEYdKGkbTnrjF2Uf29PWwnkwvfPDbOy0rU1y+C3kAjueh 8j25rtwYltQRhuXciHUq8PxKFn1cHdkVFxRroJN3kDLlQxgkGloPDX3sRSv/ew== From: Frank Lichtenheld To: openvpn-devel@lists.sourceforge.net Date: Tue, 21 Nov 2023 11:13:59 +0100 Message-Id: <20231121101359.13827-1-frank@lichtenheld.com> In-Reply-To: References: MIME-Version: 1.0 X-Rspamd-Queue-Id: 4SZKwS0jryz9srn X-Spam-Score: -0.9 (/) X-Spam-Report: Spam detection software, running on the system "util-spamd-1.v13.lw.sourceforge.com", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Using "tun" as the variable name for the return of is_tun_p2p is probably a historical accident. But it has actual consequences in that the other code often seems to assume that it does less checks th [...] Content analysis details: (-0.9 points, 6.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [80.241.56.161 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain -0.0 T_SCC_BODY_TEXT_LINE No description available. X-Headers-End: 1r5Nlg-0000oc-Eu Subject: [Openvpn-devel] [PATCH v2] tun: use is_tun_p2p more consistently X-BeenThere: openvpn-devel@lists.sourceforge.net X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Arne Schwabe Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox X-GMAIL-THRID: =?utf-8?q?1783168161790048185?= X-GMAIL-MSGID: =?utf-8?q?1783168161790048185?= Using "tun" as the variable name for the return of is_tun_p2p is probably a historical accident. But it has actual consequences in that the other code often seems to assume that it does less checks than it actually does. Use "tun_p2p" as the variable name and remove checks that are not required. Also use is_tun_p2p in more places. Change-Id: Ice8b95f953c3f7e71657a78ea12b02a08c60aa67 Signed-off-by: Frank Lichtenheld Acked-by: Arne Schwabe --- This change was reviewed on Gerrit and approved by at least one developer. I request to merge it to master. Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/380 This mail reflects revision 2 of this Change. Acked-by according to Gerrit (reflected above): Arne Schwabe diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 82ab6c0..7ab51ee 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -507,31 +507,31 @@ static const char ifconfig_warn_how_to_silence[] = "(silence this warning with --ifconfig-nowarn)"; /* - * If !tun, make sure ifconfig_remote_netmask looks + * If !tun_p2p, make sure ifconfig_remote_netmask looks * like a netmask. * - * If tun, make sure ifconfig_remote_netmask looks + * If tun_p2p, make sure ifconfig_remote_netmask looks * like an IPv4 address. */ static void -ifconfig_sanity_check(bool tun, in_addr_t addr, int topology) +ifconfig_sanity_check(bool tun_p2p, in_addr_t addr) { struct gc_arena gc = gc_new(); const bool looks_like_netmask = ((addr & 0xFF000000) == 0xFF000000); - if (tun) + if (tun_p2p) { - if (looks_like_netmask && (topology == TOP_NET30 || topology == TOP_P2P)) + if (looks_like_netmask) { msg(M_WARN, "WARNING: Since you are using --dev tun with a point-to-point topology, the second argument to --ifconfig must be an IP address. You are using something (%s) that looks more like a netmask. %s", print_in_addr_t(addr, 0, &gc), ifconfig_warn_how_to_silence); } } - else /* tap */ + else { if (!looks_like_netmask) { - msg(M_WARN, "WARNING: Since you are using --dev tap, the second argument to --ifconfig must be a netmask, for example something like 255.255.255.0. %s", + msg(M_WARN, "WARNING: Since you are using subnet topology, the second argument to --ifconfig must be a netmask, for example something like 255.255.255.0. %s", ifconfig_warn_how_to_silence); } } @@ -675,13 +675,13 @@ struct buffer out = alloc_buf_gc(256, gc); if (tt->did_ifconfig_setup && !disable) { - if (tt->type == DEV_TYPE_TAP || (tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET)) + if (!is_tun_p2p(tt)) { buf_printf(&out, "%s %s", print_in_addr_t(tt->local & tt->remote_netmask, 0, gc), print_in_addr_t(tt->remote_netmask, 0, gc)); } - else if (tt->type == DEV_TYPE_TUN) + else if (tt->type == DEV_TYPE_TUN) /* tun p2p topology */ { const char *l, *r; if (remote) @@ -745,24 +745,24 @@ bool is_tun_p2p(const struct tuntap *tt) { - bool tun = false; + bool tun_p2p = false; if (tt->type == DEV_TYPE_TAP || (tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) || tt->type == DEV_TYPE_NULL) { - tun = false; + tun_p2p = false; } else if (tt->type == DEV_TYPE_TUN) { - tun = true; + tun_p2p = true; } else { msg(M_FATAL, "Error: problem with tun vs. tap setting"); /* JYFIXME -- needs to be caught earlier, in init_tun? */ } - return tun; + return tun_p2p; } /* @@ -839,12 +839,10 @@ if (ifconfig_local_parm && ifconfig_remote_netmask_parm) { - bool tun = false; - /* * We only handle TUN/TAP devices here, not --dev null devices. */ - tun = is_tun_p2p(tt); + bool tun_p2p = is_tun_p2p(tt); /* * Convert arguments to binary IPv4 addresses. @@ -861,7 +859,7 @@ NULL); tt->remote_netmask = getaddr( - (tun ? GETADDR_RESOLVE : 0) + (tun_p2p ? GETADDR_RESOLVE : 0) | GETADDR_HOST_ORDER | GETADDR_FATAL_ON_SIGNAL | GETADDR_FATAL, @@ -876,7 +874,7 @@ if (strict_warn) { struct addrinfo *curele; - ifconfig_sanity_check(tt->type == DEV_TYPE_TUN, tt->remote_netmask, tt->topology); + ifconfig_sanity_check(tun_p2p, tt->remote_netmask); /* * If local_public or remote_public addresses are defined, @@ -907,11 +905,11 @@ } } - if (tt->type == DEV_TYPE_TAP || (tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET)) + if (!tun_p2p) { check_subnet_conflict(tt->local, tt->remote_netmask, "TUN/TAP adapter"); } - else if (tt->type == DEV_TYPE_TUN) + else { check_subnet_conflict(tt->local, IPV4_NETMASK_HOST, "TUN/TAP adapter"); } @@ -922,7 +920,7 @@ * Make sure that both ifconfig addresses are part of the * same .252 subnet. */ - if (tun) + if (tun_p2p) { verify_255_255_255_252(tt->local, tt->remote_netmask); tt->adapter_netmask = ~3; @@ -1305,7 +1303,7 @@ /* * We only handle TUN/TAP devices here, not --dev null devices. */ - bool tun = is_tun_p2p(tt); + bool tun_p2p = is_tun_p2p(tt); #endif #if !defined(TARGET_LINUX) @@ -1332,7 +1330,7 @@ msg(M_FATAL, "Linux can't bring %s up", ifname); } - if (tun) + if (tun_p2p) { if (net_addr_ptp_v4_add(ctx, ifname, &tt->local, &tt->remote_netmask) < 0) @@ -1351,27 +1349,8 @@ #elif defined(TARGET_ANDROID) char out[64]; - char *top; - switch (tt->topology) - { - case TOP_NET30: - top = "net30"; - break; - - case TOP_P2P: - top = "p2p"; - break; - - case TOP_SUBNET: - top = "subnet"; - break; - - default: - top = "undef"; - } - openvpn_snprintf(out, sizeof(out), "%s %s %d %s", ifconfig_local, - ifconfig_remote_netmask, tun_mtu, top); + ifconfig_remote_netmask, tun_mtu, print_topology(tt->topology)); management_android_control(management, "IFCONFIG", out); #elif defined(TARGET_SOLARIS) @@ -1380,7 +1359,7 @@ * ifconfig tun2 10.2.0.2 10.2.0.1 mtu 1450 up * ifconfig tun2 netmask 255.255.255.255 */ - if (tun) + if (tun_p2p) { argv_printf(&argv, "%s %s %s %s mtu %d up", IFCONFIG_PATH, ifname, ifconfig_local, ifconfig_remote_netmask, tun_mtu); @@ -1394,13 +1373,13 @@ argv_printf(&argv, "%s %s netmask 255.255.255.255", IFCONFIG_PATH, ifname); } - else if (tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) + else if (tt->type == DEV_TYPE_TUN) { argv_printf(&argv, "%s %s %s %s netmask %s mtu %d up", IFCONFIG_PATH, ifname, ifconfig_local, ifconfig_local, ifconfig_remote_netmask, tun_mtu); } - else + else /* tap */ { argv_printf(&argv, "%s %s %s netmask %s up", IFCONFIG_PATH, ifname, ifconfig_local, @@ -1413,7 +1392,7 @@ solaris_error_close(tt, es, ifname, false); } - if (!tun && tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) + if (!tun_p2p && tt->type == DEV_TYPE_TUN) { /* Add a network route for the local tun interface */ struct route_ipv4 r; @@ -1437,14 +1416,14 @@ */ /* example: ifconfig tun2 10.2.0.2 10.2.0.1 mtu 1450 netmask 255.255.255.255 up */ - if (tun) + if (tun_p2p) { argv_printf(&argv, "%s %s %s %s mtu %d netmask 255.255.255.255 up -link0", IFCONFIG_PATH, ifname, ifconfig_local, ifconfig_remote_netmask, tun_mtu); } - else if (tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) + else if (tt->type == DEV_TYPE_TUN) { remote_end = create_arbitrary_remote( tt ); argv_printf(&argv, "%s %s %s %s mtu %d netmask %s up -link0", @@ -1452,7 +1431,7 @@ print_in_addr_t(remote_end, 0, &gc), tun_mtu, ifconfig_remote_netmask); } - else + else /* tap */ { argv_printf(&argv, "%s %s %s netmask %s mtu %d link0", IFCONFIG_PATH, ifname, ifconfig_local, @@ -1462,7 +1441,7 @@ openvpn_execve_check(&argv, es, S_FATAL, "OpenBSD ifconfig failed"); /* Add a network route for the local tun interface */ - if (!tun && tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) + if (!tun_p2p && tt->type == DEV_TYPE_TUN) { struct route_ipv4 r; CLEAR(r); @@ -1476,20 +1455,20 @@ #elif defined(TARGET_NETBSD) in_addr_t remote_end = INADDR_ANY; /* for "virtual" subnet topology */ - if (tun) + if (tun_p2p) { argv_printf(&argv, "%s %s %s %s mtu %d netmask 255.255.255.255 up", IFCONFIG_PATH, ifname, ifconfig_local, ifconfig_remote_netmask, tun_mtu); } - else if (tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) + else if (tt->type == DEV_TYPE_TUN) { remote_end = create_arbitrary_remote(tt); argv_printf(&argv, "%s %s %s %s mtu %d netmask %s up", IFCONFIG_PATH, ifname, ifconfig_local, print_in_addr_t(remote_end, 0, &gc), tun_mtu, ifconfig_remote_netmask); } - else + else /* tap */ { /* * NetBSD has distinct tun and tap devices @@ -1504,7 +1483,7 @@ openvpn_execve_check(&argv, es, S_FATAL, "NetBSD ifconfig failed"); /* Add a network route for the local tun interface */ - if (!tun && tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) + if (!tun_p2p && tt->type == DEV_TYPE_TUN) { struct route_ipv4 r; CLEAR(r); @@ -1528,33 +1507,30 @@ /* example: ifconfig tun2 10.2.0.2 10.2.0.1 mtu 1450 netmask 255.255.255.255 up */ - if (tun) + if (tun_p2p) { argv_printf(&argv, "%s %s %s %s mtu %d netmask 255.255.255.255 up", IFCONFIG_PATH, ifname, ifconfig_local, ifconfig_remote_netmask, tun_mtu); } - else + else if (tt->type == DEV_TYPE_TUN) { - if (tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) - { - argv_printf(&argv, "%s %s %s %s netmask %s mtu %d up", - IFCONFIG_PATH, ifname, ifconfig_local, ifconfig_local, - ifconfig_remote_netmask, tun_mtu); - } - else - { - argv_printf(&argv, "%s %s %s netmask %s mtu %d up", IFCONFIG_PATH, - ifname, ifconfig_local, ifconfig_remote_netmask, - tun_mtu); - } + argv_printf(&argv, "%s %s %s %s netmask %s mtu %d up", + IFCONFIG_PATH, ifname, ifconfig_local, ifconfig_local, + ifconfig_remote_netmask, tun_mtu); + } + else /* tap */ + { + argv_printf(&argv, "%s %s %s netmask %s mtu %d up", IFCONFIG_PATH, + ifname, ifconfig_local, ifconfig_remote_netmask, + tun_mtu); } argv_msg(M_INFO, &argv); openvpn_execve_check(&argv, es, S_FATAL, "Mac OS X ifconfig failed"); /* Add a network route for the local tun interface */ - if (!tun && tt->type == DEV_TYPE_TUN && tt->topology == TOP_SUBNET) + if (!tun_p2p && tt->type == DEV_TYPE_TUN) { struct route_ipv4 r; CLEAR(r); @@ -1568,7 +1544,7 @@ #elif defined(TARGET_FREEBSD) || defined(TARGET_DRAGONFLY) /* example: ifconfig tun2 10.2.0.2 10.2.0.1 mtu 1450 netmask 255.255.255.255 up */ - if (tun) /* point-to-point tun */ + if (tun_p2p) /* point-to-point tun */ { argv_printf(&argv, "%s %s %s %s mtu %d netmask 255.255.255.255 up", IFCONFIG_PATH, ifname, ifconfig_local, @@ -1590,7 +1566,7 @@ struct env_set *aix_es = env_set_create(NULL); env_set_add( aix_es, "ODMDIR=/etc/objrepos" ); - if (tun) + if (tt->type == DEV_TYPE_TUN) { msg(M_FATAL, "no tun support on AIX (canthappen)"); }