diff --git a/script/booth-keygen b/script/booth-keygen index 54f079d..5215826 100644 --- a/script/booth-keygen +++ b/script/booth-keygen @@ -1,63 +1,64 @@ #!/bin/sh # # Generate authentication key for booth # # This program is free software; you can redistribute it and/or modify # it under the terms of version 2 of the GNU General Public License as # published by the Free Software Foundation. # # This program is distributed in the hope that it would be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # # Further, this software is distributed without any warranty that it is # free of the rightful claim of any third person regarding infringement # or the like. Any license provided herein, whether implied or # otherwise, applies only to this software file. Patent licenses, if # any, provided herein do not apply to combinations of this program with # other software, or any other product whatsoever. # # You should have received a copy of the GNU General Public License # along with this program; if not, write the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. # DFLT_AUTHFILE=/etc/booth/authkey KEYSIZE=64 # /dev/urandom should be good enough RND_SRC=/dev/urandom usage() { cat<&2 } fatal() { error $* exit 1 } case "$1" in "-h"|"--help"|"-?") usage;; /*|"") : ;; *) fatal "please use absolute path for the key file" ;; esac keyf=${1:-$DFLT_AUTHFILE} if test -f $keyf; then fatal "file $keyf already exists" fi umask 077 -dd if=$RND_SRC of=$keyf bs=$KEYSIZE count=1 status=none +errout=`dd if=$RND_SRC of=$keyf bs=$KEYSIZE count=1 2>&1` rc=$? if [ $rc -ne 0 ]; then + echo "$errout" >&2 exit $rc fi chown root:root $keyf