security/nss/tests/dbupgrade/dbupgrade.sh

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rwxr-xr-x

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 #!/bin/sh
     2 #
     3 # This Source Code Form is subject to the terms of the Mozilla Public
     4 # License, v. 2.0. If a copy of the MPL was not distributed with this
     5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
     7 ########################################################################
     8 #
     9 # mozilla/security/nss/tests/dbupgrade/dbupgrade.sh
    10 #
    11 # Script to upgrade databases to Shared DB
    12 #
    13 # needs to work on all Unix and Windows platforms
    14 #
    15 # special strings
    16 # ---------------
    17 #   FIXME ... known problems, search for this string
    18 #   NOTE .... unexpected behavior
    19 #
    20 ########################################################################
    22 ############################ dbupgrade_init ############################
    23 # local shell function to initialize this script
    24 ########################################################################
    25 dbupgrade_init()
    26 {
    27 	if [ -z "${INIT_SOURCED}" -o "${INIT_SOURCED}" != "TRUE" ]; then 
    28 		cd ${QADIR}/common
    29 		. ./init.sh
    30 	fi
    32 	if [ ! -r "${CERT_LOG_FILE}" ]; then  # we need certificates here
    33 		cd ${QADIR}/cert 
    34 		. ./cert.sh
    35 	fi
    37 	if [ ! -d ${HOSTDIR}/SDR ]; then  # we also need sdr as well
    38 		cd ${QADIR}/sdr
    39 		. ./sdr.sh
    40 	fi
    42 	SCRIPTNAME=dbupgrade.sh
    43 	if [ -z "${CLEANUP}" ] ; then     # if nobody else is responsible for
    44 		CLEANUP="${SCRIPTNAME}"       # cleaning this script will do it
    45 	fi
    47 	echo "$SCRIPTNAME: DB upgrade tests ==============================="
    48 }
    50 ############################ dbupgrade_main ############################
    51 # local shell function to upgrade certificate databases
    52 ########################################################################
    53 dbupgrade_main()
    54 {
    55 	# 'reset' the databases to initial values
    56 	echo "Reset databases to their initial values:"
    57 	cd ${HOSTDIR}
    58 	${BINDIR}/certutil -D -n objsigner -d alicedir 2>&1
    59 	${BINDIR}/certutil -M -n FIPS_PUB_140_Test_Certificate -t "C,C,C" -d fips -f ${FIPSPWFILE} 2>&1
    60 	${BINDIR}/certutil -L -d fips 2>&1
    61 	rm -f smime/alicehello.env
    63 	# test upgrade to the new database
    64 	echo "nss" > ${PWFILE}
    65 	html_head "Legacy to shared Library update"
    66 	dirs="alicedir bobdir CA cert_extensions client clientCA dave eccurves eve ext_client ext_server SDR server serverCA stapling tools/copydir"
    67 	for i in $dirs
    68 	do
    69 		echo $i
    70 		if [ -d $i ]; then
    71 			echo "upgrading db $i"
    72 			${BINDIR}/certutil -G -g 512 -d sql:$i -f ${PWFILE} -z ${NOISE_FILE} 2>&1
    73 			html_msg $? 0 "Upgrading $i"
    74 		else
    75 			echo "skipping db $i"
    76 			html_msg 0 0 "No directory $i"
    77 		fi
    78 	done
    80 	if [ -d fips ]; then
    81 		echo "upgrading db fips"
    82 		${BINDIR}/certutil -S -g 512 -n tmprsa -t "u,u,u" -s "CN=tmprsa, C=US" -x -d sql:fips -f ${FIPSPWFILE} -z ${NOISE_FILE} 2>&1
    83 		html_msg $? 0 "Upgrading fips"
    84 		# remove our temp certificate we created in the fist token
    85 		${BINDIR}/certutil -F -n tmprsa -d sql:fips -f ${FIPSPWFILE} 2>&1
    86 		${BINDIR}/certutil -L -d sql:fips 2>&1
    87 	fi
    89 	html "</TABLE><BR>"
    90 }
    92 ########################## dbupgrade_cleanup ###########################
    93 # local shell function to finish this script (no exit since it might be
    94 # sourced)
    95 ########################################################################
    96 dbupgrade_cleanup()
    97 {
    98 	cd ${QADIR}
    99 	. common/cleanup.sh
   100 }
   102 ################################# main #################################
   104 dbupgrade_init
   105 dbupgrade_main
   106 dbupgrade_cleanup

mercurial