Thu, 22 Jan 2015 13:21:57 +0100
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