From owner-freebsd-current Thu Mar 27 10:10:29 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id JAA04018 for current-outgoing; Thu, 27 Mar 1997 09:58:00 -0800 (PST) Received: from who.cdrom.com (who.cdrom.com [204.216.27.3]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id JAA03972 for ; Thu, 27 Mar 1997 09:57:52 -0800 (PST) Received: from melbourne.dialix.com.au (seeuucp@melbourne.dialix.com.au [203.12.2.24]) by who.cdrom.com (8.8.5/8.6.11) with ESMTP id CAA03030 for ; Thu, 27 Mar 1997 02:36:45 -0800 (PST) Received: (from seeuucp@localhost) by melbourne.dialix.com.au with UUCP id VAA15302; Thu, 27 Mar 1997 21:34:13 +1100 (EST) X-Authentication-Warning: melbourne.dialix.com.au: seeuucp set sender to mark@seeware.DIALix.oz.au using -f Received: from putte.seeware.DIALix.oz.au (putte.seeware.DIALix.oz.au [10.0.0.1]) by doorway.seeware.DIALix.oz.au (8.8.5/8.7.3) with ESMTP id VAA16533; Thu, 27 Mar 1997 21:10:34 +1100 (EST) From: Mark Hannon Received: (from mark@localhost) by putte.seeware.DIALix.oz.au (8.8.5/8.7.3) id VAA00461; Thu, 27 Mar 1997 21:10:34 +1100 (EST) Date: Thu, 27 Mar 1997 21:10:34 +1100 (EST) Message-Id: <199703271010.VAA00461@putte.seeware.DIALix.oz.au> To: joerg_wunsch@uriah.heep.sax.de, current@freebsd.org, deischen@iworks.InterWorks.org Subject: SOLVED: 2.2-RELEASE, dtmail stopped working Cc: support@xinside.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-MD5: 3yLyojojMQkAV60m/HkB0g== Sender: owner-current@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi, A week ago I reported a problem with Xinside's dtmail client not starting under 2.2-RELEASE. The same program had worked under 2.1.[567] and 2.2-GAMMA. The error message was "Mailer has not been properly installed and cannot be run because the execution group is incorrectly set" dtmail is sgid bin and the mail spool permissions are set to 775. After some hints from Joerg I managed to trace the execution on both a 2.2 and 2.1.7 kernel (this required the removal of a check which dissallows ktrace in an suid/sgid process). Upon examination I saw that the failure point in 2.2 was in a failing call to the setgid call. The call failed with a permission error in 2.2 but not in 2.1.7. Further digging showed that /sys/sys/unistd.h has changed in 2.2 and says: #ifdef _NOT_AVAILABLE #define _POSIX_SAVED_IDS /* saved set-user-ID and set-group-ID */ #endif The code in /sys/kern/kern_prot.c checks for _POSIX_SAVED_IDS before including the code to allow setgid. I could not find a #def _NOT_AVAILABLE in the include files. A recompile of a new kernel with the unistd.h file from 2.2-GAMMA has solved my problems. I have submitted a PR on this. Regards/Mark