#! /bin/sh # # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is the Netscape security libraries. # # The Initial Developer of the Original Code is # Netscape Communications Corporation. # Portions created by the Initial Developer are Copyright (C) 1994-2000 # the Initial Developer. All Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** ######################################################################## # # mozilla/security/nss/tests/cipher/cipher.sh # # Script to test NSS ciphers # # needs to work on all Unix and Windows platforms # # special strings # --------------- # FIXME ... known problems, search for this string # NOTE .... unexpected behavior # ######################################################################## ############################## cipher_init ############################# # local shell function to initialize this script ######################################################################## cipher_init() { SCRIPTNAME="cipher.sh" if [ -z "${CLEANUP}" ] ; then # if nobody else is responsible for CLEANUP="${SCRIPTNAME}" # cleaning this script will do it fi if [ -z "${INIT_SOURCED}" ] ; then cd ../common . ./init.sh fi SCRIPTNAME="cipher.sh" html_head "Cipher Tests" CIPHERDIR=${HOSTDIR}/cipher CIPHERTESTDIR=${QADIR}/../cmd/bltest D_CIPHER="Cipher.$version" CIPHER_TXT=${QADIR}/cipher/cipher.txt mkdir -p ${CIPHERDIR} cd ${CIPHERDIR} P_CIPHER=. if [ -n "${MULTIACCESS_DBM}" ]; then P_CIPHER="multiaccess:${D_CIPHER}" fi } ############################## cipher_main ############################# # local shell function to test NSS ciphers ######################################################################## cipher_main() { while read EXP_RET PARAM TESTNAME do if [ -n "$EXP_RET" -a "$EXP_RET" != "#" ] ; then PARAM=`echo $PARAM | sed -e "s/_-/ -/g"` TESTNAME=`echo $TESTNAME | sed -e "s/_/ /g"` echo "$SCRIPTNAME: $TESTNAME --------------------------------" failedStr="" inOff=0 res=0 while [ $inOff -lt 8 ] do outOff=0 while [ $outOff -lt 8 ] do echo "bltest -T -m $PARAM -d $CIPHERTESTDIR -1 $inOff -2 $outOff" bltest -T -m $PARAM -d $CIPHERTESTDIR -1 $inOff -2 $outOff if [ $? -ne 0 ]; then failedStr="$failedStr[$inOff:$outOff]" fi outOff=`expr $outOff + 1` done inOff=`expr $inOff + 1` done if [ -n "$failedStr" ]; then html_msg 1 $EXP_RET "$TESTNAME (Failed in/out offset pairs:" \ " $failedStr)" else html_msg $res $EXP_RET "$TESTNAME" fi fi done < ${CIPHER_TXT} } ############################## cipher_cleanup ############################ # local shell function to finish this script (no exit since it might be # sourced) ######################################################################## cipher_cleanup() { html "
" cd ${QADIR} . common/cleanup.sh } ################## main ################################################# cipher_init cipher_main cipher_cleanup