]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Fix TUNSETGROUP compatibility with very old Linux systems.
authorGert Doering <gert@greenie.muc.de>
Wed, 9 Sep 2020 15:37:25 +0000 (17:37 +0200)
committerGert Doering <gert@greenie.muc.de>
Thu, 10 Sep 2020 08:57:12 +0000 (10:57 +0200)
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 <gert@greenie.muc.de>
Acked-by: Arne Schwabe <arne@rfc2549.org>
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 <gert@greenie.muc.de>
(cherry picked from commit a4e0ac0604460ea2431acb7481d6ffb7a3fc6298)

src/openvpn/tun.c

index 80eaa2c471c8539e4992a675394a0db3d52f1473..91ad03acf21eeaddabef20e161f3d914fa670c60 100644 (file)
@@ -2069,6 +2069,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, const struct tuntap_options *options)
 {
@@ -2106,7 +2111,7 @@ tuncfg(const char *dev, const char *dev_type, const char *dev_node, int persist_
         }
         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);