#!/bin/bash
set -e

# check dependencies
count=0
for dependency in curl tr cut grep sed sort tail; do
	if [ ! -x "$(command -v $dependency)" ]; then
		echo "$dependency missing"
		count=$((count+1))
	fi
done

# exit script if any dependencies missing
if [ $count -ne 0 ]; then
	exit 1
fi

# upstream URL
UPSTREAM_URL="ftp://ftp.sendmail.org/pub/sendmail/"

# options to pass to cURL, including custom user agent
USER_AGENT="sendmail-version-checker/1.0 george@rawlinson.net.nz"
CURL_OPTS=(--ftp-pasv --silent --user-agent "$USER_AGENT")

curl "${CURL_OPTS[@]}" "$UPSTREAM_URL" | \
	tr -s ' ' | \
	cut -d ' ' -f 9 | \
	grep -E "sendmail\..+\.tar\.gz\.sig$" | \
	sed -e 's/^sendmail\.//' -e 's/\.tar\.gz\.sig$//' | \
	sort -n | \
	tail -n 1

exit 0