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

Top Page
Delete this message
Reply to this message
Author: Lasse Törngren
Date:  
To: Bill Cole, Lasse Törngren via Exim-users
Subject: Re: [exim] After upgrade to Exim 4.95 or 4.96: "setgroups: Invalid argument"
Hello Bill,



Many thanks for the input. It's beyond my skill level, but you absolutely point to where I can start digging.



Best regards

Lasse



Från: Bill Cole <eximusers-20180419@???>
Datum: måndag 19 september 2022 16:01
Till: Lasse Törngren via Exim-users <exim-users@???>
Ämne: 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