#!/bin/bash
# Escape spaces and quotes, because shell is revolting.
for arg in "$@" ; do
	# Escape quotes in parameters, so that they're passed through cleanly.
	arg=$(sed -e 's/"/\\"/' <<-END
		$arg
		END
	)
	CMDLINE="${CMDLINE} \"${arg}\""
done

cd /var/lib/rabbitmq

SCRIPT=`basename $0`

if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then
    RABBITMQ_ENV=/usr/lib/rabbitmq/rabbitmq-env
    RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV")
    . "$RABBITMQ_ENV"

    exec /usr/lib/rabbitmq/rabbitmq-server "$@"
elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then
    if [ -f $PWD/.erlang.cookie ] ; then
        export HOME=.
    fi
    exec /usr/lib/rabbitmq/${SCRIPT} "$@"
elif [ `id -u` = 0 ] ; then
    su -l rabbitmq -s /bin/sh -c "/usr/lib/rabbitmq/${SCRIPT} ${CMDLINE}"
else
    /usr/lib/rabbitmq/${SCRIPT}
    echo
    echo "Only root or rabbitmq should run ${SCRIPT}"
    echo
    exit 1
fi
