#!/bin/sh

PROG=$1

if [ -x $PROG ]; then
    if expr "x`$PROG version`" : "xOpenSSL" > /dev/null; then
	:
    else
	echo "$PROG is not OpenSSL executable"
	exit 1
    fi
else
    echo "$PROG is not executable"
    exit 1;
fi

if [ 1 ]; then

    HASH=`cat $PROG | $PROG dgst -hex`

    AES_ALGS="	aes-128-ctr aes-128-ecb aes-128-cbc aes-128-cfb aes-128-ofb \
		aes-192-ctr aes-192-ecb aes-192-cbc aes-192-cfb aes-192-ofb \
		aes-256-ctr aes-256-ecb aes-256-cbc aes-256-cfb aes-256-ofb"
    BUFSIZE="16 32 48 64 80 96 128 144 999"

    nerr=0

    for alg in $AES_ALGS; do
	echo $alg
	for bufsize in $BUFSIZE; do
	    TEST=`(	cat $PROG | \
		$PROG enc -e -k "$HASH" -$alg -bufsize $bufsize | \
		env OPENSSL_ia32cap=~0x0200000000000000 $PROG enc -d -k "$HASH" -$alg | \
		$PROG dgst -hex ) 2>/dev/null`
	    if [ "$TEST" != "$HASH" ]; then
		echo "-$alg/$bufsize encrypt test failed"
		nerr=`expr $nerr + 1`
	    fi
	done
	for bufsize in $BUFSIZE; do 
	    TEST=`(	cat $PROG | \
		env OPENSSL_ia32cap=~0x0200000000000000 $PROG enc -e -k "$HASH" -$alg | \
		$PROG enc -d -k "$HASH" -$alg -bufsize $bufsize | \
		$PROG dgst -hex ) 2>/dev/null`
	    if [ "$TEST" != "$HASH" ]; then
		echo "-$alg/$bufsize decrypt test failed"
		nerr=`expr $nerr + 1`
	    fi
	done
	TEST=`(	cat $PROG | \
		$PROG enc -e -k "$HASH" -$alg | \
		$PROG enc -d -k "$HASH" -$alg | \
		$PROG dgst -hex ) 2>/dev/null`
	if [ "$TEST" != "$HASH" ]; then
		echo "-$alg en/decrypt test failed"
		nerr=`expr $nerr + 1`
	fi
    done

    if [ $nerr -gt 0 ]; then
	echo "AESNI engine test failed."
	exit 1;
    fi
else
    echo "AESNI engine is not available"
fi

exit 0
