cron2 has submitted this change. ( http://gerrit.openvpn.net/c/openvpn/+/793?usp=email )
Change subject: send uname() release as IV_PLAT_VER= on non-windows versions ...................................................................... send uname() release as IV_PLAT_VER= on non-windows versions This is highly system specific, as the content of the uname() structure elements is not specified very well - uname(3) says: release Release level of the operating system which translates to "IV_PLAT_VER=13.3-RELEASE-p6" (FreeBSD) or "IV_PLAT_VER=22.6.0" (macOS) - the latter being the "Mach Kernel version", not what Apple calls the OS. It's still useful if a server operator needs to keep track of client versions (and the GUI does not set the corresponding environment variable, which neither Tunnelblick nor NM do). v2: manpage amendments v3: whitespace v4: reword manpage Github: OpenVPN/openvpn#637 Change-Id: Id2b0c5a517f02e5c219fea2ae3ef2bdef7690169 Signed-off-by: Gert Doering <g...@greenie.muc.de> Acked-by: Antonio Quartulli <a...@unstable.cc> Message-Id: <20241104085808.17039-1-g...@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg29699.html Signed-off-by: Gert Doering <g...@greenie.muc.de> --- M doc/man-sections/client-options.rst M src/openvpn/ssl.c M src/openvpn/syshead.h 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/doc/man-sections/client-options.rst b/doc/man-sections/client-options.rst index a06948e..5ca85e0 100644 --- a/doc/man-sections/client-options.rst +++ b/doc/man-sections/client-options.rst @@ -430,7 +430,10 @@ The version of the operating system, e.g. 6.1 for Windows 7. This may be set by the client UI/GUI using ``--setenv``. On Windows systems it is automatically determined by openvpn - itself. + itself. On other platforms OpenVPN will default to sending + the information returned by the `uname()` system call in + the `release` field, which is usually the currently running + kernel version. This is highly system specific, though. :code:`UV_<name>=<value>` Client environment variables whose names start with diff --git a/src/openvpn/ssl.c b/src/openvpn/ssl.c index 8040e7b..93e31f1 100644 --- a/src/openvpn/ssl.c +++ b/src/openvpn/ssl.c @@ -2010,6 +2010,10 @@ buf_printf(&out, "IV_SSL=%s\n", get_ssl_library_version() ); #if defined(_WIN32) buf_printf(&out, "IV_PLAT_VER=%s\n", win32_version_string(&gc, false)); +#else + struct utsname u; + uname(&u); + buf_printf(&out, "IV_PLAT_VER=%s\n", u.release); #endif } diff --git a/src/openvpn/syshead.h b/src/openvpn/syshead.h index 83a48fc..33a90c1 100644 --- a/src/openvpn/syshead.h +++ b/src/openvpn/syshead.h @@ -331,6 +331,10 @@ #include <sys/mman.h> #endif +#ifndef _WIN32 +#include <sys/utsname.h> +#endif + /* * Pedantic mode is meant to accomplish lint-style program checking, * not to build a working executable. -- To view, visit http://gerrit.openvpn.net/c/openvpn/+/793?usp=email To unsubscribe, or for help writing mail filters, visit http://gerrit.openvpn.net/settings Gerrit-Project: openvpn Gerrit-Branch: master Gerrit-Change-Id: Id2b0c5a517f02e5c219fea2ae3ef2bdef7690169 Gerrit-Change-Number: 793 Gerrit-PatchSet: 5 Gerrit-Owner: cron2 <g...@greenie.muc.de> Gerrit-Reviewer: flichtenheld <fr...@lichtenheld.com> Gerrit-Reviewer: ordex <a...@unstable.cc> Gerrit-Reviewer: plaisthos <arne-open...@rfc2549.org> Gerrit-CC: openvpn-devel <openvpn-devel@lists.sourceforge.net> Gerrit-MessageType: merged
_______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel