Browse code

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 <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)

Gert Doering authored on 2020/09/10 00:37:25
Showing 1 changed files
... ...
@@ -1993,6 +1993,11 @@ open_tun(const char *dev, const char *dev_type, const char *dev_node, struct tun
1993 1993
 
1994 1994
 #ifdef ENABLE_FEATURE_TUN_PERSIST
1995 1995
 
1996
+/* TUNSETGROUP appeared in 2.6.23 */
1997
+#ifndef TUNSETGROUP
1998
+# define TUNSETGROUP   _IOW('T', 206, int)
1999
+#endif
2000
+
1996 2001
 void
1997 2002
 tuncfg(const char *dev, const char *dev_type, const char *dev_node,
1998 2003
        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,
2032 2032
         }
2033 2033
         else if (ioctl(tt->fd, TUNSETGROUP, platform_state_group.gr->gr_gid) < 0)
2034 2034
         {
2035
-            msg(M_ERR, "Cannot ioctl TUNSETOWNER(%s) %s", groupname, dev);
2035
+            msg(M_ERR, "Cannot ioctl TUNSETGROUP(%s) %s", groupname, dev);
2036 2036
         }
2037 2037
     }
2038 2038
     close_tun(tt, ctx);