#!/bin/bash

DIR=/tmp
FILE=${DIR}/$USER-ssh-agent-info
SSH_AGENT_ARGS="-t 25H"
SSH_AGENT=ssh-agent

if [ ! -d ${DIR} ] ; then
    echo "No directory ${DIR}"
    exit 1
fi
 
if [ -f "${FILE}.bash" ]; then
    . ${FILE}.bash 
else
    SSH_AGENT_PID=""
fi

if [ "X${SSH_AGENT_PID}" != "X" ] \
        && kill -0 `echo ${SSH_AGENT_PID}` 2>/dev/null ; then
    echo "ssh-agent is already running; clearing"
    ssh-add -D
else 
    echo "ssh-agent is not running; generating identity info in ${FILE}"
    set clobber
    ${SSH_AGENT} ${SSH_AGENT_ARGS} -s | head -2 > ${FILE}.bash
    . ${FILE}.bash
    echo "setenv SSH_AUTH_SOCK ${SSH_AUTH_SOCK}" > ${FILE}.csh
    echo "setenv SSH_AGENT_PID ${SSH_AGENT_PID}" >> ${FILE}.csh
    chmod 600 ${FILE}.bash ${FILE}.csh
fi
