From: Gert Doering Date: Wed, 9 Sep 2020 15:37:25 +0000 (+0200) Subject: Fix TUNSETGROUP compatibility with very old Linux systems. X-Git-Tag: v2.5_beta4~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43e70c78c34b90b15b6bfdac9c1911853defca10;p=thirdparty%2Fopenvpn.git Fix TUNSETGROUP compatibility with very old Linux systems. Our code works on "very old Linux" (Fedora-1), but needs a #define for TUNSETGROUP to compile. Everything else is there. While at it, fix TUNSETGROUP error message. Reported-By: noloader on Trac Trac: #1152 Signed-off-by: Gert Doering Acked-by: Arne Schwabe Message-Id: <20200909153725.1158-1-gert@greenie.muc.de> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg20932.html Signed-off-by: Gert Doering (cherry picked from commit a4e0ac0604460ea2431acb7481d6ffb7a3fc6298) --- diff --git a/src/openvpn/tun.c b/src/openvpn/tun.c index 923131ad5..651cb8717 100644 --- a/src/openvpn/tun.c +++ b/src/openvpn/tun.c @@ -1993,6 +1993,11 @@ open_tun(const char *dev, const char *dev_type, const char *dev_node, struct tun #ifdef ENABLE_FEATURE_TUN_PERSIST +/* TUNSETGROUP appeared in 2.6.23 */ +#ifndef TUNSETGROUP +# define TUNSETGROUP _IOW('T', 206, int) +#endif + void tuncfg(const char *dev, const char *dev_type, const char *dev_node, int persist_mode, const char *username, const char *groupname, @@ -2032,7 +2037,7 @@ tuncfg(const char *dev, const char *dev_type, const char *dev_node, } else if (ioctl(tt->fd, TUNSETGROUP, platform_state_group.gr->gr_gid) < 0) { - msg(M_ERR, "Cannot ioctl TUNSETOWNER(%s) %s", groupname, dev); + msg(M_ERR, "Cannot ioctl TUNSETGROUP(%s) %s", groupname, dev); } } close_tun(tt, ctx);