~ubuntu-branches/ubuntu/trusty/xulrunner/trusty

« back to all changes in this revision

Viewing changes to security/nss-fips/tests/jssqa

  • Committer: Bazaar Package Importer
  • Author(s): Devid Antonio Filoni
  • Date: 2008-08-25 13:04:18 UTC
  • mfrom: (1.1.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20080825130418-ck1i2ms384tzb9m0
Tags: 1.8.1.16+nobinonly-0ubuntu1
* New upstream release (taken from upstream CVS), LP: #254618.
* Fix MFSA 2008-35, MFSA 2008-34, MFSA 2008-33, MFSA 2008-32, MFSA 2008-31,
  MFSA 2008-30, MFSA 2008-29, MFSA 2008-28, MFSA 2008-27, MFSA 2008-25,
  MFSA 2008-24, MFSA 2008-23, MFSA 2008-22, MFSA 2008-21, MFSA 2008-26 also
  known as CVE-2008-2933, CVE-2008-2785, CVE-2008-2811, CVE-2008-2810,
  CVE-2008-2809, CVE-2008-2808, CVE-2008-2807, CVE-2008-2806, CVE-2008-2805,
  CVE-2008-2803, CVE-2008-2802, CVE-2008-2801, CVE-2008-2800, CVE-2008-2798.
* Drop 89_bz419350_attachment_306066 patch, merged upstream.
* Bump Standards-Version to 3.8.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#! /bin/sh  
 
2
 
 
3
########################################################################
 
4
#
 
5
# /u/sonmi/bin/jssqa
 
6
#
 
7
# this script is supposed to automatically run - now a sanity test, later QA for 
 
8
# JSS on all required Unix and Windows (NT and 2000) platforms
 
9
#
 
10
# parameters
 
11
# ----------
 
12
#   jssversion  (supported: 31, tip)
 
13
#   builddate   (default - today)
 
14
#
 
15
# options
 
16
# -------
 
17
#   -y answer all questions with y - use at your own risk...ignores warnings
 
18
#   -s silent (only usefull with -y)
 
19
#   -h, -? - you guessed right - displays this text
 
20
#   -d debug
 
21
#   -f <filename> - write the (error)output to filename
 
22
#   -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.nssqa
 
23
#
 
24
########################################################################
 
25
 
 
26
O_OPTIONS=ON            # accept options (see above for listing)
 
27
WIN_WAIT_FOREVER=OFF    # don't wait for the NSS testdir
 
28
PRODUCT_TO_TEST="JSS"
 
29
JSS_NSPR_DIR="/share/builds/components/nspr20/v4.1.2"
 
30
JSS_NSS_DIR="/share/builds/components/nss/NSS_3_3_1_RTM"
 
31
JSS_NSS_UX_SRC_DIR="nss331/builds/20010928.2.331-RTM/booboo_Solaris8"
 
32
JSS_NSS_NT_SRC_DIR="nss331/builds/20010928.2.331-RTM/blowfish_NT4.0_Win95"
 
33
JSS_NSS_SRC_DIR=$JSS_NSS_UX_SRC_DIR
 
34
NATIVE_FLAG=""
 
35
 
 
36
. `dirname $0`/header   # utilities, shellfunctions etc, global to NSS and JSS QA
 
37
 
 
38
if [ -z "$O_TBX" -o "$O_TBX" != "ON" ] ; then
 
39
    is_running ${TMP}/jssqa
 
40
                        # checks if the file exists, if yes Exits, if not
 
41
                        # creates to implement a primitive locking mechanism
 
42
fi
 
43
 
 
44
INTERNAL_TOKEN="NSS Certificate DB"
 
45
SIGTEST_INTERNAL_TOKEN="Internal Key Storage Token"
 
46
 
 
47
################################ jss_init #########################
 
48
 
49
# Most of the procedure is setting up the test environment.
 
50
# set all necessary dir and file variables, set all paths, copy the shared libs 
 
51
# Put all the shared libraries into a lib directory, <libdir>.
 
52
# including the libjss3.so that was built by the build process.
 
53
# set LD_LIBRARY PATH and CLASSPATH
 
54
# The xpclass.jar produced by the JSS build needs to be in the classpath.
 
55
# The classpath must also include the current directory so we can run our test
 
56
# programs.
 
57
################################################################################
 
58
 
 
59
jss_init()
 
60
{
 
61
  Debug "Jss init"
 
62
  #correct all directories that the header has set...
 
63
  NTDIST=`echo $NTDIST | sed -e 's/nss/jss/g'`
 
64
  UXDIST=`echo $UXDIST | sed -e 's/nss/jss/g'`
 
65
  RESULTDIR=`echo $RESULTDIR | sed -e 's/nss/jss/g'`
 
66
  mkdir -p ${RESULTDIR} 2>/dev/null
 
67
  JSS_LOGFILE=${RESULTDIR}/${HOST}.txt
 
68
  FILENAME=$JSS_LOGFILE
 
69
  O_FILE=ON
 
70
 
 
71
  MOZILLA_ROOT=`echo $MOZILLA_ROOT | sed -e 's/nss/jss/g'`
 
72
 
 
73
  JSS_SAMPLES="$MOZILLA_ROOT/security/jss/samples"
 
74
  JSS_CLASSPATH=`echo $MOZILLA_ROOT | 
 
75
      sed -e "s/jss$NSSVER.builds/jss$NSSVER\/ships/g" -e "s/mozilla/jss\/${QAYEAR}${BUILDDATE}/"`
 
76
  Debug "JSS_CLASSPATH=$JSS_CLASSPATH"
 
77
  Debug "JSS_SAMPLES=$JSS_SAMPLES"
 
78
 
 
79
  if [ ! -d $JSS_SAMPLES ] ; then
 
80
      if [ "$O_WIN" = "ON" -a "$WIN_WAIT_FOREVER" = "ON" ]
 
81
      then
 
82
          WaitForever $JSS_SAMPLES/TestKeyGen.java 1
 
83
      else
 
84
          Exit "Test directory $JSS_SAMPLES does not exist"
 
85
      fi
 
86
  fi
 
87
 
 
88
  PWFILE="$JSS_SAMPLES/passwd"
 
89
  EMPTYFILE="$JSS_SAMPLES/emptyfile"
 
90
  rm $PWFILE $EMPTYFILE 2>/dev/null
 
91
  echo "jss" >$PWFILE
 
92
  echo "" >$EMPTYFILE
 
93
  echo "" >>$EMPTYFILE
 
94
  echo "" >>$EMPTYFILE
 
95
 
 
96
  INIT_PATH=$PATH
 
97
  INIT_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
 
98
}
 
99
 
 
100
 
 
101
jss_mode_init()
 
102
{
 
103
  OBJDIR=`cd ${TESTSCRIPTDIR}/common; gmake objdir_name`
 
104
 
 
105
  LOCALDIST_BIN=`echo $LOCALDIST_BIN | sed -e 's/nss/jss/g'`
 
106
  LOCALDIST_LIB=$LOCALDIST_BIN/../lib
 
107
  debug_dirs
 
108
 
 
109
  #make testdir/libdir
 
110
 
 
111
  JSS_LIBDIR=${RESULTDIR}/${HOST}.libdir/${OBJDIR}
 
112
  mkdir -p ${JSS_LIBDIR} 2>/dev/null
 
113
  Debug "JSS_LIBDIR=$JSS_LIBDIR"
 
114
 
 
115
  #Put all the shared libraries into a lib directory
 
116
  Debug "copy all needed libs to ${JSS_LIBDIR}"
 
117
  cp $JSS_NSPR_DIR/${OBJDIR}/lib/* ${JSS_LIBDIR}
 
118
  cp $JSS_NSS_DIR/${OBJDIR}/lib/* ${JSS_LIBDIR}
 
119
  cp $LOCALDIST_LIB/libjss3.*  ${JSS_LIBDIR}
 
120
  #FIXME uncomment above
 
121
 
 
122
  if [ $O_DEBUG = ON ] ; then
 
123
      Debug "ls $JSS_LIBDIR"
 
124
      ls $JSS_LIBDIR
 
125
  fi
 
126
 
 
127
  #LD_LIBRARY_PATH=$INIT_LD_LIBRARY_PATH:${JSS_LIBDIR}
 
128
  LD_LIBRARY_PATH=${JSS_LIBDIR} #remove to avoid HP coredump
 
129
  CLASSPATH="$JSS_CLASSPATH/xpclass.jar:."
 
130
 
 
131
  SHLIB_PATH=${LD_LIBRARY_PATH}
 
132
  LIBPATH=${LD_LIBRARY_PATH}
 
133
 
 
134
  PATH=$JSS_NSPR_DIR/${OBJDIR}/bin:$JSS_NSS_DIR/${OBJDIR}//bin:$INIT_PATH
 
135
  Debug "PATH $PATH"
 
136
  Debug "LD_LIBRARY_PATH $LD_LIBRARY_PATH"
 
137
  Debug "CLASSPATH=$CLASSPATH"
 
138
 
 
139
  export CLASSPATH LD_LIBRARY_PATH SHLIB_PATH LIBPATH
 
140
  export TESTSCRIPTDIR COMMON
 
141
  export_dirs
 
142
}
 
143
 
 
144
  
 
145
################################ jss_test #########################
 
146
 
147
# go into the build tree. cd to mozilla/security/jss/samples.
 
148
# Create NSS directories in this directory with modutil and set the password
 
149
#
 
150
#6. Create an alias for the "java" and "javac" commands. You'll need to set
 
151
#it to whatever version of the JDK you used to build on this platform. For
 
152
#example, 
 
153
      #alias java /share/builds/components/cms_jdk/AIX/1.3.0/jre/bin/java
 
154
        #alias javac /share/builds/components/cms_jdk/AIX/1.3.0/bin/javac
 
155
# instead $JAVA and $JAVAC
 
156
# 7. Compile the tests.
 
157
#####################################################################
 
158
jss_test()
 
159
{
 
160
  O_FILE=OFF
 
161
  Debug "JSS main test"
 
162
  #set -x
 
163
  cd $JSS_SAMPLES
 
164
 
 
165
  Debug "Cleaning  $JSS_SAMPLES"
 
166
  rm cert7.db key3.db 2>/dev/null
 
167
 
 
168
  Debug "echo | modutil -dbdir . -create -force"
 
169
  echo | modutil -dbdir . -create -force
 
170
  Debug "modutil returned $?"
 
171
 
 
172
  modutil -dbdir . -list
 
173
 
 
174
  Debug "echo | modutil -dbdir . -changepw \"$INTERNAL_TOKEN\" -newpwfile $PWFILE -force"
 
175
  modutil -dbdir . -changepw "$INTERNAL_TOKEN" -newpwfile $PWFILE  -force <$EMPTYFILE
 
176
  #modutil -dbdir . -changepw "$INTERNAL_TOKEN" -pwfile $PWFILE -newpwfile $PWFILE <$EMPTYFILE
 
177
  Debug "modutil returned $?"
 
178
 
 
179
  Debug "$JAVAC TestKeyGen.java"
 
180
  $JAVAC TestKeyGen.java
 
181
  Debug "$JAVAC TestKeyGen.java returned $?"
 
182
 
 
183
  Debug "$JAVAC SigTest.java"
 
184
  $JAVAC SigTest.java
 
185
  Debug "$JAVAC SigTest.java returned $?"
 
186
          
 
187
  echo "Starting new jss test on $HOST"  
 
188
  date
 
189
 
 
190
  # Run the actual tests
 
191
 
 
192
  Debug "$JAVA $NATIVE_FLAG TestKeyGen ." 
 
193
  $JAVA $NATIVE_FLAG TestKeyGen . 
 
194
  Debug "$JAVA TestKeyGen returned $?"
 
195
 
 
196
  Debug "$JAVA $NATIVE_FLAG SigTest . \"$SIGTEST_INTERNAL_TOKEN\""
 
197
  $JAVA $NATIVE_FLAG SigTest . "$SIGTEST_INTERNAL_TOKEN"
 
198
  Debug "$JAVA SigTest returned $?"
 
199
 
 
200
  O_FILE=ON
 
201
}
 
202
 
 
203
jss_init
 
204
jss_mode_init
 
205
 
 
206
if [ "$O_CRON" = "ON" -o "$O_WIN" = "ON" ]
 
207
then
 
208
    jss_test >>$JSS_LOGFILE  2>&1
 
209
else
 
210
    jss_test 2>&1 | tee -a $JSS_LOGFILE
 
211
fi
 
212
BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
 
213
jss_mode_init
 
214
if [ "$O_CRON" = "ON" -o "$O_WIN" = "ON" ]
 
215
then
 
216
    jss_test >>$JSS_LOGFILE  2>&1
 
217
else
 
218
    jss_test 2>&1 | tee -a $JSS_LOGFILE
 
219
fi
 
220
Exit "jssqa completed. Done `uname -n` $QA_OS_STRING"