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)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 12 Jan 2025 20:16:00 +0000 (23:16 +0300)
commit1c0f63b047517c123b2e9764e21631a4219cf70c
treeb3fce3e5c26b155c7cf9558f835b80dc40c2ef45
parent51e4eeab29ebe8582cee232eb268b0c6006bbed3
include <grp.h> for setgroups in a few places

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>
Gbp-Pq: Name include-grp.h-for-setgroups-in-a-few-places.patch
lib/util/setid.c
source3/lib/util_sec.c