#!/bin/bash
set -e

if [ $# -lt 1 ]; then
	echo "Usage: $0 <hostname> [ssh-options]"
	exit 1
fi

if [[ "$*" == *" -- "* ]]; then
	exec /bin/ssh "$@"
fi

[ -z "$WSCOMPAT_MASTER" ] && WSCOMPAT_MASTER="$(whoami)"
read -r -d '' init_cmd << WSCOMPAT_EOF_9oqn7IVF || true
	export WS_IS_COMPAT=1
	export WSCOMPAT_MASTER="$WSCOMPAT_MASTER"
	export WSCOMPAT_DIR="/tmp/wscompat_${WSCOMPAT_MASTER}_\$(whoami)"
	rm -rf "\$WSCOMPAT_DIR" && mkdir -p "\$WSCOMPAT_DIR" && chmod 700 "\$WSCOMPAT_DIR"
cat << 'WSCOMPAT_EOF_84EbM3la' > "\$WSCOMPAT_DIR/profile"
$(
	sed 's/WSCOMPAT_EOF_/WSCOMPAT_EOF__/g' "$WSCOMPAT_DIR/profile"
	for file in "$WSCOMPAT_DIR/profile"*.sh; do
		if [ -f "$file" ]; then
			sed 's/WSCOMPAT_EOF_/WSCOMPAT_EOF__/g' "$file"
		fi
	done
)
WSCOMPAT_EOF_84EbM3la
	. \$WSCOMPAT_DIR/profile
	# pam, systemd - wrap in login shell
	exec /bin/bash --login --norc --noprofile -c "exec /bin/bash --rcfile \"\$WSCOMPAT_DIR/bashrc\""
WSCOMPAT_EOF_9oqn7IVF

exec /bin/ssh -t "$@" "$init_cmd"
