#!/usr/bin/sh

MOSH=0
USER=jslaby
declare -a SSH=('ssh' '-CX' '-o' 'StrictHostKeyChecking=no' '-o' 'ServerAliveInterval=60')

while getopts "mr" OPT; do
	case "$OPT" in
		m) MOSH=1
		;;
		r) USER=root
		;;
	esac
done

shift $(($OPTIND-1))
FOUND_HOST=''
HOST="$1"
shift

for SUFFIX in arch.suse.cz arch.suse.de suse.de suse.cz qa.suse.de arch.nue2.suse.org; do
	FQDN="$HOST.$SUFFIX"
	if host -t A -t AAAA "$FQDN" ${SU_NAMESERVER:+"$SU_NAMESERVER"} >/dev/null; then
		FOUND_HOST="$USER@$FQDN"
		break
	fi
done

if [ -z "$FOUND_HOST" ]; then
	echo "no IP found for $HOST"
	exit 1
fi

set -x

if [ $MOSH -eq 1 ]; then
	SSH_ARG="$(printf "%q " "${SSH[@]}")"
	exec mosh --ssh="${SSH_ARG}" "$FOUND_HOST" "$@"
else
	exec "${SSH[@]}" "$FOUND_HOST" "$@"
fi
