X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plc.d%2Fgpg;h=23428850609ef8924795564780e53edd54855da9;hb=732a0fd6d8d7f94ee2ed99ddd3b5b9a41d8ea0e3;hp=66983c72a11b04cc3a4c23abf389673f6b1585ff;hpb=4ce8882f03751b338320b1222ee65f96d62ed702;p=myplc.git diff --git a/plc.d/gpg b/plc.d/gpg index 66983c7..2342885 100755 --- a/plc.d/gpg +++ b/plc.d/gpg @@ -1,14 +1,14 @@ #!/bin/bash +# $Id$ +# $URL$ # -# priority: 500 +# priority: 400 # # Generate GPG keys # # Mark Huang # Copyright (C) 2006 The Trustees of Princeton University # -# $Id: gpg,v 1.8 2006/12/15 20:16:16 mlhuang Exp $ -# # Source function library and configuration . /etc/plc.d/functions @@ -22,6 +22,15 @@ case "$1" in # Make temporary GPG home directory homedir=$(mktemp -d /tmp/gpg.XXXXXX) + # in case a previous gpg invocation failed in some weird way + # and left behind a zero length gpg key (pub or priv). + if [ -f $PLC_ROOT_GPG_KEY_PUB -a ! -s $PLC_ROOT_GPG_KEY_PUB ] ; then + rm -f $PLC_ROOT_GPG_KEY_PUB + fi + if [ -f $PLC_ROOT_GPG_KEY -a ! -s $PLC_ROOT_GPG_KEY ] ; then + rm -f $PLC_ROOT_GPG_KEY + fi + if [ ! -f $PLC_ROOT_GPG_KEY_PUB -o ! -f $PLC_ROOT_GPG_KEY ] ; then # Generate new GPG keyring MESSAGE=$"Generating GPG keys" @@ -33,7 +42,10 @@ case "$1" in # Temporarily replace /dev/random with /dev/urandom to # avoid running out of entropy. rm -f /dev/random + # 1 9 is /dev/urandom mknod /dev/random c 1 9 + # sometimes mknod fails within an improperly setup vserver + check gpg --homedir=$homedir --no-permission-warning --batch --no-tty --yes \ --gen-key <