|  | #!/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="	des-cbc des-ede-cbc des-ede3-cbc \ | 
|  | camellia-128-cbc camellia-128-cfb \ | 
|  | camellia-192-cbc camellia-192-cfb \ | 
|  | camellia-256-cbc camellia-256-cfb \ | 
|  | aes-128-ctr aes-128-cbc aes-128-cfb aes-128-ofb \ | 
|  | aes-192-ctr aes-192-cbc aes-192-cfb aes-192-ofb \ | 
|  | aes-256-ctr aes-256-cbc aes-256-cfb aes-256-ofb" | 
|  | BUFSIZE="16 32 48 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_sparcv9cap=0 $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_sparcv9cap=0 $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 "SPARC T4 test failed." | 
|  | exit 1 | 
|  | fi | 
|  | fi | 
|  |  | 
|  | exit 0 |