Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 199915 - clean environement in init.d scripts
Summary: clean environement in init.d scripts
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] baselayout (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 206046 (view as bug list)
Depends on:
Blocks:
 
Reported: 2007-11-21 19:43 UTC by babykart
Modified: 2008-01-16 06:28 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description babykart 2007-11-21 19:43:11 UTC
When you restart a daemon the environement of the processus is not clean:
for example, with apache (but the same with lighttpd, mysql, rsync...)
after a server reboot:
# cat /proc/<PID>/environ
CONSOLE=/dev/consoleTERM=linuxDEFAULTLEVEL=defaultLC_ALL=fr_FR@euroCRITICAL_SERVICES=checkroot modules checkfs localmount clock bootmiscINIT_VERSION=sysvinit-2.86PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/bin:/usr/bin:/sbin:/usr/sbinRUNLEVEL=3PWD=/LANG=fr_FR@euroPREVLEVEL=NBOOTLEVEL=bootSVCNAME=apache2CONSOLETYPE=vtHOME=/SHLVL=2SOFTLEVEL=defaultOLDSOFTLEVEL=boot_=/sbin/start-stop-daemon#
after a daemon restart:
# cat /proc/<PID>/environ
TERM=xtermSHELL=/bin/zshDEFAULTLEVEL=defaultLC_ALL=fr_FR@euroUSER=rootPATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/opt/bin:/usr/i686-pc-linux-gnu/gcc-bin/4.1.2PWD=/rootLANG=fr_FR@euroBOOTLEVEL=bootSVCNAME=apache2CONSOLETYPE=ptySHLVL=1HOME=/rootSOFTLEVEL=default_=/sbin/start-stop-daemon#


Reproducible: Always

Steps to Reproduce:
1. /etc/init.d/<daemon> restart
2.
3.




Portage 2.1.3.19 (default-linux/x86/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.22-gentoo-r8 i686)
=================================================================
System uname: 2.6.22-gentoo-r8 i686 Intel(R) Xeon(TM) CPU 3.20GHz
Timestamp of tree: Wed, 21 Nov 2007 15:46:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -mtune=pentium4 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=pentium4 -mtune=pentium4 -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg candy ccache distlocks fixpackages metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://doc.directindustry.com/gentoo/ http://di.directindustry.com/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo http://pandemonium.tiscali.de/pub/gentoo/"
LANG="fr_FR@euro"
LC_ALL="fr_FR@euro"
LDFLAGS="-Wl,-O1 -Wl,--sort-common"
LINGUAS="fr fr_FR"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.directindustry.com/gentoo-portage"
USE="aio apache2 bash-completion berkdb bitmap-fonts bzip2 cli cracklib crypt ctype elf expat fam gd gdbm gif gs hpn iconv isdnlog jbig jpeg jpeg2k latin1 lcms ldap logrotate midi mmx mpm-worker mudflap mysql mysqli ncurses nls nptl nptlonly openmp pam pcre php png pppd python readline reflection rle session snmp spell spl sse sse2 ssl symlink tcpd threads tidy tiff truetype truetype-fonts type1-fonts unicode vhosts vim-syntax x86 xml zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr fr_FR" USERLAND="GNU" VIDEO_CARDS="radeon"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Portage 2.1.3.16 (default-linux/amd64/2007.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo x86_64)
=================================================================
System uname: 2.6.23-gentoo x86_64 Intel(R) Xeon(R) CPU X5355 @ 2.66GHz
Timestamp of tree: Sun, 28 Oct 2007 09:50:01 +0000
app-shells/bash:     3.2_p17
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
sys-apps/baselayout: 1.12.9-r2
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.61-r1
sys-devel/automake:  1.5, 1.6.3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.3.16
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.22-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=nocona -mtune=nocona -msse3 -fomit-frame-pointer -momit-leaf-frame-pointer -pipe -fno-ident -fweb"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php4/ext-active/ /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php4/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=nocona -mtune=nocona -msse3 -fomit-frame-pointer -momit-leaf-frame-pointer -pipe -fno-ident -fweb"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg candy ccache distlocks fixpackages metadata-transfer paralell-fetch sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://doc.virtual-expo.com/gentoo/ http://di.virtual-expo.com/gentoo ftp://213.186.33.37/gentoo-distfiles/ http://pandemonium.tiscali.de/pub/gentoo/"
LANG="fr_FR@euro"
LC_ALL="fr_FR@euro"
LINGUAS="fr fr_FR"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.directindustry.com/gentoo-portage"
USE="aio amd64 apache2 bash-completion berkdb big-tables bitmap-fonts bzip2 chroot cli cluster cracklib crypt ctype curl elf expat fam gd gdbm gif gs hpn iconv isdnlog jbig jpeg jpeg2k json latin1 lcms ldap midi mmx mmxext mudflap mysql ncurses nls nptl nptlonly openmp pam pcre perl php png posix python readline reflection rle session snmp soap sockets spell spl sse sse2 ssl symlink tcpd threads tidy tiff truetype truetype-fonts type1-fonts unicode vim-syntax xml zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr fr_FR" USERLAND="GNU" VIDEO_CARDS="vga"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

Well, it's the same on 44 gentoo linux boxes...
Comment 1 SpanKY gentoo-dev 2007-11-21 21:12:15 UTC
this has already been fixed in baselayout-2
Comment 2 babykart 2007-11-22 10:25:51 UTC
I make the test with baselayout-2.0.0_rc6 and the example with mysql
after a reboot:
cat /proc/<PID>/environ

TIMEUNIT=0.1unmanagedparams= CONSOLE=/dev/consoleCHROOT=TERM=linuxSTOPTIMEOUT=1200pidfile=/var/run/mysqld/mysqld.pidNICE=LC_ALL=fr_FR@euroINIT_VERSION=sysvinit-2.86basedir=/usrPATH=/bin:/sbin:/usr/bin!:/usr/sbin+RUNLEVEL=3PWD=/LANG=fr_FR@eurodatadir=/var/lib/mysqlPREVLEVEL=NSVCNAME=mysqlSHLVL=1socket=/var/run/mysqld/mysqld.sockSTARTUPTIMEOUT=50MY_CNF=/etc/mysql/my.cnfMY_SUFFIX=_=/sbin/start-stop-daemonHOME=/rootUSER=root#

after daemon restart:
cat /proc/<PID>/environ

TIMEUNIT=0.1unmanagedparams= CHROOT=TERM=xtermSHELL=/bin/zshSTOPTIMEOUT=1200pidfile=/var/run/mysqld/mysqld.pidNICE=LC_ALL=fr_FR@eurobasedir=/usrPATH=/bin:/sbin:/usr/binQœ:/usr/sbin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2:/opt/blackdown-jdk-1.4.2.03/bin:/opt/blackdown-jdk-1.4.2.03/jre/bin:/opt/binŒPWD=/LANG=fr_FR@eurodatadir=/var/lib/mysqlSVCNAME=mysqlSHLVL=1socket=/var/run/mysqld/mysqld.sockSTARTUPTIMEOUT=50MY_CNF=/etc/mysql/my.cnfMY_SUFFIX=_=/sbin/start-stop-daemonHOME=/rootUSER=root#

...
Comment 3 Roy Marples (RETIRED) gentoo-dev 2007-12-03 15:30:40 UTC
TERM=xterm
SHELL=/bin/bash
LC_ALL=en_GB.utf8
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.1.2
PWD=/
LANG=en_GB.utf8
SVCNAME=sshd
SHLVL=1
_=/sbin/start-stop-daemon
HOME=/root
USER=root

That is the env of sshd on my server running b2-rc6, after a restart. And trust me it's been cleaned out as the env that restarted it had things like PYTHONPATH in.

We have to allow some env vars through - see /lib/rc/conf.d/env_whitelist for all of them.

mysql is a bad example as it's init script is horendeous and needs a rewrite. See bug #175783 for a better one. I chose sshd as its init script is simple.
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2008-01-16 06:28:48 UTC
*** Bug 206046 has been marked as a duplicate of this bug. ***