#!/bin/sh

BDII_CONF=${1:-/opt/bdii/etc/bdii.conf}

if [ -f "$BDII_CONF" ]; then
    . "$BDII_CONF"
else
    echo "Configuration file $BDII_CONF not found ..."
    exit 1
fi

egrep '^BDII_PROXY= *$' $BDII_CONF > /dev/null && exit 0

f=$BDII_DIR/etc/proxy.conf

if test -f $f
then
    egrep '^BDII_PROXY= *$' $f > /dev/null && exit 0
    . $f
fi

cert=${X509_HOST_CERT:-/etc/grid-security/hostcert.pem}
key=${X509_HOST_KEY:-/etc/grid-security/hostkey.pem}

test -f "$cert" && test -f "$key" || exit 0

id -u "$BDII_USER" > /dev/null || exit 1

if test "x$GLOBUS_LOCATION" = x
then
    f=/etc/sysconfig/globus
    test -f $f && . $f
    : ${GLOBUS_LOCATION:=/opt/globus}
    export GLOBUS_LOCATION
fi

f=$GLOBUS_LOCATION/etc/globus-user-env.sh
test -f $f || exit 0
. $f

proxy=${BDII_PROXY:-$BDII_VAR_DIR/hostproxy}
f=$proxy.$$

$GLOBUS_LOCATION/bin/grid-proxy-init -q -cert $cert -key $key -out $f &&
    chown $BDII_USER $f &&
    mv -f $f $proxy

