From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4012 invoked by alias); 12 Aug 2010 09:15:01 -0000 Received: (qmail 3962 invoked by uid 9702); 12 Aug 2010 09:15:01 -0000 Date: Thu, 12 Aug 2010 09:15:00 -0000 Message-ID: <20100812091501.3960.qmail@sourceware.org> From: fabbione@sourceware.org To: lvm-devel@redhat.com, lvm2-cvs@sourceware.org Subject: LVM2 ./WHATS_NEW scripts/clvmd_init_red_hat.in Mailing-List: contact lvm2-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: lvm2-cvs-owner@sourceware.org X-SW-Source: 2010-08/txt/msg00041.txt.bz2 CVSROOT: /cvs/lvm2 Module name: LVM2 Changes by: fabbione@sourceware.org 2010-08-12 09:15:00 Modified files: . : WHATS_NEW scripts : clvmd_init_red_hat.in Log message: Fix clvmd init script return code when executed as non-root user. clvmd daemon itself does the right thing when invoked as non-root, by returning 4. The patch removes the use daemon function from /etc/rc.d/init.d/functions that´s unnecessary and has th bad habit to mask the return codes from the real daemon. Add a simple and generic check to see if clvmd is executed by root or not. Our stop/reload/restart paths in the init script are complex and not all the tools involved in the process are guaranteed to return 4 if executed by non-root against a process that´s running as root (for example kill -TERM will return -1 and parsing the output to catch the error is suboptimal at best). https://bugzilla.redhat.com/show_bug.cgi?id=553381 Patches: http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.1701&r2=1.1702 http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/scripts/clvmd_init_red_hat.in.diff?cvsroot=lvm2&r1=1.9&r2=1.10 --- LVM2/WHATS_NEW 2010/08/12 04:11:48 1.1701 +++ LVM2/WHATS_NEW 2010/08/12 09:14:59 1.1702 @@ -1,5 +1,6 @@ Version 2.02.73 - ================================ + Fix clvmd init script exit code when executed as non-root user. Change default alignment of pe_start to 1MB. Add --norestorefile option to pvcreate. Require --restorefile when using pvcreate --uuid. --- LVM2/scripts/clvmd_init_red_hat.in 2010/06/23 16:24:14 1.9 +++ LVM2/scripts/clvmd_init_red_hat.in 2010/08/12 09:15:00 1.10 @@ -66,7 +66,7 @@ { if ! rh_status_q; then echo -n "Starting $DAEMON: " - daemon $DAEMON $CLVMDOPTS || return $? + $DAEMON $CLVMDOPTS || return $? echo fi @@ -165,6 +165,11 @@ fi } +[ "$EUID" != "0" ] && { + echo "clvmd init script can only be executed as root user" + exit 4 +} + # See how we were called. case "$1" in start)