#!/bin/sh
set -e  #errexit
set -u  #nounset

IFS=''
cr=$(printf '\r')

write () {
	printf '%s\r\n' "$@"
}
write '+OK ready'

while read -r line
do
	line=${line%"$cr"}
	cmd=${line%% (}
	case $line in
	'USER '* | 'PASS '* | RSET | QUIT)
		write '+OK'
		;;
	UIDL)
		write '+OK'
		write '1 whqtswO00WBw418f9t5JxYwZ'
		write '.'
		;;
	LIST)
		write '+OK'
		write '1 22'
		write '.'
		;;
	'RETR 1')
		write '+OK'
		write 'from: nobody'
		write ''
		write 'test'
		write '.'
		;;
	'DELE 1')
		write '+OK'
		;;
	*)
		write '-ERR'
		;;
	esac
done
