Package Details: openvpn3 27-1

Git Clone URL: https://aur.archlinux.org/openvpn3.git (read-only, click to copy)
Package Base: openvpn3
Description: OpenVPN 3 Linux client
Upstream URL: https://codeberg.org/OpenVPN/openvpn3-linux
Keywords: openvpn vpn
Licenses: AGPL3
Submitter: bhyoo
Maintainer: Phhere
Last Packager: Phhere
Votes: 28
Popularity: 2.42
First Submitted: 2020-07-04 06:51 (UTC)
Last Updated: 2026-05-05 07:30 (UTC)

Latest Comments

1 2 3 4 5 6 .. 16 Next › Last »

plop28 commented on 2026-06-09 13:03 (UTC)

protobuf was updated to v35 and openvpn 27.1 expects v34

mabrek commented on 2026-05-31 12:15 (UTC)

Workarounded build error by adding -Wno-error=array-bounds -Wno-error=maybe-uninitialized -Wno-error=free-nonheap-object to CXXFLAGS in /etc/makepkg.conf I guess it's better to edit PKGBUILD instead or remove 'werror=true' from default options in meson.build upstream

grym1 commented on 2026-05-22 22:27 (UTC)

I was able to build and install successfully in a clean chroot.

grym1 commented on 2026-05-20 14:11 (UTC)

I can confirm the build error reported by airaqi. I don't know how to resolve it, and it's blocking VPN use for me. error:

[230/233] Compiling C++ object src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o
FAILED: [code=1] src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o
c++ -Isrc/client/openvpn3-service-client.p -Isrc/client -I../openvpn3-linux-27/src/client -I../openvpn3-linux-27/openvpn3-core -I../openvpn3-linux-27/vendor/asio/asio/include -Isrc -I../openvpn3-linux-27/src -I. -I../openvpn3-linux-27 -I../openvpn3-linux-27/subprojects/fmt-11.2.0/include -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -I/usr/local/opt/sqlite/include -I/usr/local/opt/zlib/include -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -DFMT_HEADER_ONLY -MD -MQ src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o -MF src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o.d -o src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o -c ../openvpn3-linux-27/src/client/openvpn3-service-client.cpp
In file included from ../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode.hpp:25,
                 from ../openvpn3-linux-27/openvpn3-core/openvpn/common/options.hpp:56,
                 from ../openvpn3-linux-27/openvpn3-core/openvpn/tun/tunmtu.hpp:15,
                 from ../openvpn3-linux-27/src/client/core-client.hpp:40,
                 from ../openvpn3-linux-27/src/client/openvpn3-service-client.cpp:60:
../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode-impl.hpp: In function ‘openvpn::Unicode::ConversionResult openvpn::Unicode::ConvertUTF8toUTF16(const UTF8**, const UTF8*, UTF16**, UTF16*, ConversionFlags)’:
../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode-impl.hpp:474:47: error: array subscript 6 is above array bounds of ‘const openvpn::Unicode::UTF32 [6]’ {aka ‘const unsigned int [6]’} [-Werror=array-bounds=]
  474 |         ch -= offsetsFromUTF8[extraBytesToRead];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode-impl.hpp:300:17: note: while referencing ‘openvpn::Unicode::offsetsFromUTF8’
  300 |     const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL,
      |                 ^~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors

This error is raised when building both src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o and src/tests/ovpncli-netcfg.p/netcfg_cli.cpp.o.

airaqi commented on 2026-05-09 13:11 (UTC) (edited on 2026-05-09 13:12 (UTC) by airaqi)

Build fails on my PC with the following error twice this is one of them:


[230/233] Compiling C++ object src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o
FAILED: [code=1] src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o 
c++ -Isrc/client/openvpn3-service-client.p -Isrc/client -I../openvpn3-linux-27/src/client -I../openvpn3-linux-27/openvpn3-core -I../openvpn3-linux-27/vendor/asio/asio/include -Isrc -I../openvpn3-linux-27/src -I. -I../openvpn3-linux-27 -I../openvpn3-linux-27/subprojects/fmt-11.2.0/include -Isrc/dco -I/usr/include/gio-unix-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libnl3 -I/usr/include/uuid -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Werror -std=c++17 -Wno-non-virtual-dtor -DOVPN_TINYXML2_HAS_ERROR_NAME -DOVPN_TINYXML2_HAS_ERROR_STR -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -Wno-error=non-virtual-dtor -fPIE -DPROTOBUF_USE_DLLS -DNOMINMAX -pthread -DFMT_HEADER_ONLY -MD -MQ src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o -MF src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o.d -o src/client/openvpn3-service-client.p/openvpn3-service-client.cpp.o -c ../openvpn3-linux-27/src/client/openvpn3-service-client.cpp
In file included from ../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode.hpp:25,
                 from ../openvpn3-linux-27/openvpn3-core/openvpn/common/options.hpp:56,
                 from ../openvpn3-linux-27/openvpn3-core/openvpn/tun/tunmtu.hpp:15,
                 from ../openvpn3-linux-27/src/client/core-client.hpp:40,
                 from ../openvpn3-linux-27/src/client/openvpn3-service-client.cpp:60:
../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode-impl.hpp: In function ‘openvpn::Unicode::ConversionResult openvpn::Unicode::ConvertUTF8toUTF16(const UTF8**, const UTF8*, UTF16**, UTF16*, ConversionFlags)’:
../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode-impl.hpp:474:47: error: array subscript 6 is above array bounds of ‘const openvpn::Unicode::UTF32 [6]’ {aka ‘const unsigned int [6]’} [-Werror=array-bounds=]
  474 |         ch -= offsetsFromUTF8[extraBytesToRead];
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
../openvpn3-linux-27/openvpn3-core/openvpn/common/unicode-impl.hpp:300:17: note: while referencing ‘openvpn::Unicode::offsetsFromUTF8’
  300 |     const UTF32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL,
      |                 ^~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors

JustPlainGarak commented on 2026-04-03 18:23 (UTC)

The patch posted by anarchist779 appears to work well, I'm up and running again. Thanks!

bassadin commented on 2026-03-31 12:16 (UTC) (edited on 2026-04-15 11:55 (UTC) by bassadin)

Terribly sorry to post this, but installing this failed for me and I had my AI agent fix it. To my surprise, it worked...

Build fails with protobuf [[nodiscard]] error

With the current protobuf version, ParseFromString is marked [[nodiscard]], causing a -Werror=unused-result compile error in src/netcfg/netcfg-dco.cpp:260:

error: ignoring return value of 'bool google::protobuf::MessageLite::ParseFromString(...)', declared with attribute 'nodiscard' [-Werror=unused-result]

Fix: In src/netcfg/netcfg-dco.cpp, line 260, cast the return value to void:

// Before: dco_kc.ParseFromString(base64->decode(key_config));

// After: (void)dco_kc.ParseFromString(base64->decode(key_config));

I have no idea if this is the correct fix, but it seems to have worked for me.

anarchist779 commented on 2026-03-29 16:25 (UTC) (edited on 2026-03-29 16:29 (UTC) by anarchist779)

This patch should help, clone this repository, apply it, build and install the package:

diff --git a/PKGBUILD b/PKGBUILD
index b6414da..1f5d90c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@

 _pkgname=openvpn3-linux
 pkgname=openvpn3
-pkgver=26
+pkgver=27
 pkgrel=1
 pkgdesc='OpenVPN 3 Linux client'
 arch=('x86_64' 'aarch64')
@@ -24,16 +24,20 @@ source=(
   "https://swupdate.openvpn.net/community/releases/${_pkgname}-${pkgver}.tar.xz"
   'openvpn3.rule'
   'sysusers-openvpn3.conf'
+  'handle-result-from-DcoKeyConfig_ParseFromString.patch'
 )
 sha256sums=(
-  '80e35615ae913fbdbdda53495b27934a3bbb21d8b15c49a624d4992c15e196e1'
+  'd8c474032546bdd90b5b7f67e40c57b4b6030253f07bda7bb6ad0db84b9eed73'
   'ec0b8e28ae77b4b074d3eb8a084626e6dcfc587a07bef5d53fe1c6e160c0fc01'
   '045e914bb6fff5a082314dfc805bb511c9a80170619fa1e94a07825fa977c90a'
+  '7438c9a94090628c7e9cbfcef0353d873b3736589f2af03a905a0756b7754c0e'
 )
 install=openvpn3.install

 prepare() {
   meson subprojects download --sourcedir="${_pkgname}-${pkgver}"
+  cd "${_pkgname}-${pkgver}"
+  patch -p1 -i "../handle-result-from-DcoKeyConfig_ParseFromString.patch"
 }

 build() {
diff --git a/handle-result-from-DcoKeyConfig_ParseFromString.patch b/handle-result-from-DcoKeyConfig_ParseFromString.patch
new file mode 100644
index 0000000..9ca9f49
--- /dev/null
+++ b/handle-result-from-DcoKeyConfig_ParseFromString.patch
@@ -0,0 +1,27 @@
+From ee192f35d29ecae64dc00b4736e1870274b58cc8 Mon Sep 17 00:00:00 2001
+From: azban <me@azban.net>
+Date: Sat, 21 Mar 2026 18:41:34 -0600
+Subject: [PATCH] handle result from DcoKeyConfig_ParseFromString
+
+This previously failed with error unused-result. This checks the result and throws an exception if the parsing fails.
+---
+ src/netcfg/netcfg-dco.cpp | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/netcfg/netcfg-dco.cpp b/src/netcfg/netcfg-dco.cpp
+index 290c12a8..f41836bf 100644
+--- a/src/netcfg/netcfg-dco.cpp
++++ b/src/netcfg/netcfg-dco.cpp
+@@ -265,7 +265,9 @@ void NetCfgDCO::method_new_key(GVariant *params)
+     std::string key_config = glib2::Value::Extract<std::string>(params, 1);
+ 
+     DcoKeyConfig dco_kc;
+-    dco_kc.ParseFromString(base64->decode(key_config));
++    if (!dco_kc.ParseFromString(base64->decode(key_config))) {
++        throw NetCfgException("Failed to parse DCO key config");
++    }
+ 
+     auto copyKeyDirection = [](const DcoKeyConfig_KeyDirection &src, KoRekey::KeyDirection &dst)
+     {
+-- 
+2.51.2

blegat commented on 2026-01-29 16:22 (UTC)

There is a compatibility issue now that protobuf was updated to v33:

$ pacman -Q protobuf
protobuf 33.1-3
$ find /usr/lib -name "libprotobuf.so*"
/usr/lib/libprotobuf.so
/usr/lib/libprotobuf.so.33.1.0

since openvpn3 26-1 expects v32:

$ ldd /usr/lib/openvpn3-linux/openvpn3-service-netcfg | grep protobuf
    libprotobuf.so.32.1.0 => not found

boniek commented on 2025-10-04 09:58 (UTC) (edited on 2025-10-04 10:07 (UTC) by boniek)

I get this only when upgrading from older openvpn3 (24.1 I think it was). It works when freshly installed though.


.. Checking override 'proxy-password': PASS
.. Checking override 'proxy-auth-cleartext': PASS
.. Checking override 'enterprise-profile': PASS
.. Checking override 'automatic-restart': SKIPPING

OVERALL TEST RESULT: FAIL (1 failed)
Failed overrides: automatic-restart
==============================================================================
This was error I was getting when upgrading from 24
I hav removed older version and now it installs.
==================================== 6/6 =====================================
test:         openvpn3-linux:dbus / request-queue-test
start time:   09:51:14
duration:     0.36s
result:       exit status 0
command:      MSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 MESON_TEST_ITERATION=1 UBSAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1:print_stacktrace=1 ASAN_OPTIONS=halt_on_error=1:abort_on_error=1:print_summary=1 MALLOC_PERTURB_=25 /home/boniek/.cache/paru/clone/openvpn3/src/_builddir/src/tests/request-queue-test ../src/tests/request-queue-service 100
==============================================================================


Summary of Failures:

5/6 openvpn3-linux:post-install / config-override-selftest      FAIL            0.14s   exit status 2

Ok:                5
Fail:              1