#!/bin/sh # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. ######################################################################## # # mozilla/security/nss/tests/dbupgrade/dbupgrade.sh # # Script to upgrade databases to Shared DB # # needs to work on all Unix and Windows platforms # # special strings # --------------- # FIXME ... known problems, search for this string # NOTE .... unexpected behavior # ######################################################################## ############################ dbupgrade_init ############################ # local shell function to initialize this script ######################################################################## dbupgrade_init() { if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then cd ${QADIR}/common . ./init.sh fi if [ ! -r "${CERT_LOG_FILE}" ]; then # we need certificates here cd ${QADIR}/cert . ./cert.sh fi if [ ! -d ${HOSTDIR}/SDR ]; then # we also need sdr as well cd ${QADIR}/sdr . ./sdr.sh fi SCRIPTNAME=dbupgrade.sh if [ -z "${CLEANUP}" ] ; then # if nobody else is responsible for CLEANUP="${SCRIPTNAME}" # cleaning this script will do it fi echo "$SCRIPTNAME: DB upgrade tests ===============================" } ############################ dbupgrade_main ############################ # local shell function to upgrade certificate databases ######################################################################## dbupgrade_main() { # 'reset' the databases to initial values echo "Reset databases to their initial values:" cd ${HOSTDIR} ${BINDIR}/certutil -D -n objsigner -d alicedir 2>&1 ${BINDIR}/certutil -M -n FIPS_PUB_140_Test_Certificate -t "C,C,C" -d fips -f ${FIPSPWFILE} 2>&1 ${BINDIR}/certutil -L -d fips 2>&1 rm -f smime/alicehello.env # test upgrade to the new database echo "nss" > ${PWFILE} html_head "Legacy to shared Library update" dirs="alicedir bobdir CA cert_extensions client clientCA dave eccurves eve ext_client ext_server SDR server serverCA ssl_gtests stapling tools/copydir" for i in $dirs do echo $i if [ -d $i ]; then echo "upgrading db $i" ${BINDIR}/certutil -G -g 512 -d sql:$i -f ${PWFILE} -z ${NOISE_FILE} 2>&1 html_msg $? 0 "Upgrading $i" else echo "skipping db $i" html_msg 0 0 "No directory $i" fi done if [ -d fips ]; then echo "upgrading db fips" ${BINDIR}/certutil -S -g 1024 -n tmprsa -t "u,u,u" -s "CN=tmprsa, C=US" -x -d sql:fips -f ${FIPSPWFILE} -z ${NOISE_FILE} 2>&1 html_msg $? 0 "Upgrading fips" # remove our temp certificate we created in the fist token ${BINDIR}/certutil -F -n tmprsa -d sql:fips -f ${FIPSPWFILE} 2>&1 ${BINDIR}/certutil -L -d sql:fips 2>&1 fi html "
" } ########################## dbupgrade_cleanup ########################### # local shell function to finish this script (no exit since it might be # sourced) ######################################################################## dbupgrade_cleanup() { cd ${QADIR} . common/cleanup.sh } ################################# main ################################# dbupgrade_init dbupgrade_main dbupgrade_cleanup