Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Mar 2004 01:02:32 +0100
From:      Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
To:        current@FreeBSD.org
Subject:   PATCH: Makefile.inc1 r1.411 jams make installworld
Message-ID:  <20040311000232.GA30116@merlin.emma.line.org>

next in thread | raw e-mail | index | archive | help

--vkogqOf2sHV7VnPd
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

I've sent this PR - unfortunately from the wrong address, so the posting
was held. I've cancelled it and am forwarding it so it appears earlier,
to avoid the problem from being reported again.

This has been assigned PR misc/64073 in the meanwhile,
see http://www.freebsd.org/cgi/query-pr.cgi?pr=64073

Matthias

--vkogqOf2sHV7VnPd
Content-Type: message/rfc822
Content-Disposition: inline

Return-Path: <matthias.andree@gmx.de>
X-Original-To: emma@sigma.emma.line.org
Delivered-To: emma@sigma.emma.line.org
Received: from localhost (localhost [127.0.0.1])
	by merlin.emma.line.org (Postfix) with ESMTP id DA1BF1CF0;
	Thu, 11 Mar 2004 00:53:36 +0100 (CET)
Received: from merlin.emma.line.org ([127.0.0.1])
 by localhost (m2a2.dyndns.org [127.0.0.1]) (amavisd-new, port 10024)
 with LMTP id 29212-03; Thu, 11 Mar 2004 00:53:36 +0100 (CET)
Received: from sigma.emma.line.org (sigma.emma.line.org [192.168.0.49])
	by merlin.emma.line.org (Postfix) with ESMTP id 56651DE7;
	Thu, 11 Mar 2004 00:53:36 +0100 (CET)
Received: by sigma.emma.line.org (Postfix, from userid 500)
	id 1C3AC5C33; Thu, 11 Mar 2004 00:53:36 +0100 (CET)
To: FreeBSD-gnats-submit@freebsd.org
Subject: PATCH: Makefile.inc1 r1.411 jams make installworld 
From: Matthias Andree <matthias.andree@gmx.de>
Cc: current@freebsd.org, net@freebsd.org, gshapiro@freebsd.org,
	peter@freebsd.org, Max Laier <max@love2party.net>
X-send-pr-version: 3.113
X-GNATS-Notify: 
Message-Id: <20040310235336.1C3AC5C33@sigma.emma.line.org>
Date: Thu, 11 Mar 2004 00:53:36 +0100 (CET)
X-Virus-Scanned: by amavisd-new at !change-mydomain-variable!.example.com
X-Bogosity: No, tests=bogofilter, spamicity=0.000000,
	version=0.17.2.cvs.CVStime_20040305_003938, date=2004-03-10T23:53:37Z


>Submitter-Id:	current-users
>Originator:	Matthias Andree
>Organization:	
>Confidential:	no 
>Synopsis:	PATCH: Makefile.inc1 r1.411 jams make installworld 
>Severity:	critical 
>Priority:	low 
>Category:	misc 
>Class:		sw-bug 
>Release:	FreeBSD 5.2-CURRENT i386
>Environment:
System: FreeBSD sigma.emma.line.org 5.2-CURRENT FreeBSD 5.2-CURRENT #3: Wed Mar 10 22:29:45 CET 2004 root@sigma.emma.line.org:/usr/src/sys/i386/compile/SIGMA i386


	
>Description:
"make installworld" fails, complaining the required authpf group was missing:

-bash-2.05b# grep -w authpf /etc/group
authpf:*:63:
-bash-2.05b# make installworld
id: authpf: no such user
ERROR: Required authpf group is missing, see /usr/src/UPDATING.
*** Error code 1

Cause: The recent Makefile.inc1 change in rev. 1.411 of that file is
bogus, it is a copy of a bogus line further up in the file that was
shadowed by a mandatory user account with the same name as the group
that was supposed to be checked.

"id -g authpf" does not check if a *group* "authpf" exists but returns the
primary group ID of the *user* "authpf". Result as above.

Looking closer, the same problem applies to the "id -g smmsp" check that used
to be fine (albeit inefficient) but was repaired broken in revision 1.376 on
2003-07-06 by gshapiro after suggestion from peter.

I am suggesting the patch below that checks /etc/group with grep and then NIS
with ypmatch. This is a bit ugly but will serve for now.

A more complex but nsswitch-proof alternative would be to create a dummy
file, for instance:
echo "delete me" >${DECENTPATH}/dummy$$
chgrp smmsp ${DECENTPATH}/dummy$$

DECENTPATH should be somewhere writable below the installation location,
it won't hurt there, or in a temporary directory that is not prone to
symlink attacks (i. e. that is not world writable).

	
>How-To-Repeat:
Update the FreeBSD -CURRENT base system as usual.
	
>Fix:

	
Patch /usr/src/Makefile.inc1 as follows:

--- Makefile.inc1~	Wed Mar 10 22:10:11 2004
+++ Makefile.inc1	Thu Mar 11 00:35:58 2004
@@ -409,25 +409,28 @@
 #
 installcheck: ${SPECIAL_INSTALLCHECKS}
 .if !defined(NO_SENDMAIL)
-	@if ! `id -u smmsp > /dev/null`; then \
+	@if ! id -u smmsp > /dev/null; then \
 		echo "ERROR: Required smmsp user is missing, see /usr/src/UPDATING."; \
 		false; \
 	fi
-	@if ! `id -g smmsp > /dev/null`; then \
+	@if ! grep '^smmsp:' /etc/group > /dev/null \
+	 && ! ypmatch smmsp group >/dev/null ; then \
 		echo "ERROR: Required smmsp group is missing, see /usr/src/UPDATING."; \
 		false; \
 	fi
 .endif
 .if !defined(NO_PF)
-	@if ! `id -u proxy > /dev/null`; then \
+	@if ! id -u proxy > /dev/null; then \
 		echo "ERROR: Required proxy user is missing, see /usr/src/UPDATING."; \
 		false; \
 	fi
-	@if ! `id -g proxy > /dev/null`; then \
+	@if ! grep '^proxy:' /etc/group > /dev/null \
+	 && ! ypmatch proxy group >/dev/null ; then \
 		echo "ERROR: Required proxy group is missing, see /usr/src/UPDATING."; \
 		false; \
 	fi
-	@if ! `id -g authpf > /dev/null`; then \
+	@if ! grep '^authpf:' /etc/group > /dev/null \
+	 && ! ypmatch authpf group >/dev/null ; then \
 		echo "ERROR: Required authpf group is missing, see /usr/src/UPDATING."; \
 		false; \
 	fi


--vkogqOf2sHV7VnPd--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040311000232.GA30116>