]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
include <grp.h> for setgroups in a few places
authorMichael Tokarev <mjt@tls.msk.ru>
Fri, 29 Nov 2024 06:34:42 +0000 (09:34 +0300)
committerPavel Filipensky <pfilipensky@samba.org>
Thu, 2 Jan 2025 17:58:50 +0000 (17:58 +0000)
setgroups(), unlike getgroups(), is not in <unistd.h> but in <grp.h>.
Recent compilers require function declaration before using a function
(or more and more distributions treat lack of declaration as error),
so all configure-time tests fails with source3/lib/util_sec.c:

source3/../lib/util/setid.c: In function 'samba_setgroups':
source3/../lib/util/setid.c:244:16: error: implicit declaration of function \
  'setgroups'; did you mean 'getgroups'? [-Wimplicit-function-declaration]
  244 |         return setgroups(setlen, gidset);

Add the missing include so configuration finds the existing system
functions instead of failing.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Pavel Filipenský <pfilipensky@samba.org>
Autobuild-User(master): Pavel Filipensky <pfilipensky@samba.org>
Autobuild-Date(master): Thu Jan  2 17:58:50 UTC 2025 on atb-devel-224

lib/util/setid.c
source3/lib/util_sec.c

index 6447909a5f3cbbbe626c4160126ebc8b9dfb733c..a714e699f00347d06fbbf0034d6e745954f1a77d 100644 (file)
@@ -29,6 +29,9 @@
 #if defined(HAVE_UNISTD_H)
 #include <unistd.h>
 #endif
+#if defined(HAVE_GRP_H)
+#include <grp.h> /* setgroups() */
+#endif
 #include <stdlib.h>
 #include <stdio.h>
 #include <sys/types.h>
index ba6f109dcb7bd8a759ac385e76b15366e20e05ff..2dab285585897cf96f0635fba29068c2d8a4b5b8 100644 (file)
@@ -28,6 +28,9 @@
 #if defined(HAVE_UNISTD_H)
 #include <unistd.h>
 #endif
+#if defined(HAVE_GRP_H)
+#include <grp.h> /* setgroups() */
+#endif
 #include <stdbool.h>
 #include <stdlib.h>
 #include <stdio.h>