#!/usr/bin/sh

# Abort if the DISPLAY environment variable is unset, which may be the case if
# the display manager is launched in a remote display session via XDMCP.
# Otherwise this script will clobber the existing xauth key with no possibility
# of regenerating it.
if [ -z "$DISPLAY" ]; then
	exit 0
fi

XAUTH=xauth
if [ -x /usr/bin/xauth ]; then
	XAUTH=/usr/bin/xauth
fi
if [ -x /usr/openwin/bin/xauth ]; then
	XAUTH=/usr/openwin/bin/xauth
fi
if [ ! -d /var/lib/VirtualGL ]; then
	mkdir -p /var/lib/VirtualGL
fi
if [ -f /var/lib/VirtualGL/vgl_xauth_key ]; then
	rm /var/lib/VirtualGL/vgl_xauth_key
fi
$XAUTH -f /var/lib/VirtualGL/vgl_xauth_key generate $DISPLAY . trusted timeout 0 ||
	$XAUTH -f /var/lib/VirtualGL/vgl_xauth_key add $DISPLAY . `$XAUTH list | awk '{print $3}' | uniq`
chmod 644 /var/lib/VirtualGL/vgl_xauth_key
