SVN: rc-scripts/branches/upstart_native: Makefile.am configure.ac init init/Makefile.am init/random....
jajcus
jajcus at pld-linux.org
Mon May 10 10:10:47 CEST 2010
Author: jajcus
Date: Mon May 10 10:10:47 2010
New Revision: 11416
Added:
rc-scripts/branches/upstart_native/init/ (props changed)
rc-scripts/branches/upstart_native/init/Makefile.am
rc-scripts/branches/upstart_native/init/random.conf
Modified:
rc-scripts/branches/upstart_native/Makefile.am
rc-scripts/branches/upstart_native/configure.ac
rc-scripts/branches/upstart_native/rc.d/init.d/random
Log:
- 'random' implemented as an upstart job – this is an important dependency
for sensitive services
Modified: rc-scripts/branches/upstart_native/Makefile.am
==============================================================================
--- rc-scripts/branches/upstart_native/Makefile.am (original)
+++ rc-scripts/branches/upstart_native/Makefile.am Mon May 10 10:10:47 2010
@@ -2,7 +2,7 @@
# $Id$
#
-SUBDIRS = src ppp isapnp sysconfig rc.d doc man po
+SUBDIRS = src ppp isapnp sysconfig rc.d doc man po init
sysconf_DATA = \
adjtime \
Modified: rc-scripts/branches/upstart_native/configure.ac
==============================================================================
--- rc-scripts/branches/upstart_native/configure.ac (original)
+++ rc-scripts/branches/upstart_native/configure.ac Mon May 10 10:10:47 2010
@@ -28,6 +28,7 @@
downdir='${sysconfigdir}/interfaces/down.d'
networkscriptsdir='${sysconfigdir}/network-scripts'
rcdir='${sysconfdir}/rc.d'
+initdir='${sysconfdir}/init'
docdir="${prefix}/doc/$PACKAGE-$VERSION"
dnl i18n support
@@ -106,6 +107,7 @@
AC_SUBST(updir)
AC_SUBST(downdir)
AC_SUBST(rcdir)
+AC_SUBST(initdir)
AC_SUBST(docdir)
AC_SUBST(GLIBDIR)
AC_SUBST(GLIBNAME)
@@ -222,5 +224,6 @@
sysconfig/interfaces/down.d/tnl/Makefile \
rc.d/Makefile rc.d/init.d/Makefile \
po/Makefile \
+ init/Makefile \
])
AC_OUTPUT
Added: rc-scripts/branches/upstart_native/init/Makefile.am
==============================================================================
--- (empty file)
+++ rc-scripts/branches/upstart_native/init/Makefile.am Mon May 10 10:10:47 2010
@@ -0,0 +1,7 @@
+ at SET_MAKE@
+
+initdir = @initdir@
+
+init_DATA = random.conf
+
+EXTRA_DIST = $(init_DATA)
Added: rc-scripts/branches/upstart_native/init/random.conf
==============================================================================
--- (empty file)
+++ rc-scripts/branches/upstart_native/init/random.conf Mon May 10 10:10:47 2010
@@ -0,0 +1,27 @@
+description "Save random entropy on shutdown and restore it at boot time"
+
+start on pld.sysinit_done
+stop on pld.shutdown_started
+
+env SEED_FILE=/var/run/random-seed
+
+pre-start script
+ poolfile=/proc/sys/kernel/random/poolsize
+ [ -r $poolfile ] && bytes="$(cat $poolfile)" || bytes=512
+ if [ -f $SEED_FILE ]; then
+ cat $SEED_FILE >/dev/urandom
+ else
+ touch $SEED_FILE
+ fi
+ chmod 600 $SEED_FILE
+ dd if=/dev/urandom of=$SEED_FILE count=1 bs=$bytes 2>/dev/null
+end script
+
+post-stop script
+ poolfile=/proc/sys/kernel/random/poolsize
+ [ -r $poolfile ] && bytes="$(cat $poolfile)" || bytes=512
+ touch $SEED_FILE
+ chmod 600 $SEED_FILE
+ dd if=/dev/urandom of=$SEED_FILE count=1 bs=$bytes 2>/dev/null
+end script
+
Modified: rc-scripts/branches/upstart_native/rc.d/init.d/random
==============================================================================
--- rc-scripts/branches/upstart_native/rc.d/init.d/random (original)
+++ rc-scripts/branches/upstart_native/rc.d/init.d/random Mon May 10 10:10:47 2010
@@ -12,16 +12,20 @@
# Source function library.
. /etc/rc.d/init.d/functions
+upstart_controlled start stop
+
random_seed=/var/run/random-seed
poolfile=/proc/sys/kernel/random/poolsize
[ -r $poolfile ] && bytes="$(cat $poolfile)" || bytes=512
+
# See how we were called.
case "$1" in
start)
# Check if the service is already running?
if [ ! -f /var/lock/subsys/random ]; then
+ emit starting JOB=random
show "Initializing random number generator"
busy
# Carry a random seed from start-up to start-up
@@ -35,11 +39,13 @@
touch /var/lock/subsys/random
deltext
ok
+ emit started JOB=random
fi
;;
stop)
if [ -f /var/lock/subsys/random ]; then
# Carry a random seed from shut-down to start-up
+ emit stopping JOB=random
show "Saving random seed"
busy
touch $random_seed
@@ -49,6 +55,7 @@
rm -f /var/lock/subsys/random
deltext
ok
+ emit stopped JOB=random
fi
;;
status)
More information about the pld-cvs-commit
mailing list