Re: [exim] After upgrade to Exim 4.95 or 4.96: "setgroups: I…

Top Page
Delete this message
Reply to this message
Author: Bill Cole
Date:  
To: Lasse Törngren via Exim-users
Subject: Re: [exim] After upgrade to Exim 4.95 or 4.96: "setgroups: Invalid argument"
On 2022-09-19 at 08:14:46 UTC-0400 (Mon, 19 Sep 2022 14:14:46 +0200)
Lasse Törngren via Exim-users <lasse.torngren@???>
is rumored to have said:

> Hello Jeremy,
>
>
>
> OK, I understand. Sad from my point of view, as this means that I will
> never be able to upgrade Exim from now on?
>
> (Unless I pinpoint the bug myself.)


The root cause of this is that Apple has incrementally but persistently
made macOS less and less fit as a server platform and more dependent on
proprietary functionality with each of the last 10 or so releases. That
drives away developers of OSS who do cross-platform development.

In this case, I *think* the issue is that macOS routinely uses a
plethora of supplemental groups managed in OpenDirectory that can grow
to more than 16 on a single user, but Apple has never seen fit to make
the 'kern.ngroups' kernel parameter tunable, even at boot time. I
suspect that decision dates to when they tried to make the "Server"
version of Mac OS X a revenue center. According to the setgroups(2) man
page, "Invalid Argument" indicates a call with too many groups. It also
says that use of setgroups is "highly discouraged" but does not detail
why or how one is supposed to avoid it.

Based on hints in the initgroups(3) man page, I suspect the fix is to be
found somewhere in the use of mbr_* functions of OpenDirectory and a
consciously crafted group list passed to setgroups rather than blindly
replicating the potentially (in code built with one of the right macros)
oversize return of getgroups(2).

>
>
>
> Best regards
>
> Lasse
>
>
>
> Från: Jeremy Harris <jgh@???>
> Datum: söndag 18 september 2022 22:03
> Till: <exim-users@???>
> Ämne: Re: [exim] After upgrade to Exim 4.95 or 4.96: "setgroups:
> Invalid argument"
>
>
>
> On 18/09/2022 20:36, Lasse Törngren via Exim-users wrote:
>
> I have tried to upgrade to Exim 4.95 on this machine, and to Exim 4.96
> on a new server that I am setting up with MacOS Big Sur. On both
> servers I get Exim Panic with “setgroups: Invalid argument” at
> local (virtual) delivery. The users are set up with mysql, so the path
> for delivery is a result of a mysql query. I have really tried to
> figure out on my own why this is happening (through debugging,
> checking file and folder paths and permissions and so on), but no luck
> so far. On the new server everything works out fine with Exim 4.94, as
> with the old server.
>
> Effectively, it's a bug.
>
>
>
> Unfortunately due to lack of interest, eg. with any developer actually
>
> running MacOS, maintaining a regression-test system for it and working
>
> on discovered issues, support for that platform was withdrawn
>
> at the 4.95 release.
>
> --
>
> Cheers,
>
>    Jeremy

>
>
>
>
>
>
>
>
>
> --
> ## List details at https://lists.exim.org/mailman/listinfo/exim-users
> ## Exim details at http://www.exim.org/
> ## Please use the Wiki with this list - http://wiki.exim.org/



--
Bill Cole
bill@??? or billcole@???
(AKA @grumpybozo and many *@billmail.scconsult.com addresses)
Not Currently Available For Hire