From patchwork Sun Nov 16 11:32:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gert Doering X-Patchwork-Id: 4602 Return-Path: Delivered-To: patchwork@openvpn.net Received: by 2002:a05:7000:6d04:b0:7b1:439f:bdf with SMTP id e4csp2626631may; Sun, 16 Nov 2025 03:32:43 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWeWg4nZqRD3m6/+xpHmxAzY9u6+wP/Ie40G9vIsa/319BAOuH0rUkpEwFEdp3RmtTUe9L9DW7isF8=@openvpn.net X-Google-Smtp-Source: AGHT+IGxwqxcuJ0nCVc//1HMiWpH/crxdQNM3Mo566arTShqrnZTacWEW+ERM447tfaUimC8CKm+ X-Received: by 2002:a05:6871:bd0e:b0:3e8:9e62:4888 with SMTP id 586e51a60fabf-3e89e6252b3mr1154248fac.47.1763292762927; Sun, 16 Nov 2025 03:32:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1763292762; cv=none; d=google.com; s=arc-20240605; b=hyVZMFPkTG27R1Dls30SwDWh/aH7kPtcO6t197vnkXj37+mQhkf4ZHFcPPgsohpDvM qJcndqzhUyjuC4LcPvRPLtBO35vS5n47NM6pqtv/EC8LBGFd+mDdRP1RsrHWwBMUizWB uTfQUWcxSqhFe4GvelHG/Ro20RqCfrQmbuZP4FkZAHYnvygwQcKQZBQZhH6qiqAkW1Ax ydHhaIPg072+1chq5olMtPvlMQ4qisKkhP00GMEPeCxkX/Q09LWDMygSlUuVbJfP2+6w ZrhmlWnkOgXfXimSK2GWSQlczmXyqhzxp9bj/F6tSsorrmkd29yYuPb4rlSCGOdTb8/g nXIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=errors-to:content-transfer-encoding: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=LxBl+bHHBDrhhCnCzZfFKIBY3IcSzmYIfuqNJ3Q+qJA=; fh=4NbAC/LsuMLI0S0hprUlLSLCiHwg6SCAifhH718Jh0Q=; b=VACcejIg0Nnrt9WCW2l9yQfjvMBvUSDhAXg0EZw4IaXztxT+9QBe4G86im+MxXV/Nj ANK15Hpr4t6J2qtrDaKJN3ATdpyuf9E1wD46l+s88Rd8csCgdhEK2EKX4ndS1zYfcOmf /r7K+eiunolZpvFksFIuYy6+2kw/P320eAWCoZmLoHMWaf8EosTTNxu286AngzdtqzSS Uoq0BYLQ21jTOXxFAwotdiVgVvGADtXy7QZ58pqR29a0zM4fvR4WPttGa7gzZttu6ZPG IEhmCBm2wMloWqVDpuc9w8VwmmbkTPpmWso3+xWFpqxX9Du5P5U+SQI6sVY00e/v3zVq K3Vg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@lists.sourceforge.net header.s=beta header.b=NVJH8BuF; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b="J/j8Q6ES"; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=N+WmUxze; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=muc.de Received: from lists.sourceforge.net (lists.sourceforge.net. [216.105.38.7]) by mx.google.com with ESMTPS id 586e51a60fabf-3e851fc326dsi3251095fac.77.2025.11.16.03.32.42 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 16 Nov 2025 03:32:42 -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=pass header.i=@lists.sourceforge.net header.s=beta header.b=NVJH8BuF; dkim=neutral (body hash did not verify) header.i=@sourceforge.net header.s=x header.b="J/j8Q6ES"; dkim=neutral (body hash did not verify) header.i=@sf.net header.s=x header.b=N+WmUxze; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=muc.de DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.sourceforge.net; s=beta; h=Content-Transfer-Encoding:Content-Type: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: Subject:MIME-Version:References:In-Reply-To:Message-ID:Date:To:From:Sender: Reply-To:Cc:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=LxBl+bHHBDrhhCnCzZfFKIBY3IcSzmYIfuqNJ3Q+qJA=; b=NVJH8BuFihAIrMNyFQ5g1+FAhe 3H86QiOVc2EQWl+0LZ5R8iPfSnM1NBYZBQvWrq/x+QJ6C81Humr0MoMR4Vn/TWHT1zUQKRtf1kjGz gmHlerTLGiaN7xls07xTYLnr/ZpmbyCI4Gqg1zy12b1csqKIhi17Yygao/AXCCHHgGgY=; Received: from [127.0.0.1] (helo=sfs-ml-3.v29.lw.sourceforge.com) by sfs-ml-3.v29.lw.sourceforge.com with esmtp (Exim 4.95) (envelope-from ) id 1vKazo-0001qI-2F; Sun, 16 Nov 2025 11:32:40 +0000 Received: from [172.30.29.66] (helo=mx.sourceforge.net) by sfs-ml-3.v29.lw.sourceforge.com with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1vKazm-0001q9-R7 for openvpn-devel@lists.sourceforge.net; Sun, 16 Nov 2025 11:32:38 +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:To:From:Sender:Reply-To:Cc: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=hxQj7hCn473mLnc01MFWLDw21a2XJAr/sjAkbM6lNkc=; b=J/j8Q6ESi1tkQkOOGla6C5i1tB AEuZI7uBLKk5yEfXzNGfdPLDd4AyqBQfh2d5DkHddgdWtpV2P2J6i8NVdLp4FgCT7B1f8YYnJDDid V3di+B+MAnGaAuhAZo/zxuLfLE7NC/hDRV6QWaVC/GkPV1yZK6SyrXIEs74R1OjjngUI=; 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:To:From:Sender:Reply-To:Cc: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=hxQj7hCn473mLnc01MFWLDw21a2XJAr/sjAkbM6lNkc=; b=N+WmUxzeXMqJ354hO7yR5kaQXj NXq0finNdpSeIudqxf4J5MNSnePBi6IYxoijZw+VwHhhM9J7YLSe56ZFMZn+xdpvTDD7RhPALLLcs hwIZGBtO5zTFHRKT0GU9RA3OzIs0qrlFf1c45sDmGtn0ldQJrcKaCzZ1Kxr4eArjJaFA=; Received: from [193.149.48.134] (helo=blue.greenie.muc.de) by sfi-mx-2.v28.lw.sourceforge.com with esmtps (TLS1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.95) id 1vKazm-0002Jm-1i for openvpn-devel@lists.sourceforge.net; Sun, 16 Nov 2025 11:32:38 +0000 Received: from blue.greenie.muc.de (localhost [127.0.0.1]) by blue.greenie.muc.de (8.18.1/8.18.1) with ESMTP id 5AGBWVdo031894 for ; Sun, 16 Nov 2025 12:32:31 +0100 Received: (from gert@localhost) by blue.greenie.muc.de (8.18.1/8.18.1/Submit) id 5AGBWVMo031893 for openvpn-devel@lists.sourceforge.net; Sun, 16 Nov 2025 12:32:31 +0100 From: Gert Doering To: openvpn-devel@lists.sourceforge.net Date: Sun, 16 Nov 2025 12:32:24 +0100 Message-ID: <20251116113230.31872-1-gert@greenie.muc.de> X-Mailer: git-send-email 2.49.1 In-Reply-To: References: MIME-Version: 1.0 X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "sfi-spamd-2.hosts.colo.sdot.me", 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: From: Lev Stipakov Print adapter GUID, name and hwid. Change-Id: Iac6bcf8b5434aa414e86cb4b9742e7dd591dc796 Signed-off-by: Lev Stipakov Acked-by: Gert Doering Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1372 [...] Content analysis details: (1.3 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 URIBL_BLOCKED ADMINISTRATOR NOTICE: The query to URIBL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more information. [URI: openvpn.net] 0.0 RCVD_IN_DNSWL_BLOCKED RBL: ADMINISTRATOR NOTICE: The query to DNSWL was blocked. See http://wiki.apache.org/spamassassin/DnsBlocklists#DnsBlocklists-dnsbl-block for more information. [193.149.48.134 listed in list.dnswl.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Headers-End: 1vKazm-0002Jm-1i Subject: [Openvpn-devel] [PATCH v2] tapctl: make output of 'list' and 'create' commands more verbose 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: , Errors-To: openvpn-devel-bounces@lists.sourceforge.net X-getmail-retrieved-from-mailbox: Inbox X-GMAIL-THRID: =?utf-8?q?1848946472000562326?= X-GMAIL-MSGID: =?utf-8?q?1848946472000562326?= From: Lev Stipakov Print adapter GUID, name and hwid. Change-Id: Iac6bcf8b5434aa414e86cb4b9742e7dd591dc796 Signed-off-by: Lev Stipakov Acked-by: Gert Doering Gerrit URL: https://gerrit.openvpn.net/c/openvpn/+/1372 --- 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/+/1372 This mail reflects revision 2 of this Change. Acked-by according to Gerrit (reflected above): Gert Doering diff --git a/src/tapctl/main.c b/src/tapctl/main.c index 4d25998..15c25ae 100644 --- a/src/tapctl/main.c +++ b/src/tapctl/main.c @@ -80,7 +80,8 @@ L"\n" L"Output:\n" L"\n" - L"This command prints newly created VPN network adapter's GUID to stdout. \n" + L"This command prints newly created VPN network adapter's GUID, name and \n" + L"hardware ID to stdout. \n" ; static const WCHAR usage_message_list[] = @@ -99,7 +100,7 @@ L"\n" L"Output:\n" L"\n" - L"This command prints all VPN network adapters to stdout. \n" + L"This command prints VPN network adapter GUID, name and hardware ID to stdout. \n" ; static const WCHAR usage_message_delete[] = @@ -211,10 +212,12 @@ LPCWSTR szName = NULL; LPCWSTR szHwId = L"root\\" _L(TAP_WIN_COMPONENT_ID); struct tap_adapter_node *adapter_list = NULL; - LPWSTR adapter_name = NULL; + LPWSTR rename_name = NULL; + LPWSTR final_name = NULL; LPOLESTR adapter_id = NULL; GUID guidAdapter; int result = 1; + BOOL delete_created_adapter = FALSE; for (int i = 2; i < argc; i++) { @@ -247,45 +250,56 @@ if (dwResult != ERROR_SUCCESS) { fwprintf(stderr, L"Enumerating adapters failed (error 0x%x).\n", dwResult); - tap_delete_adapter(NULL, &guidAdapter, bRebootRequired); - return result; + delete_created_adapter = TRUE; + goto cleanup; } - adapter_name = szName ? wcsdup(szName) : get_unique_adapter_name(szHwId, adapter_list); - if (adapter_name) + rename_name = szName ? wcsdup(szName) : get_unique_adapter_name(szHwId, adapter_list); + if (rename_name) { - if (szName && !is_adapter_name_available(adapter_name, adapter_list, TRUE)) + if (szName && !is_adapter_name_available(rename_name, adapter_list, TRUE)) { - tap_delete_adapter(NULL, &guidAdapter, bRebootRequired); + delete_created_adapter = TRUE; goto cleanup; } - dwResult = tap_set_adapter_name(&guidAdapter, adapter_name, FALSE); - if (dwResult != ERROR_SUCCESS) + dwResult = tap_set_adapter_name(&guidAdapter, rename_name, FALSE); + if (dwResult == ERROR_SUCCESS) + { + final_name = rename_name; + rename_name = NULL; + } + else { StringFromIID((REFIID)&guidAdapter, &adapter_id); fwprintf(stderr, L"Renaming TUN/TAP adapter %ls" L" to \"%ls\" failed (error 0x%x).\n", - adapter_id, adapter_name, dwResult); + adapter_id, rename_name, dwResult); CoTaskMemFree(adapter_id); - goto cleanup; } } result = 0; cleanup: - free(adapter_name); tap_free_adapter_list(adapter_list); + free(rename_name); - if (result == 0) + if (result == 0 && final_name) { StringFromIID((REFIID)&guidAdapter, &adapter_id); - fwprintf(stdout, L"%ls\n", adapter_id); + fwprintf(stdout, L"%ls\t%ls\t%ls\n", adapter_id, final_name, szHwId ? szHwId : L""); CoTaskMemFree(adapter_id); } + free(final_name); + + if (result != 0 && delete_created_adapter) + { + tap_delete_adapter(NULL, &guidAdapter, bRebootRequired); + } + return result; } @@ -327,10 +341,11 @@ { LPOLESTR adapter_id = NULL; StringFromIID((REFIID)&adapter->guid, &adapter_id); - fwprintf(stdout, - L"%ls\t%" - L"ls\n", - adapter_id, adapter->szName); + const WCHAR *name = adapter->szName ? adapter->szName : L""; + const WCHAR *hwid = (adapter->szzHardwareIDs && adapter->szzHardwareIDs[0]) + ? adapter->szzHardwareIDs + : L""; + fwprintf(stdout, L"%ls\t%ls\t%ls\n", adapter_id, name, hwid); CoTaskMemFree(adapter_id); }