summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrelyea%netscape.com <devnull@localhost>2001-02-28 01:21:11 +0000
committerrelyea%netscape.com <devnull@localhost>2001-02-28 01:21:11 +0000
commitf6c57cb277d7d4d56de857cbce3228827f206fe5 (patch)
treed913bf02bc26c1735bb68ee99526abece67149a3
parent7ea0af612b2a7e294152086d194a839d425af605 (diff)
parentcad266c12da8dd7c637015c1cf753dfad9ed1f49 (diff)
downloadnss-hg-f6c57cb277d7d4d56de857cbce3228827f206fe5.tar.gz
Add '-p' to specify a dbprefix.
Move the Tempfile created on input to /tmp so the code works in directories that aren't writeable. Fix the code to remove the Tempfile when done. Use SECU_ConfigureDir so that we get the same defaultdb as other tools.
-rw-r--r--security/coreconf/jdk.mk3
-rw-r--r--security/coreconf/rules.mk1
-rw-r--r--security/nss/cmd/pk12util/pk12util.c68
-rw-r--r--security/nss/lib/nss/nssinit.c9
-rw-r--r--security/nss/lib/pk11wrap/pk11db.c8
-rw-r--r--security/nss/lib/pk11wrap/pk11slot.c55
-rw-r--r--security/nss/lib/pk11wrap/secmodt.h1
-rw-r--r--security/nss/lib/softoken/pkcs11.c157
-rw-r--r--security/nss/lib/softoken/pkcs11c.c72
-rw-r--r--security/nss/lib/softoken/pkcs11t.h10
-rwxr-xr-xsecurity/nss/tests/cert/cert.sh291
-rwxr-xr-xsecurity/nss/tests/core_watch16
-rw-r--r--security/nss/tests/header1392
-rwxr-xr-xsecurity/nss/tests/mksymlinks36
-rwxr-xr-xsecurity/nss/tests/nssqa379
-rwxr-xr-xsecurity/nss/tests/path_uniq72
-rwxr-xr-xsecurity/nss/tests/qa_stat639
-rwxr-xr-xsecurity/nss/tests/qaclean79
-rw-r--r--security/nss/tests/set_environment165
19 files changed, 1994 insertions, 1459 deletions
diff --git a/security/coreconf/jdk.mk b/security/coreconf/jdk.mk
index 044529c09..518eea533 100644
--- a/security/coreconf/jdk.mk
+++ b/security/coreconf/jdk.mk
@@ -256,6 +256,7 @@ ifeq ($(OS_ARCH), AIX)
JAVA_ARCH = aix
INCLUDES += -I$(JAVA_HOME)/include
+ INCLUDES += -I$(JAVA_HOME)/include/$(JAVA_ARCH)
# (3) specify "linker" information
JAVA_CPU = aix
@@ -384,7 +385,7 @@ endif
# define a default JDK classpath
ifeq ($(JDK_CLASSPATH),)
- JDK_CLASSPATH = "$(JAVA_DESTPATH)$(PATH_SEPARATOR)$(JAVA_SOURCEPATH)$(PATH_SEPARATOR)$(JAVA_CLASSES)"
+ JDK_CLASSPATH = '$(JAVA_DESTPATH)$(PATH_SEPARATOR)$(JAVA_SOURCEPATH)$(PATH_SEPARATOR)$(JAVA_CLASSES)'
endif
# by default, override CLASSPATH environment variable using the JDK classpath option with $(JDK_CLASSPATH)
diff --git a/security/coreconf/rules.mk b/security/coreconf/rules.mk
index 6db182104..8d27188ed 100644
--- a/security/coreconf/rules.mk
+++ b/security/coreconf/rules.mk
@@ -397,6 +397,7 @@ $(RES): $(RESNAME)
endif
$(MAPFILE): $(LIBRARY_NAME).def
+ @$(MAKE_OBJDIR)
ifeq ($(OS_ARCH),SunOS)
grep -v ';-' $(LIBRARY_NAME).def | \
sed -e 's,;+,,' -e 's; DATA ;;' -e 's,;;,,' -e 's,;.*,;,' > $@
diff --git a/security/nss/cmd/pk12util/pk12util.c b/security/nss/cmd/pk12util/pk12util.c
index 1e3f1b003..6916627b7 100644
--- a/security/nss/cmd/pk12util/pk12util.c
+++ b/security/nss/cmd/pk12util/pk12util.c
@@ -49,9 +49,10 @@ static void
Usage(char *progName)
{
#define FPS PR_fprintf(PR_STDERR,
- FPS "Usage: %s -i importfile [-d certdir] [-h tokenname]\n", progName);
+ FPS "Usage: %s -i importfile [-d certdir] [-p dbprefix] [-h tokenname]\n",
+ progName);
FPS "\t\t [-k slotpwfile | -K slotpw] [-w p12filepwfile | -W p12filepw]\n");
- FPS "Usage: %s -o exportfile -n certname [-d certdir] [-h tokenname]\n", progName);
+ FPS "Usage: %s -o exportfile -n certname [-d certdir] [-p dbprefix]\n", progName);
FPS "\t\t [-k slotpwfile | -K slotpw] [-w p12filepwfile | -W p12filepw]\n");
exit(PK12UERR_USAGE);
}
@@ -98,7 +99,7 @@ p12u_DestroyExportFileInfo(p12uContext **exp_ptr, PRBool removeFile)
if((*exp_ptr)->filename != NULL) {
if(removeFile) {
- PR_Free((*exp_ptr)->filename);
+ PR_Delete((*exp_ptr)->filename);
}
PR_Free((*exp_ptr)->filename);
}
@@ -147,9 +148,33 @@ p12u_CreateTemporaryDigestFile(void)
PR_SetError(SEC_ERROR_NO_MEMORY, 0);
return NULL;
}
+#if defined(_WIN32) || defined(_WINDOWS) || defined(XP_OS2)
+ tmpdir = getenv("TMP");
+ if (!tmpdir)
+ tmpdir = getenv("TMPDIR");
+ if (!tmpdir)
+ tmpdir = getenv("TEMP");
+ if (!tmpdir)
+ tmpdir = ".";
+ len = strlen(tmpdir);
+ filename = PORT_Alloc(len+sizeof(TEMPFILE)+2);
+ if (filename == NULL) {
+ PR_SetError(SEC_ERROR_NO_MEMORY, 0);
+ p12u_DestroyExportFileInfo(&p12cxt, PR_FALSE);
+ return NULL;
+ }
+ strcpy(filename, tmpdir);
+ len = strlen(filename);
+ last = tmpdir[len - 1];
+ if ((last != '/') && (last != '\\')) {
+ strcat(filename,"\\");
+ }
+ strcat(filename,TEMPFILE);
+#else
+ p12cxt->filename = strdup("/tmp/Pk12uTemp");
+#endif
- p12cxt->filename = strdup("Pk12uTemp");
- if(!p12cxt->filename) {
+ if (!p12cxt->filename) {
PR_SetError(SEC_ERROR_NO_MEMORY, 0);
p12u_DestroyExportFileInfo(&p12cxt, PR_FALSE);
return NULL;
@@ -203,6 +228,7 @@ p12u_DigestClose(void *arg, PRBool removeFile)
p12cxt->file = NULL;
if(removeFile) {
+ PR_Delete(p12cxt->filename);
PR_Free(p12cxt->filename);
p12cxt->filename = NULL;
}
@@ -620,6 +646,7 @@ loser:
SECITEM_ZfreeItem(pwitem, PR_TRUE);
}
+
return rv;
}
@@ -686,6 +713,18 @@ P12U_ExportPKCS12Object(char *nn, char *outfile,
return;
}
+ if (!cert->slot) {
+ fprintf(stderr, "%s: cert does not have a slot.\n", progName);
+ pk12uErrno = PK12UERR_FINDCERTBYNN;
+ goto loser;
+ }
+ if (P12U_InitSlot(cert->slot, slotPw) != SECSuccess) {
+ fprintf(stderr, "%s: Failed to authenticate to \"%s\".\n",
+ progName, PK11_GetSlotName(cert->slot));
+ pk12uErrno = PK12UERR_PK11GETSLOT;
+ goto loser;
+ }
+
/* Password to use for PKCS12 file. */
pwitem = P12U_GetP12FilePassword(PR_TRUE, p12FilePw);
if(!pwitem) {
@@ -791,13 +830,13 @@ p12u_EnableAllCiphers()
}
static PRUintn
-P12U_Init(char *dir)
+P12U_Init(char *dir, char *dbprefix)
{
SECStatus rv;
PK11_SetPasswordFunc(SECU_GetModulePassword);
PR_Init(PR_SYSTEM_THREAD, PR_PRIORITY_NORMAL, 1);
- rv = NSS_InitReadWrite(dir);
+ rv = NSS_Initialize(dir,dbprefix,dbprefix,"secmod.db",0);
if (rv != SECSuccess) {
SECU_PrintPRandOSError(progName);
exit(-1);
@@ -822,7 +861,8 @@ enum {
opt_Nickname,
opt_Export,
opt_P12FilePWFile,
- opt_P12FilePW
+ opt_P12FilePW,
+ opt_DBPrefix
};
static secuCommandFlag pk12util_options[] =
@@ -836,7 +876,8 @@ static secuCommandFlag pk12util_options[] =
{ /* opt_Nickname */ 'n', PR_TRUE, 0, PR_FALSE },
{ /* opt_Export */ 'o', PR_TRUE, 0, PR_FALSE },
{ /* opt_P12FilePWFile */ 'w', PR_TRUE, 0, PR_FALSE },
- { /* opt_P12FilePW */ 'W', PR_TRUE, 0, PR_FALSE }
+ { /* opt_P12FilePW */ 'W', PR_TRUE, 0, PR_FALSE },
+ { /* opt_DBPrefix */ 'p', PR_TRUE, 0, PR_FALSE }
};
int
@@ -849,6 +890,7 @@ main(int argc, char **argv)
char *slotname = NULL;
char *import_file = NULL;
char *export_file = NULL;
+ char *dbprefix = "";
SECStatus rv;
secuCommand pk12util;
@@ -899,7 +941,13 @@ main(int argc, char **argv)
slotPw.data = PL_strdup(pk12util.options[opt_SlotPW].arg);
}
- P12U_Init(pk12util.options[opt_CertDir].arg);
+ if (pk12util.options[opt_CertDir].activated) {
+ SECU_ConfigDirectory(pk12util.options[opt_CertDir].arg);
+ }
+ if (pk12util.options[opt_DBPrefix].activated) {
+ dbprefix = pk12util.options[opt_DBPrefix].arg;
+ }
+ P12U_Init(SECU_ConfigDirectory(NULL),dbprefix);
if (pk12util.options[opt_Import].activated) {
diff --git a/security/nss/lib/nss/nssinit.c b/security/nss/lib/nss/nssinit.c
index fb1ccdf12..d450fdb41 100644
--- a/security/nss/lib/nss/nssinit.c
+++ b/security/nss/lib/nss/nssinit.c
@@ -374,6 +374,10 @@ NSS_Shutdown(void)
SECKEY_SetDefaultKeyDB(NULL);
}
+
+extern const char __nss_base_rcsid[];
+extern const char __nss_base_sccsid[];
+
PRBool
NSS_VersionCheck(const char *importedVersion)
{
@@ -388,6 +392,9 @@ NSS_VersionCheck(const char *importedVersion)
*/
int vmajor = 0, vminor = 0, vpatch = 0;
const char *ptr = importedVersion;
+ volatile char c; /* force a reference that won't get optimized away */
+
+ c = __nss_base_rcsid[0] + __nss_base_sccsid[0];
while (isdigit(*ptr)) {
vmajor = 10 * vmajor + *ptr - '0';
@@ -423,3 +430,5 @@ NSS_VersionCheck(const char *importedVersion)
}
return PR_TRUE;
}
+
+
diff --git a/security/nss/lib/pk11wrap/pk11db.c b/security/nss/lib/pk11wrap/pk11db.c
index 899b72143..4e5ab5706 100644
--- a/security/nss/lib/pk11wrap/pk11db.c
+++ b/security/nss/lib/pk11wrap/pk11db.c
@@ -109,7 +109,7 @@ SECMODModuleList *SECMOD_NewModuleListElement(void) {
static unsigned long internalFlags = SECMOD_RSA_FLAG|SECMOD_DSA_FLAG|
SECMOD_RC2_FLAG| SECMOD_RC4_FLAG|SECMOD_DES_FLAG|SECMOD_RANDOM_FLAG|
SECMOD_SHA1_FLAG|SECMOD_MD5_FLAG|SECMOD_MD2_FLAG|SECMOD_SSL_FLAG|
- SECMOD_TLS_FLAG;
+ SECMOD_TLS_FLAG|SECMOD_AES_FLAG;
/* create a Internal module */
SECMODModule *SECMOD_NewInternal(void) {
@@ -118,7 +118,7 @@ SECMODModule *SECMOD_NewInternal(void) {
{ 1, SECMOD_RSA_FLAG|SECMOD_DSA_FLAG|SECMOD_RC2_FLAG|
SECMOD_RC4_FLAG|SECMOD_DES_FLAG|SECMOD_RANDOM_FLAG|
SECMOD_SHA1_FLAG|SECMOD_MD5_FLAG|SECMOD_MD2_FLAG|
- SECMOD_SSL_FLAG|SECMOD_TLS_FLAG, -1, 30, 0 };
+ SECMOD_SSL_FLAG|SECMOD_TLS_FLAG|SECMOD_AES_FLAG, -1, 30, 0 };
intern = SECMOD_NewModule();
if (intern == NULL) {
@@ -128,7 +128,7 @@ SECMODModule *SECMOD_NewInternal(void) {
/*
* make this module an internal module
*/
- intern->commonName = "Netscape Internal PKCS #11 Module";
+ intern->commonName = "NSS Internal PKCS #11 Module";
intern->internal = PR_TRUE;
intern->slotInfoCount = 1;
intern->slotInfo = &internSlotInfo;
@@ -149,7 +149,7 @@ SECMODModule *SECMOD_GetFIPSInternal(void) {
* make this module a FIPS internal module
*/
intern->slotInfo[0].slotID = 3; /* FIPS slot */
- intern->commonName = "Netscape Internal FIPS PKCS #11 Module";
+ intern->commonName = "NSS Internal FIPS PKCS #11 Module";
intern->isFIPS = PR_TRUE;
return (intern);
diff --git a/security/nss/lib/pk11wrap/pk11slot.c b/security/nss/lib/pk11wrap/pk11slot.c
index 8693771d3..571177438 100644
--- a/security/nss/lib/pk11wrap/pk11slot.c
+++ b/security/nss/lib/pk11wrap/pk11slot.c
@@ -68,6 +68,7 @@ PK11DefaultArrayEntry PK11_DefaultArray[] = {
{ "RC2", SECMOD_RC2_FLAG, CKM_RC2_CBC },
{ "RC4", SECMOD_RC4_FLAG, CKM_RC4 },
{ "DES", SECMOD_DES_FLAG, CKM_DES_CBC },
+ { "AES", SECMOD_AES_FLAG, CKM_AES_CBC },
{ "RC5", SECMOD_RC5_FLAG, CKM_RC5_CBC },
{ "SHA-1", SECMOD_SHA1_FLAG, CKM_SHA_1 },
{ "MD5", SECMOD_MD5_FLAG, CKM_MD5 },
@@ -84,7 +85,8 @@ int num_pk11_default_mechanisms = sizeof(PK11_DefaultArray) / sizeof(PK11_Defaul
* These slotlists are lists of modules which provide default support for
* a given algorithm or mechanism.
*/
-static PK11SlotList pk11_desSlotList,
+static PK11SlotList pk11_aesSlotList,
+ pk11_desSlotList,
pk11_rc4SlotList,
pk11_rc2SlotList,
pk11_rc5SlotList,
@@ -123,6 +125,8 @@ static int pk11_MechEntrySize = 0;
CK_MECHANISM_TYPE wrapMechanismList[] = {
CKM_DES3_ECB,
CKM_CAST5_ECB,
+ CKM_AES_ECB,
+ CKM_CAST5_ECB,
CKM_DES_ECB,
CKM_KEY_WRAP_LYNKS,
CKM_IDEA_ECB,
@@ -1148,6 +1152,7 @@ pk11_freeSlotList(PK11SlotList *list)
SECStatus
PK11_InitSlotLists(void)
{
+ pk11_initSlotList(&pk11_aesSlotList);
pk11_initSlotList(&pk11_desSlotList);
pk11_initSlotList(&pk11_rc4SlotList);
pk11_initSlotList(&pk11_rc2SlotList);
@@ -1168,6 +1173,7 @@ PK11_InitSlotLists(void)
void
PK11_DestroySlotLists(void)
{
+ pk11_freeSlotList(&pk11_aesSlotList);
pk11_freeSlotList(&pk11_desSlotList);
pk11_freeSlotList(&pk11_rc4SlotList);
pk11_freeSlotList(&pk11_rc2SlotList);
@@ -1195,6 +1201,9 @@ PK11_GetSlotList(CK_MECHANISM_TYPE type)
return NULL;
#endif
switch (type) {
+ case CKM_AES_CBC:
+ case CKM_AES_ECB:
+ return &pk11_aesSlotList;
case CKM_DES_CBC:
case CKM_DES_ECB:
case CKM_DES3_ECB:
@@ -1402,6 +1411,7 @@ PK11_VerifyMechanism(PK11SlotInfo *slot,PK11SlotInfo *intern,
unsigned char encRef[8];
int outLenTest,outLenRef;
int key_size = 0;
+ PRBool verify = PR_FALSE;
SECStatus rv;
if ((mech == CKM_RC2_CBC) || (mech == CKM_RC2_ECB) || (mech == CKM_RC4)) {
@@ -1440,7 +1450,7 @@ PK11_VerifyMechanism(PK11SlotInfo *slot,PK11SlotInfo *intern,
if (outLenTest != outLenRef) goto loser;
if (PORT_Memcmp(encTest, encRef, outLenTest) != 0) goto loser;
- return PR_TRUE;
+ verify = PR_TRUE;
loser:
if (test) PK11_DestroyContext(test,PR_TRUE);
@@ -1449,7 +1459,7 @@ loser:
if (reference) PK11_DestroyContext(reference,PR_TRUE);
if (param) SECITEM_FreeItem(param,PR_TRUE);
- return PR_FALSE;
+ return verify;
}
/*
@@ -1872,7 +1882,7 @@ pk11_IsPresentCertLoad(PK11SlotInfo *slot, PRBool loadCerts)
/* removable slots have a flag that says they are present */
if (!slot->isThreadSafe) PK11_EnterSlotMonitor(slot);
if (PK11_GETTAB(slot)->C_GetSlotInfo(slot->slotID,&slotInfo) != CKR_OK) {
- if (!slot->isThreadSafe) PK11_EnterSlotMonitor(slot);
+ if (!slot->isThreadSafe) PK11_ExitSlotMonitor(slot);
return PR_FALSE;
}
if ((slotInfo.flags & CKF_TOKEN_PRESENT) == 0) {
@@ -2532,6 +2542,13 @@ CK_MECHANISM_TYPE
PK11_GetKeyType(CK_MECHANISM_TYPE type,unsigned long len)
{
switch (type) {
+ case CKM_AES_ECB:
+ case CKM_AES_CBC:
+ case CKM_AES_MAC:
+ case CKM_AES_MAC_GENERAL:
+ case CKM_AES_CBC_PAD:
+ case CKM_AES_KEY_GEN:
+ return CKK_AES;
case CKM_DES_ECB:
case CKM_DES_CBC:
case CKM_DES_MAC:
@@ -2689,6 +2706,12 @@ CK_MECHANISM_TYPE
PK11_GetKeyGen(CK_MECHANISM_TYPE type)
{
switch (type) {
+ case CKM_AES_ECB:
+ case CKM_AES_CBC:
+ case CKM_AES_MAC:
+ case CKM_AES_MAC_GENERAL:
+ case CKM_AES_CBC_PAD:
+ return CKM_AES_KEY_GEN;
case CKM_DES_ECB:
case CKM_DES_CBC:
case CKM_DES_MAC:
@@ -2885,6 +2908,9 @@ PK11_GetBlockSize(CK_MECHANISM_TYPE type,SECItem *params)
case CKM_SKIPJACK_CFB16:
case CKM_SKIPJACK_CFB8:
return 4;
+ case CKM_AES_ECB:
+ case CKM_AES_CBC:
+ case CKM_AES_CBC_PAD:
case CKM_BATON_ECB128:
case CKM_BATON_CBC128:
case CKM_BATON_COUNTER:
@@ -2919,6 +2945,7 @@ int
PK11_GetIVLength(CK_MECHANISM_TYPE type)
{
switch (type) {
+ case CKM_AES_ECB:
case CKM_DES_ECB:
case CKM_DES3_ECB:
case CKM_RC2_ECB:
@@ -2958,6 +2985,9 @@ PK11_GetIVLength(CK_MECHANISM_TYPE type)
case CKM_CAST3_CBC_PAD:
case CKM_CAST5_CBC_PAD:
return 8;
+ case CKM_AES_CBC:
+ case CKM_AES_CBC_PAD:
+ return 16;
case CKM_SKIPJACK_CBC64:
case CKM_SKIPJACK_ECB64:
case CKM_SKIPJACK_OFB64:
@@ -3008,6 +3038,7 @@ PK11_ParamFromIV(CK_MECHANISM_TYPE type,SECItem *iv)
param->data = NULL;
param->len = 0;
switch (type) {
+ case CKM_AES_ECB:
case CKM_DES_ECB:
case CKM_DES3_ECB:
case CKM_RSA_PKCS:
@@ -3071,6 +3102,7 @@ PK11_ParamFromIV(CK_MECHANISM_TYPE type,SECItem *iv)
param->data = (unsigned char *) rc5_params;
param->len = sizeof(CK_RC5_PARAMS);
break;
+ case CKM_AES_CBC:
case CKM_DES_CBC:
case CKM_DES3_CBC:
case CKM_IDEA_CBC:
@@ -3078,6 +3110,7 @@ PK11_ParamFromIV(CK_MECHANISM_TYPE type,SECItem *iv)
case CKM_CAST_CBC:
case CKM_CAST3_CBC:
case CKM_CAST5_CBC:
+ case CKM_AES_CBC_PAD:
case CKM_DES_CBC_PAD:
case CKM_DES3_CBC_PAD:
case CKM_IDEA_CBC_PAD:
@@ -3134,6 +3167,7 @@ PK11_IVFromParam(CK_MECHANISM_TYPE type,SECItem *param,int *len)
*len = 0;
switch (type) {
+ case CKM_AES_ECB:
case CKM_DES_ECB:
case CKM_DES3_ECB:
case CKM_RSA_PKCS:
@@ -3158,6 +3192,7 @@ PK11_IVFromParam(CK_MECHANISM_TYPE type,SECItem *param,int *len)
rc5_cbc_params = (CK_RC5_CBC_PARAMS *) param->data;
*len = rc5_cbc_params->ulIvLen;
return rc5_cbc_params->pIv;
+ case CKM_AES_CBC:
case CKM_DES_CBC:
case CKM_DES3_CBC:
case CKM_IDEA_CBC:
@@ -3339,7 +3374,8 @@ loser:
/* Generate a mechaism param from a type, and iv. */
SECItem *
-PK11_ParamFromAlgid(SECAlgorithmID *algid) {
+PK11_ParamFromAlgid(SECAlgorithmID *algid)
+{
CK_RC2_CBC_PARAMS *rc2_params = NULL;
CK_RC2_PARAMS *rc2_ecb_params = NULL;
CK_RC5_CBC_PARAMS *rc5_params_cbc;
@@ -3490,6 +3526,7 @@ PK11_ParamFromAlgid(SECAlgorithmID *algid) {
rv = SECSuccess;
switch (type) {
case CKM_RC4:
+ case CKM_AES_ECB:
case CKM_DES_ECB:
case CKM_DES3_ECB:
case CKM_IDEA_ECB:
@@ -3506,6 +3543,7 @@ PK11_ParamFromAlgid(SECAlgorithmID *algid) {
mech->len = 0;
break;
}
+ case CKM_AES_CBC:
case CKM_DES_CBC:
case CKM_DES3_CBC:
case CKM_IDEA_CBC:
@@ -3513,6 +3551,7 @@ PK11_ParamFromAlgid(SECAlgorithmID *algid) {
case CKM_CAST_CBC:
case CKM_CAST3_CBC:
case CKM_CAST5_CBC:
+ case CKM_AES_CBC_PAD:
case CKM_DES_CBC_PAD:
case CKM_DES3_CBC_PAD:
case CKM_IDEA_CBC_PAD:
@@ -3665,6 +3704,7 @@ PK11_GenerateNewParam(CK_MECHANISM_TYPE type, PK11SymKey *key) {
rv = SECSuccess;
switch (type) {
case CKM_RC4:
+ case CKM_AES_ECB:
case CKM_DES_ECB:
case CKM_DES3_ECB:
case CKM_IDEA_ECB:
@@ -3725,6 +3765,7 @@ PK11_GenerateNewParam(CK_MECHANISM_TYPE type, PK11SymKey *key) {
mech->len = 0;
break;
}
+ case CKM_AES_CBC:
case CKM_DES_CBC:
case CKM_DES3_CBC:
case CKM_IDEA_CBC:
@@ -3796,6 +3837,7 @@ PK11_ParamToAlgid(SECOidTag algTag, SECItem *param,
rv = SECSuccess;
switch (type) {
case CKM_RC4:
+ case CKM_AES_ECB:
case CKM_DES_ECB:
case CKM_DES3_ECB:
case CKM_IDEA_ECB:
@@ -3876,6 +3918,7 @@ PK11_ParamToAlgid(SECOidTag algTag, SECItem *param,
newParams = NULL;
break;
}
+ case CKM_AES_CBC:
case CKM_DES_CBC:
case CKM_DES3_CBC:
case CKM_IDEA_CBC:
@@ -3949,6 +3992,8 @@ PK11_MechanismToAlgtag(CK_MECHANISM_TYPE type) {
CK_MECHANISM_TYPE
PK11_GetPadMechanism(CK_MECHANISM_TYPE type) {
switch(type) {
+ case CKM_AES_CBC:
+ return CKM_AES_CBC_PAD;
case CKM_DES_CBC:
return CKM_DES_CBC_PAD;
case CKM_DES3_CBC:
diff --git a/security/nss/lib/pk11wrap/secmodt.h b/security/nss/lib/pk11wrap/secmodt.h
index f5e1ec2da..949edee26 100644
--- a/security/nss/lib/pk11wrap/secmodt.h
+++ b/security/nss/lib/pk11wrap/secmodt.h
@@ -127,6 +127,7 @@ struct PK11DefaultArrayEntryStr {
#define SECMOD_MD2_FLAG 0x00000400L
#define SECMOD_SSL_FLAG 0x00000800L
#define SECMOD_TLS_FLAG 0x00001000L
+#define SECMOD_AES_FLAG 0x00002000L
/* reserved bit for future, do not use */
#define SECMOD_RESERVED_FLAG 0X08000000L
#define SECMOD_FRIENDLY_FLAG 0x10000000L
diff --git a/security/nss/lib/softoken/pkcs11.c b/security/nss/lib/softoken/pkcs11.c
index 5308ab96e..8bf141df7 100644
--- a/security/nss/lib/softoken/pkcs11.c
+++ b/security/nss/lib/softoken/pkcs11.c
@@ -66,16 +66,22 @@
*/
/* The next three strings must be exactly 32 characters long */
-static char *manufacturerID = "Netscape Communications Corp ";
+static char *manufacturerID = "mozilla.org ";
+static char manufacturerID_space[33];
static char *libraryDescription = "NSS Internal Crypto Services ";
+static char libraryDescription_space[33];
static char *tokDescription = "NSS Generic Crypto Services ";
+static char tokDescription_space[33];
static char *privTokDescription = "NSS Certificate DB ";
+static char privTokDescription_space[33];
/* The next two strings must be exactly 64 characters long, with the
first 32 characters meaningful */
static char *slotDescription =
"NSS Internal Cryptographic Services Version 3.2 ";
+static char slotDescription_space[65];
static char *privSlotDescription =
"NSS User Private Key and Certificate Services ";
+static char privSlotDescription_space[65];
static int minimumPinLen = 0;
#define __PASTE(x,y) x##y
@@ -233,25 +239,46 @@ struct mechanismList {
#define CKF_DUZ_IT_ALL CKF_EN_DE_WR_UN | CKF_SN_VR_RE
static struct mechanismList mechanisms[] = {
+
+ /*
+ * PKCS #11 Mechanism List.
+ *
+ * The first argument is the PKCS #11 Mechanism we support.
+ * The second argument is Mechanism info structure. It includes:
+ * The minimum key size,
+ * in bits for RSA, DSA, DH, KEA, RC2 and RC4 * algs.
+ * in bytes for RC5, AES, and CAST*
+ * ignored for DES*, IDEA and FORTEZZA based
+ * The maximum key size,
+ * in bits for RSA, DSA, DH, KEA, RC2 and RC4 * algs.
+ * in bytes for RC5, AES, and CAST*
+ * ignored for DES*, IDEA and FORTEZZA based
+ * Flags
+ * What operations are supported by this mechanism.
+ * The third argument is a bool which tells if this mechanism is
+ * supported in the database token.
+ *
+ */
+
/* ------------------------- RSA Operations ---------------------------*/
- {CKM_RSA_PKCS_KEY_PAIR_GEN,{128, 2048, CKF_GENERATE_KEY_PAIR}, PR_TRUE},
- {CKM_RSA_PKCS, { 16, 256, CKF_DUZ_IT_ALL}, PR_TRUE},
+ {CKM_RSA_PKCS_KEY_PAIR_GEN,{128,0xffffffff,CKF_GENERATE_KEY_PAIR},PR_TRUE},
+ {CKM_RSA_PKCS, {128,0xffffffff, CKF_DUZ_IT_ALL},PR_TRUE},
#ifdef PK11_RSA9796_SUPPORTED
- {CKM_RSA_9796, { 16, 256, CKF_DUZ_IT_ALL}, PR_TRUE},
+ {CKM_RSA_9796, {128,0xffffffff, CKF_DUZ_IT_ALL},PR_TRUE},
#endif
- {CKM_RSA_X_509, { 16, 256, CKF_DUZ_IT_ALL}, PR_TRUE},
+ {CKM_RSA_X_509, {128,0xffffffff, CKF_DUZ_IT_ALL},PR_TRUE},
/* -------------- RSA Multipart Signing Operations -------------------- */
- {CKM_MD2_RSA_PKCS, {16, 256, CKF_SN_VR}, PR_TRUE},
- {CKM_MD5_RSA_PKCS, {16, 256, CKF_SN_VR}, PR_TRUE},
- {CKM_SHA1_RSA_PKCS, {16, 256, CKF_SN_VR}, PR_TRUE},
+ {CKM_MD2_RSA_PKCS, {128,0xffffffff, CKF_SN_VR}, PR_TRUE},
+ {CKM_MD5_RSA_PKCS, {128,0xffffffff, CKF_SN_VR}, PR_TRUE},
+ {CKM_SHA1_RSA_PKCS, {128,0xffffffff, CKF_SN_VR}, PR_TRUE},
/* ------------------------- DSA Operations --------------------------- */
- {CKM_DSA_KEY_PAIR_GEN, {64, 128, CKF_GENERATE_KEY_PAIR}, PR_TRUE},
- {CKM_DSA, {64, 128, CKF_SN_VR}, PR_TRUE},
- {CKM_DSA_SHA1, {64, 128, CKF_SN_VR}, PR_TRUE},
+ {CKM_DSA_KEY_PAIR_GEN, {512, 1024, CKF_GENERATE_KEY_PAIR}, PR_TRUE},
+ {CKM_DSA, {512, 1024, CKF_SN_VR}, PR_TRUE},
+ {CKM_DSA_SHA1, {512, 1024, CKF_SN_VR}, PR_TRUE},
/* -------------------- Diffie Hellman Operations --------------------- */
/* no diffie hellman yet */
- {CKM_DH_PKCS_KEY_PAIR_GEN, {16, 128, CKF_GENERATE_KEY_PAIR}, PR_TRUE},
- {CKM_DH_PKCS_DERIVE, {16, 128, CKF_DERIVE}, PR_TRUE},
+ {CKM_DH_PKCS_KEY_PAIR_GEN, {128, 1024, CKF_GENERATE_KEY_PAIR}, PR_TRUE},
+ {CKM_DH_PKCS_DERIVE, {128, 1024, CKF_DERIVE}, PR_TRUE},
/* ------------------------- RC2 Operations --------------------------- */
{CKM_RC2_KEY_GEN, {1, 128, CKF_GENERATE}, PR_FALSE},
{CKM_RC2_ECB, {1, 128, CKF_EN_DE_WR_UN}, PR_FALSE},
@@ -283,6 +310,13 @@ static struct mechanismList mechanisms[] = {
{CKM_CDMF_MAC, {8, 8, CKF_SN_VR}, PR_FALSE},
{CKM_CDMF_MAC_GENERAL, {8, 8, CKF_SN_VR}, PR_FALSE},
{CKM_CDMF_CBC_PAD, {8, 8, CKF_EN_DE_WR_UN}, PR_FALSE},
+ /* ------------------------- AES Operations --------------------------- */
+ {CKM_AES_KEY_GEN, {16, 32, CKF_GENERATE}, PR_FALSE},
+ {CKM_AES_ECB, {16, 32, CKF_EN_DE_WR_UN}, PR_FALSE},
+ {CKM_AES_CBC, {16, 32, CKF_EN_DE_WR_UN}, PR_FALSE},
+ {CKM_AES_MAC, {16, 32, CKF_SN_VR}, PR_FALSE},
+ {CKM_AES_MAC_GENERAL, {16, 32, CKF_SN_VR}, PR_FALSE},
+ {CKM_AES_CBC_PAD, {16, 32, CKF_EN_DE_WR_UN}, PR_FALSE},
/* ------------------------- Hashing Operations ----------------------- */
{CKM_MD2, {0, 0, CKF_DIGEST}, PR_FALSE},
{CKM_MD2_HMAC, {1, 128, CKF_SN_VR}, PR_FALSE},
@@ -318,12 +352,12 @@ static struct mechanismList mechanisms[] = {
#endif
#if NSS_SOFTOKEN_DOES_RC5
/* ------------------------- RC5 Operations --------------------------- */
- {CKM_RC5_KEY_GEN, {1, 255, CKF_GENERATE}, PR_FALSE},
- {CKM_RC5_ECB, {1, 255, CKF_EN_DE_WR_UN}, PR_FALSE},
- {CKM_RC5_CBC, {1, 255, CKF_EN_DE_WR_UN}, PR_FALSE},
- {CKM_RC5_MAC, {1, 255, CKF_SN_VR}, PR_FALSE},
- {CKM_RC5_MAC_GENERAL, {1, 255, CKF_SN_VR}, PR_FALSE},
- {CKM_RC5_CBC_PAD, {1, 255, CKF_EN_DE_WR_UN}, PR_FALSE},
+ {CKM_RC5_KEY_GEN, {1, 32, CKF_GENERATE}, PR_FALSE},
+ {CKM_RC5_ECB, {1, 32, CKF_EN_DE_WR_UN}, PR_FALSE},
+ {CKM_RC5_CBC, {1, 32, CKF_EN_DE_WR_UN}, PR_FALSE},
+ {CKM_RC5_MAC, {1, 32, CKF_SN_VR}, PR_FALSE},
+ {CKM_RC5_MAC_GENERAL, {1, 32, CKF_SN_VR}, PR_FALSE},
+ {CKM_RC5_CBC_PAD, {1, 32, CKF_EN_DE_WR_UN}, PR_FALSE},
#endif
#ifdef PK11_IDEA_SUPPORTED
/* ------------------------- IDEA Operations -------------------------- */
@@ -335,12 +369,12 @@ static struct mechanismList mechanisms[] = {
{CKM_IDEA_CBC_PAD, {16, 16, CKF_EN_DE_WR_UN}, PR_FALSE},
#endif
/* --------------------- Secret Key Operations ------------------------ */
- {CKM_GENERIC_SECRET_KEY_GEN, {1, 256, CKF_GENERATE}, PR_FALSE},
- {CKM_CONCATENATE_BASE_AND_KEY, {1, 256, CKF_GENERATE}, PR_FALSE},
- {CKM_CONCATENATE_BASE_AND_DATA, {1, 256, CKF_GENERATE}, PR_FALSE},
- {CKM_CONCATENATE_DATA_AND_BASE, {1, 256, CKF_GENERATE}, PR_FALSE},
- {CKM_XOR_BASE_AND_DATA, {1, 256, CKF_GENERATE}, PR_FALSE},
- {CKM_EXTRACT_KEY_FROM_KEY, {1, 256, CKF_DERIVE}, PR_FALSE},
+ {CKM_GENERIC_SECRET_KEY_GEN, {1, 32, CKF_GENERATE}, PR_FALSE},
+ {CKM_CONCATENATE_BASE_AND_KEY, {1, 32, CKF_GENERATE}, PR_FALSE},
+ {CKM_CONCATENATE_BASE_AND_DATA, {1, 32, CKF_GENERATE}, PR_FALSE},
+ {CKM_CONCATENATE_DATA_AND_BASE, {1, 32, CKF_GENERATE}, PR_FALSE},
+ {CKM_XOR_BASE_AND_DATA, {1, 32, CKF_GENERATE}, PR_FALSE},
+ {CKM_EXTRACT_KEY_FROM_KEY, {1, 32, CKF_DERIVE}, PR_FALSE},
/* ---------------------- SSL Key Derivations ------------------------- */
{CKM_SSL3_PRE_MASTER_KEY_GEN, {48, 48, CKF_GENERATE}, PR_FALSE},
{CKM_SSL3_MASTER_KEY_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE},
@@ -353,27 +387,40 @@ static struct mechanismList mechanisms[] = {
{CKM_TLS_MASTER_KEY_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE},
{CKM_TLS_KEY_AND_MAC_DERIVE, {48, 48, CKF_DERIVE}, PR_FALSE},
/* ---------------------- PBE Key Derivations ------------------------ */
- {CKM_PBE_MD2_DES_CBC, {64, 64, CKF_DERIVE}, PR_TRUE},
- {CKM_PBE_MD5_DES_CBC, {64, 64, CKF_DERIVE}, PR_TRUE},
+ {CKM_PBE_MD2_DES_CBC, {8, 8, CKF_DERIVE}, PR_TRUE},
+ {CKM_PBE_MD5_DES_CBC, {8, 8, CKF_DERIVE}, PR_TRUE},
/* ------------------ NETSCAPE PBE Key Derivations ------------------- */
- {CKM_NETSCAPE_PBE_SHA1_DES_CBC, { 64, 64, CKF_GENERATE}, PR_TRUE},
- {CKM_NETSCAPE_PBE_SHA1_TRIPLE_DES_CBC, {192, 192, CKF_GENERATE}, PR_TRUE},
- {CKM_NETSCAPE_PBE_SHA1_FAULTY_3DES_CBC, {192, 192, CKF_GENERATE}, PR_TRUE},
- {CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC, { 40, 40, CKF_GENERATE}, PR_TRUE},
- {CKM_NETSCAPE_PBE_SHA1_128_BIT_RC2_CBC, {128, 128, CKF_GENERATE}, PR_TRUE},
- {CKM_NETSCAPE_PBE_SHA1_40_BIT_RC4, { 40, 40, CKF_GENERATE}, PR_TRUE},
- {CKM_NETSCAPE_PBE_SHA1_128_BIT_RC4, {128, 128, CKF_GENERATE}, PR_TRUE},
- {CKM_PBE_SHA1_DES3_EDE_CBC, {192, 192, CKF_GENERATE}, PR_TRUE},
- {CKM_PBE_SHA1_DES2_EDE_CBC, {192, 192, CKF_GENERATE}, PR_TRUE},
- {CKM_PBE_SHA1_RC2_40_CBC, { 40, 40, CKF_GENERATE}, PR_TRUE},
- {CKM_PBE_SHA1_RC2_128_CBC, {128, 128, CKF_GENERATE}, PR_TRUE},
- {CKM_PBE_SHA1_RC4_40, { 40, 40, CKF_GENERATE}, PR_TRUE},
- {CKM_PBE_SHA1_RC4_128, {128, 128, CKF_GENERATE}, PR_TRUE},
+ {CKM_NETSCAPE_PBE_SHA1_DES_CBC, { 8, 8, CKF_GENERATE}, PR_TRUE},
+ {CKM_NETSCAPE_PBE_SHA1_TRIPLE_DES_CBC, {24,24, CKF_GENERATE}, PR_TRUE},
+ {CKM_NETSCAPE_PBE_SHA1_FAULTY_3DES_CBC, {24,24, CKF_GENERATE}, PR_TRUE},
+ {CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC, {40,40, CKF_GENERATE}, PR_TRUE},
+ {CKM_NETSCAPE_PBE_SHA1_128_BIT_RC2_CBC, {40,40, CKF_GENERATE}, PR_TRUE},
+ {CKM_NETSCAPE_PBE_SHA1_40_BIT_RC4, {40,40, CKF_GENERATE}, PR_TRUE},
+ {CKM_NETSCAPE_PBE_SHA1_128_BIT_RC4, {128,128, CKF_GENERATE}, PR_TRUE},
+ {CKM_PBE_SHA1_DES3_EDE_CBC, {24,24, CKF_GENERATE}, PR_TRUE},
+ {CKM_PBE_SHA1_DES2_EDE_CBC, {24,24, CKF_GENERATE}, PR_TRUE},
+ {CKM_PBE_SHA1_RC2_40_CBC, {40,40, CKF_GENERATE}, PR_TRUE},
+ {CKM_PBE_SHA1_RC2_128_CBC, {128,128, CKF_GENERATE}, PR_TRUE},
+ {CKM_PBE_SHA1_RC4_40, {40,40, CKF_GENERATE}, PR_TRUE},
+ {CKM_PBE_SHA1_RC4_128, {128,128, CKF_GENERATE}, PR_TRUE},
};
static CK_ULONG mechanismCount = sizeof(mechanisms)/sizeof(mechanisms[0]);
/* load up our token database */
static CK_RV pk11_importKeyDB(PK11Slot *slot);
+
+static char *
+pk11_setStringName(char *inString, char *buffer, int buffer_length) {
+ int full_length, string_length;
+
+ full_length = buffer_length -1;
+ string_length = PORT_Strlen(inString);
+ if (string_length > full_length) string_length = full_length;
+ PORT_Memset(buffer,' ',full_length);
+ buffer[full_length] = 0;
+ PORT_Memcpy(buffer,inString,full_length);
+ return buffer;
+}
/*
* Configuration utils
*/
@@ -384,23 +431,29 @@ PK11_ConfigurePKCS11(char *man, char *libdes, char *tokdes, char *ptokdes,
{
/* make sure the internationalization was done correctly... */
- if (man && (PORT_Strlen(man) == 33)) {
- manufacturerID = man;
+ if (man) {
+ manufacturerID = pk11_setStringName(man,manufacturerID_space,
+ sizeof(manufacturerID_space));
}
- if (libdes && (PORT_Strlen(libdes) == 33)) {
- libraryDescription = libdes;
+ if (libdes) {
+ libraryDescription = pk11_setStringName(libdes,
+ libraryDescription_space, sizeof(libraryDescription_space));
}
- if (tokdes && (PORT_Strlen(tokdes) == 33)) {
- tokDescription = tokdes;
+ if (tokdes) {
+ tokDescription = pk11_setStringName(tokdes,tokDescription_space,
+ sizeof(tokDescription_space));
}
- if (ptokdes && (PORT_Strlen(ptokdes) == 33)) {
- privTokDescription = ptokdes;
+ if (ptokdes) {
+ privTokDescription = pk11_setStringName(ptokdes,
+ privTokDescription_space, sizeof(privTokDescription_space));
}
- if (slotdes && (PORT_Strlen(slotdes) == 65)) {
- slotDescription = slotdes;
+ if (slotdes) {
+ slotDescription = pk11_setStringName(slotdes,slotDescription_space,
+ sizeof(slotDescription_space));
}
- if (pslotdes && (PORT_Strlen(pslotdes) == 65)) {
- privSlotDescription = pslotdes;
+ if (pslotdes) {
+ privSlotDescription = pk11_setStringName(pslotdes,
+ privSlotDescription_space, sizeof(privSlotDescription_space));
}
if (minimumPinLen <= PK11_MAX_PIN) {
diff --git a/security/nss/lib/softoken/pkcs11c.c b/security/nss/lib/softoken/pkcs11c.c
index 1db93edab..5bf4450c1 100644
--- a/security/nss/lib/softoken/pkcs11c.c
+++ b/security/nss/lib/softoken/pkcs11c.c
@@ -716,6 +716,35 @@ finish_des:
context->destroy = (PK11Destroy) DES_DestroyContext;
break;
+ case CKM_AES_CBC_PAD:
+ context->doPad = PR_TRUE;
+ context->blockSize = 16;
+ /* fall thru */
+ case CKM_AES_ECB:
+ case CKM_AES_CBC:
+ if (key_type != CKK_AES) {
+ crv = CKR_KEY_TYPE_INCONSISTENT;
+ break;
+ }
+ att = pk11_FindAttribute(key,CKA_VALUE);
+ if (att == NULL) {
+ crv = CKR_KEY_HANDLE_INVALID;
+ break;
+ }
+ context->cipherInfo = AES_CreateContext(
+ (unsigned char*)att->attrib.pValue,
+ (unsigned char*)pMechanism->pParameter,
+ pMechanism->mechanism == CKM_AES_ECB ? NSS_AES : NSS_AES_CBC,
+ PR_TRUE, att->attrib.ulValueLen, 16);
+ pk11_FreeAttribute(att);
+ if (context->cipherInfo == NULL) {
+ crv = CKR_HOST_MEMORY;
+ break;
+ }
+ context->update = (PK11Cipher) AES_Encrypt;
+ context->destroy = (PK11Destroy) AES_DestroyContext;
+
+ break;
default:
crv = CKR_MECHANISM_INVALID;
break;
@@ -1095,6 +1124,35 @@ finish_des:
context->destroy = (PK11Destroy) DES_DestroyContext;
break;
+ case CKM_AES_CBC_PAD:
+ context->doPad = PR_TRUE;
+ context->blockSize = 16;
+ /* fall thru */
+ case CKM_AES_ECB:
+ case CKM_AES_CBC:
+ if (key_type != CKK_AES) {
+ crv = CKR_KEY_TYPE_INCONSISTENT;
+ break;
+ }
+ att = pk11_FindAttribute(key,CKA_VALUE);
+ if (att == NULL) {
+ crv = CKR_KEY_HANDLE_INVALID;
+ break;
+ }
+ context->cipherInfo = AES_CreateContext(
+ (unsigned char*)att->attrib.pValue,
+ (unsigned char*)pMechanism->pParameter,
+ pMechanism->mechanism == CKM_AES_ECB ? NSS_AES : NSS_AES_CBC,
+ PR_TRUE, att->attrib.ulValueLen,16);
+ pk11_FreeAttribute(att);
+ if (context->cipherInfo == NULL) {
+ crv = CKR_HOST_MEMORY;
+ break;
+ }
+ context->update = (PK11Cipher) AES_Decrypt;
+ context->destroy = (PK11Destroy) AES_DestroyContext;
+
+ break;
default:
crv = CKR_MECHANISM_INVALID;
break;
@@ -1869,6 +1927,16 @@ pk11_InitCBCMac(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
cbc_mechanism.pParameter = &ivBlock;
cbc_mechanism.ulParameterLen = blockSize;
break;
+ case CKM_AES_MAC_GENERAL:
+ mac_bytes = *(CK_ULONG *)pMechanism->pParameter;
+ /* fall through */
+ case CKM_AES_MAC:
+ blockSize = 16;
+ PORT_Memset(ivBlock,0,blockSize);
+ cbc_mechanism.mechanism = CKM_AES_CBC;
+ cbc_mechanism.pParameter = &ivBlock;
+ cbc_mechanism.ulParameterLen = blockSize;
+ break;
default:
return CKR_FUNCTION_NOT_SUPPORTED;
}
@@ -2919,6 +2987,10 @@ CK_RV NSC_GenerateKey(CK_SESSION_HANDLE hSession,
key_length = 24;
checkWeak = PR_TRUE;
break;
+ case CKM_AES_KEY_GEN:
+ key_type = CKK_AES;
+ if (key_length == 0) crv = CKR_TEMPLATE_INCOMPLETE;
+ break;
case CKM_SSL3_PRE_MASTER_KEY_GEN:
key_type = CKK_GENERIC_SECRET;
key_length = 48;
diff --git a/security/nss/lib/softoken/pkcs11t.h b/security/nss/lib/softoken/pkcs11t.h
index 254b6dd1e..49238be86 100644
--- a/security/nss/lib/softoken/pkcs11t.h
+++ b/security/nss/lib/softoken/pkcs11t.h
@@ -333,6 +333,9 @@ typedef CK_ULONG CK_KEY_TYPE;
#define CKK_JUNIPER 0x0000001D
#define CKK_CDMF 0x0000001E
+/* all these key types are new for v2.11 */
+#define CKK_AES 0x0000001F
+
#define CKK_VENDOR_DEFINED 0x80000000
@@ -610,6 +613,13 @@ typedef CK_ULONG CK_MECHANISM_TYPE;
#define CKM_JUNIPER_WRAP 0x00001065
#define CKM_FASTHASH 0x00001070
+#define CKM_AES_KEY_GEN 0x00001080
+#define CKM_AES_ECB 0x00001081
+#define CKM_AES_CBC 0x00001082
+#define CKM_AES_MAC 0x00001083
+#define CKM_AES_MAC_GENERAL 0x00001084
+#define CKM_AES_CBC_PAD 0x00001085
+
#define CKM_VENDOR_DEFINED 0x80000000
typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR;
diff --git a/security/nss/tests/cert/cert.sh b/security/nss/tests/cert/cert.sh
new file mode 100755
index 000000000..05bcf4d51
--- /dev/null
+++ b/security/nss/tests/cert/cert.sh
@@ -0,0 +1,291 @@
+#! /bin/sh
+
+########################################################################
+#
+# mozilla/security/nss/tests/cert/cert.sh
+#
+# Certificate generating and handeling for NSS QA, can be included
+# multiple times from all.sh and the individual scripts
+#
+# needs to work on all Unix and Windows platforms
+#
+# included from (don't expect this to be up to date)
+# --------------------------------------------------
+# all.sh
+# ssl.sh
+# smime.sh
+# tools.sh
+#
+# special strings
+# ---------------
+# FIXME ... known problems, search for this string
+# NOTE .... unexpected behavior
+#
+# FIXME - Netscape - NSS
+########################################################################
+
+if [ -z "${INIT_SOURCED}" ] ; then
+ cd ../common
+ . init.sh
+fi
+SCRIPTNAME="cert.sh"
+if [ -z "${CLEANUP}" ] ; then
+ CLEANUP="${SCRIPTNAME}"
+fi
+
+
+certlog() ###################### write the cert_status file
+{
+ echo "$SCRIPTNAME $*"
+ echo $* >>${CERT_LOG_FILE}
+}
+
+################################ noise ##################################
+# Generate noise for our certs
+#
+# NOTE: these keys are only suitable for testing, as this whole thing bypasses
+# the entropy gathering. Don't use this method to generate keys and certs for
+# product use or deployment.
+#########################################################################
+noise()
+{
+ netstat >> ${NOISE_FILE} 2>&1
+ date >> ${NOISE_FILE} 2>&1
+}
+
+################################ certu #################################
+# local shell function to call certutil, also: writes action and options to
+# stdout, sets variable RET and writes results to the html file results
+########################################################################
+certu()
+{
+ echo "$SCRIPTNAME: ${CU_ACTION}"
+
+ if [ -n "${CU_SUBJECT}" ]; then
+ #the subject of the cert contains blanks, and the shell
+ #will strip the quotes off the string, if called otherwise...
+ echo "certutil -s \"${CU_SUBJECT}\" $*"
+ certutil -s "${CU_SUBJECT}" $*
+ CU_SUBJECT=""
+ else
+ echo "certutil $*"
+ certutil $*
+ fi
+ RET=$?
+ if [ "$RET" -ne 0 ]; then
+ CERTFAILED=$RET
+ html_failed "<TR><TD>${CU_ACTION} ($RET) "
+ certlog "ERROR: ${CU_ACTION} failed $RET"
+ else
+ html_passed "<TR><TD>${CU_ACTION}"
+ fi
+ return $RET
+}
+
+################################ init_cert #############################
+# local shell function to initialize creation of client and server certs
+########################################################################
+init_cert()
+{
+ CERTDIR="$1"
+ CERTNAME="$2"
+ CERTSERIAL="$3"
+
+ if [ ! -d "${CERTDIR}" ]; then
+ mkdir -p "${CERTDIR}"
+ else
+ echo "WARNING - ${CERTDIR} exists"
+ fi
+ cd "${CERTDIR}"
+
+ noise
+}
+
+################################ create_cert ###########################
+# local shell function to create client certs
+# initialize DB, import
+# root cert
+# generate request
+# sign request
+# import Cert
+#
+########################################################################
+create_cert()
+{
+ init_cert "$1" "$2" "$3"
+
+ CU_ACTION="Initializing ${CERTNAME}'s Cert DB"
+ certu -N -d "${CERTDIR}" -f "${PWFILE}" 2>&1
+ if [ "$RET" -ne 0 ]; then
+ return $RET
+ fi
+
+ CU_ACTION="Import Root CA for $CERTNAME"
+ certu -A -n "TestCA" -t "TC,TC,TC" -f "${PWFILE}" -d "${CERTDIR}" -i "${CADIR}/root.cert" 2>&1
+ if [ "$RET" -ne 0 ]; then
+ return $RET
+ fi
+
+ CU_ACTION="Generate Cert Request for $CERTNAME"
+ CU_SUBJECT="CN=$CERTNAME, E=${CERTNAME}@bogus.com, O=BOGUS NSS, L=Mountain View, ST=California, C=US"
+ certu -R -d "${CERTDIR}" -f "${PWFILE}" -z "${NOISE_FILE}" -o req 2>&1
+ if [ "$RET" -ne 0 ]; then
+ return $RET
+ fi
+
+ CU_ACTION="Sign ${CERTNAME}'s Request"
+ certu -C -c "TestCA" -m "$CERTSERIAL" -v 60 -d "${CADIR}" -i req -o "${CERTNAME}.cert" -f "${PWFILE}" 2>&1
+ if [ "$RET" -ne 0 ]; then
+ return $RET
+ fi
+
+ CU_ACTION="Import $CERTNAME's Cert"
+ certu -A -n "$CERTNAME" -t "u,u,u" -d "${CERTDIR}" -f "${PWFILE}" -i "${CERTNAME}.cert" 2>&1
+ if [ "$RET" -ne 0 ]; then
+ return $RET
+ fi
+
+ certlog "SUCCESS: $CERTNAME's Cert Created"
+ return 0
+}
+
+################## main #################################################
+
+certlog "********************** running $SCRIPTNAME **********************"
+html "<TABLE BORDER=1><TR><TH COLSPAN=3>Certutil Tests</TH></TR>"
+html "<TR><TH width=500>Test Case</TH><TH width=50>Result</TH></TR>"
+
+################## Generate noise for our CA cert. ######################
+# NOTE: these keys are only suitable for testing, as this whole thing bypasses
+# the entropy gathering. Don't use this method to generate keys and certs for
+# product use or deployment.
+#
+ps -efl > ${NOISE_FILE} 2>&1
+ps aux >> ${NOISE_FILE} 2>&1
+noise
+
+################# Temp. Certificate Authority (CA) #######################
+#
+# build the TEMP CA used for testing purposes
+#
+################# Creating a CA Certificate ##############################
+#
+echo "********************** Creating a CA Certificate **********************"
+
+if [ ! -d "${CADIR}" ]; then
+ mkdir -p "${CADIR}"
+fi
+cd ${CADIR}
+
+echo nss > ${PWFILE}
+
+CU_ACTION="Creating CA Cert DB"
+certu -N -d ${CADIR} -f ${PWFILE} 2>&1
+if [ "$RET" -ne 0 ]; then
+ exit 3 #with errorcode
+fi
+
+################# Generating Certscript #################################
+#
+echo "$SCRIPTNAME: Certificate initialized, generating script"
+
+echo 5 > ${CERTSCRIPT}
+echo 9 >> ${CERTSCRIPT}
+echo n >> ${CERTSCRIPT}
+echo y >> ${CERTSCRIPT}
+echo 3 >> ${CERTSCRIPT}
+echo n >> ${CERTSCRIPT}
+echo 5 >> ${CERTSCRIPT}
+echo 6 >> ${CERTSCRIPT}
+echo 7 >> ${CERTSCRIPT}
+echo 9 >> ${CERTSCRIPT}
+echo n >> ${CERTSCRIPT}
+
+################# Creating CA Cert ######################################
+#
+CU_ACTION="Creating CA Cert"
+CU_SUBJECT="CN=NSS Test CA, O=BOGUS NSS, L=Mountain View, ST=California, C=US"
+certu -S -n "TestCA" -t "CTu,CTu,CTu" -v 60 -x -d ${CADIR} -1 -2 -5 -f ${PWFILE} -z ${NOISE_FILE} < ${CERTSCRIPT} 2>&1
+if [ "$RET" -ne 0 ]; then
+ exit 1 #with errorcode
+fi
+
+################# Exporting Root Cert ###################################
+#
+CU_ACTION="Exporting Root Cert"
+certu -L -n "TestCA" -r -d ${CADIR} -o ${CADIR}/root.cert
+if [ "$RET" -ne 0 ]; then
+ exit 2 #with errorcode
+fi
+
+################# Creating Certificates for S/MIME tests ################
+#
+CERTFAILED=0
+echo "**************** Creating Client CA Issued Certificates ****************"
+
+create_cert ${ALICEDIR} "Alice" 3
+create_cert ${BOBDIR} "Bob" 4
+
+echo "**************** Creating Dave's Certificate ****************"
+init_cert "${DAVEDIR}" Dave 5
+cp ${CADIR}/*.db .
+
+#########################################################################
+#
+CU_ACTION="Creating ${CERTNAME}'s Server Cert"
+CU_SUBJECT="CN=${CERTNAME}, E=${CERTNAME}@bogus.com, O=BOGUS Netscape, L=Mountain View, ST=California, C=US"
+certu -S -n "${CERTNAME}" -c "TestCA" -t "u,u,u" -m "$CERTSERIAL" -d "${CERTDIR}" -f "${PWFILE}" -z "${NOISE_FILE}" -v 60 2>&1
+
+CU_ACTION="Export Dave's Cert"
+certu -L -n "Dave" -r -d ${DAVEDIR} -o Dave.cert
+
+################# Importing Certificates for S/MIME tests ###############
+#
+echo "**************** Importing Certificates *********************"
+CU_ACTION="Import Alices's cert into Bob's db"
+certu -E -t "u,u,u" -d ${BOBDIR} -f ${PWFILE} -i ${ALICEDIR}/Alice.cert 2>&1
+
+CU_ACTION="Import Bob's cert into Alice's db"
+certu -E -t "u,u,u" -d ${ALICEDIR} -f ${PWFILE} -i ${BOBDIR}/Bob.cert 2>&1
+
+CU_ACTION="Import Dave's cert into Alice's DB"
+certu -E -t "u,u,u" -d ${ALICEDIR} -f ${PWFILE} -i ${DAVEDIR}/Dave.cert 2>&1
+
+CU_ACTION="Import Dave's cert into Bob's DB"
+certu -E -t "u,u,u" -d ${BOBDIR} -f ${PWFILE} -i ${DAVEDIR}/Dave.cert 2>&1
+
+if [ "$CERTFAILED" != 0 ] ; then
+ certlog "ERROR: SMIME failed $RET"
+else
+ certlog "SUCCESS: SMIME passed"
+fi
+
+################# Creating Certs for SSL test ###########################
+#
+CERTFAILED=0
+echo "**************** Creating Client CA Issued Certificates ****************"
+create_cert ${CLIENTDIR} "TestUser" 6
+
+echo "***** Creating Server CA Issued Certificate for ${HOST}.${DOMSUF} *****"
+init_cert ${SERVERDIR} "${HOST}.${DOMSUF}" 1
+cp ${CADIR}/*.db .
+CU_ACTION="Creating ${CERTNAME}'s Server Cert"
+CU_SUBJECT="CN=${CERTNAME}, O=BOGUS Netscape, L=Mountain View, ST=California, C=US"
+certu -S -n "${CERTNAME}" -c "TestCA" -t "Pu,Pu,Pu" -d "${CERTDIR}" -f "${PWFILE}" -z "${NOISE_FILE}" -v 60 2>&1
+#certu -S -n "${CERTNAME}" -c "TestCA" -t "Pu,Pu,Pu" -m "$CERTSERIAL" -d "${CERTDIR}" -f "${PWFILE}" -z "${NOISE_FILE}" -v 60 2>&1
+if [ "$CERTFAILED" != 0 ] ; then
+ certlog "ERROR: SSL failed $RET"
+else
+ certlog "SUCCESS: SSL passed"
+fi
+
+certlog "********************** finished $SCRIPTNAME **********************"
+html "</TABLE><BR>"
+
+cd ${CURDIR}
+. ../common/cleanup.sh
+
+
+# we will probably need mor for the tools
+# tools.sh: generates an alice cert in a "Cert" directory
+# FIXME, for now use ALICEDIR and see if this works...
diff --git a/security/nss/tests/core_watch b/security/nss/tests/core_watch
index b116b6728..a627983a3 100755
--- a/security/nss/tests/core_watch
+++ b/security/nss/tests/core_watch
@@ -9,11 +9,11 @@
# to activate put the following into all.sh (after the HOSTDIR
# has been exported
#############################################################
-# sh `dirname $0`/core_watch $HOSTDIR ${HOSTDIR} &
+# sh `dirname $0`/core_watch $HOSTDIR ${HOSTDIR} &
# CORE_WATCH_PID=$!
# if [ -n "${KILLPIDS}" ]
# then
-# echo $CORE_WATCH_PID >>"${KILLPIDS}"
+# echo $CORE_WATCH_PID >>"${KILLPIDS}"
# fi
#############################################################
@@ -35,11 +35,11 @@
echo $$ >>"${KILLPIDS}" #so Exit() can hopefully kill this shell
while [ 1 ]
do
- for w in `find $1 -name "core" -print`
- do
- echo "Found core $w"
- mv $w $w.`date +%H%M%S`
- done
- sleep 30
+ for w in `find $1 -name "core" -print`
+ do
+ echo "Found core $w"
+ mv $w $w.`date +%H%M%S`
+ done
+ sleep 30
done
diff --git a/security/nss/tests/header b/security/nss/tests/header
index f4f544036..f39bddeb9 100644
--- a/security/nss/tests/header
+++ b/security/nss/tests/header
@@ -4,44 +4,44 @@
#
# /u/sonmi/bin/header - /u/svbld/bin/init/nss/header
#
-# variables, utilities and shellfunktions global to NSS QA
+# variables, utilities and shellfunctions global to NSS QA
# needs to work on all Unix platforms
#
# included from (don't expect this to be up to date)
# --------------------------------------------------
-# qa_stat
-# mksymlinks
-# nssqa
+# qa_stat
+# mksymlinks
+# nssqa
#
# parameters
# ----------
-# nssversion (supported: 30b, 31, tip)
-# builddate (default - today)
+# nssversion (supported: 30b, 31, tip)
+# builddate (default - today)
#
# options
# -------
-# -y answer all questions with y - use at your own risk... ignores warnings
-# -s silent (only usefull with -y)
-# -h, -? - you guessed right - displays this text
-# -d debug
-# -f <filename> - write the (error)output to filename
-# -fcronfile produces the resultfiles in the same locations
-# as would have been produced with -cron
-# -m <mailinglist> - send filename to mailinglist (csl) only useful
-# with -f
-# -l <mozroot> run on a local build O_LOCAL
-# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.<scriptname>
+# -y answer all questions with y - use at your own risk... ignores warnings
+# -s silent (only usefull with -y)
+# -h, -? - you guessed right - displays this text
+# -d debug
+# -f <filename> - write the (error)output to filename
+# -fcronfile produces the resultfiles in the same locations
+# as would have been produced with -cron
+# -m <mailinglist> - send filename to mailinglist (csl) only useful
+# with -f
+# -l <mozroot> run on a local build O_LOCAL
+# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.<scriptname>
#
# special strings
# ---------------
-# FIXME ... known problems, search for this string
-# NOTE .... unexpected behavior
+# FIXME ... known problems, search for this string
+# NOTE .... unexpected behavior
#
# moduls (not yet)
# ----------------
-# --# INIT
-# --# USERCOM
-# --# UTILS
+# --# INIT
+# --# USERCOM
+# --# UTILS
#
# FIXME - split in init / usercom / utils
#
@@ -53,139 +53,138 @@
if [ -z "$QASCRIPT_DIR" ]
then
- QASCRIPT_DIR=`dirname $0`
- if [ "$QASCRIPT_DIR" = '.' ]
- then
- QASCRIPT_DIR=`pwd`
- fi
+ QASCRIPT_DIR=`dirname $0`
+ if [ "$QASCRIPT_DIR" = '.' ]
+ then
+ QASCRIPT_DIR=`pwd`
+ fi
fi
export QASCRIPT_DIR
-O_ALWAYS_YES=OFF # turned on by -y answer all questions with y
+O_ALWAYS_YES=OFF # turned on by -y answer all questions with y
-if [ -z "$O_INIT" ] # header is global, some including scripts may not
-then # want the init to run, the others don't need to bother
- O_INIT=ON
+if [ -z "$O_INIT" ] # header is global, some including scripts may not
+then # want the init to run, the others don't need to bother
+ O_INIT=ON
fi
-if [ -z "$O_PARAM" ] # header is global, some including scripts may not
-then # require parameters, the others don't need to bother
- O_PARAM=ON
+if [ -z "$O_PARAM" ] # header is global, some including scripts may not
+then # require parameters, the others don't need to bother
+ O_PARAM=ON
fi
-if [ -z "$O_OPTIONS" ] # header is global, some including scripts may not
-then # permit options, they don't need to bother
- O_OPTIONS=OFF
+if [ -z "$O_OPTIONS" ] # header is global, some including scripts may not
+then # permit options, they don't need to bother
+ O_OPTIONS=OFF
fi
-O_SILENT=OFF # turned on by -s silent (only usefull with -y)
-O_DEBUG=OFF # turned on by -d - calls to Debug produce output when ON
-O_FILE=OFF # turned on by -f echo all output to a file $FILENAME
-O_CRON=OFF # turned on by -cron cron use only
-O_CRONFILE=OFF # turned on by -cron cron and -fcron
-O_LOCAL=OFF # turned on by -l run on a local build in $MOZROOT
-O_MAIL=OFF # turned on by -m - sends email
+O_SILENT=OFF # turned on by -s silent (only usefull with -y)
+O_DEBUG=OFF # turned on by -d - calls to Debug produce output when ON
+O_FILE=OFF # turned on by -f echo all output to a file $FILENAME
+O_CRON=OFF # turned on by -cron cron use only
+O_CRONFILE=OFF # turned on by -cron cron and -fcron
+O_LOCAL=OFF # turned on by -l run on a local build in $MOZROOT
+O_MAIL=OFF # turned on by -m - sends email
if [ -z "$DOMSUF" ]
then
-
- DOMSUF=red.iplanet.com
- DS_WAS_SET=FALSE
+
+ DOMSUF=red.iplanet.com
+ DS_WAS_SET=FALSE
else
- DS_WAS_SET=TRUE
+ DS_WAS_SET=TRUE
fi
TMPFILES=""
-WAIT_FOR=600 # if waiting for an event sleep n seconds before rechecking
- # recomended value 10 minutes 600
-WAIT_TIMES=30 # recheck n times before giving up - recomended 30 - total of 5h
+WAIT_FOR=600 # if waiting for an event sleep n seconds before rechecking
+ # recomended value 10 minutes 600
+WAIT_TIMES=30 # recheck n times before giving up - recomended 30 - total of 5h
-if [ -z "$QAYEAR" ] # may I introduce - the y2k+1 bug? QA for last year
-then # might not work
- QAYEAR=`date +%Y`
+if [ -z "$QAYEAR" ] # may I introduce - the y2k+1 bug? QA for last year
+then # might not work
+ QAYEAR=`date +%Y`
fi
-if [ -z "$TMP" ]
+if [ -z "$TMP" ]
then
- if [ -z "$TEMP" ]
- then
- TMP="/tmp"
- else
- TMP=$TEMP
- fi
+ if [ -z "$TEMP" ]
+ then
+ TMP="/tmp"
+ else
+ TMP=$TEMP
+ fi
fi
-if [ ! -w "$TMP" ]
+if [ ! -w "$TMP" ]
then
- echo "Can't write to tmp directory $TMP - exiting"
- echo "Can't write to tmp directory $TMP - exiting" >&2
- exit 1
+ echo "Can't write to tmp directory $TMP - exiting"
+ echo "Can't write to tmp directory $TMP - exiting" >&2
+ exit 1
fi
KILLPIDS="$TMP/killpids.$$"
export KILLERPIDS
TMPFILES="$TMPFILES $KILLPIDS"
-KILL_SELFSERV=OFF # if sourcing script sets this to on cleanup will also
- # kill the running selfserv processes
+KILL_SELFSERV=OFF # if sourcing script sets this to on cleanup will also
+ # kill the running selfserv processes
- # Set the masterbuilds
-
-if [ -z "$MASTERBUILD" ]
+ # Set the masterbuilds
+if [ -z "$MASTERBUILD" ]
then
- MASTERBUILD=y2sun2_Solaris8
- #MASTERBUILD=shame_Solaris2.6
- MB_WAS_SET=FALSE
+ MASTERBUILD=y2sun2_Solaris8
+ #MASTERBUILD=shame_Solaris2.6
+ MB_WAS_SET=FALSE
else
- MB_WAS_SET=TRUE
+ MB_WAS_SET=TRUE
fi
-if [ -z "$BUILDNUMBER" ]
+if [ -z "$BUILDNUMBER" ]
then
- BUILDNUMBER=1
+ BUILDNUMBER=1
fi
export BUILDNUMBER
if [ -z "$NT_MASTERBUILD" ]
-then
- NT_MASTERBUILD=blowfish_NT4.0_Win95
- NT_MB_WAS_SET=FALSE
+then
+ NT_MASTERBUILD=blowfish_NT4.0_Win95
+ NT_MB_WAS_SET=FALSE
else
- NT_MB_WAS_SET=TRUE
+ NT_MB_WAS_SET=TRUE
fi
-O_LDIR=OFF #local QA dir for NT, temporary
+O_LDIR=OFF #local QA dir for NT, temporary
-if [ -z "$WIN_WAIT_FOREVER" ] # header is global, some including scripts
-then # want the init to wait forever for directories to
- # appear (windows only) if OFF exit, if ON wait forever
- WIN_WAIT_FOREVER=OFF
+if [ -z "$WIN_WAIT_FOREVER" ] # header is global, some including scripts
+then # want the init to wait forever for directories to
+ # appear (windows only) if OFF exit, if ON wait forever
+ WIN_WAIT_FOREVER=OFF
fi
-EARLY_EXIT=TRUE #before the report file has been created, causes Exit to
- #create it
+EARLY_EXIT=TRUE #before the report file has been created, causes Exit to
+ #create it
################################### glob_init ##########################
# global shell function, main initialisation function
########################################################################
glob_init()
{
- if [ $O_PARAM = "ON" ]
- then
- eval_opts $* # parse parameters and options - set flags
- fi
- #if [ $O_CRON = "ON" ] # if running from cron HOST needs to be
- #then # known early, so the output file name
- set_host # can be constructed. If running interactive
- #fi # it needs to be called by sourcing script
- . $QASCRIPT_DIR/set_environment #finds out if we are running on Windows
- Debug "OPerating system: $os_name $os_full"
- if [ $O_WIN = "ON" ]
- then
- #set_host
- write_to_tmpfile
- else
- Debug "Not a Windows OS"
- fi
- umask 0
- set_dirs
- set_files
- set_vars
+ if [ $O_PARAM = "ON" ]
+ then
+ eval_opts $* # parse parameters and options - set flags
+ fi
+ #if [ $O_CRON = "ON" ] # if running from cron HOST needs to be
+ #then # known early, so the output file name
+ set_host # can be constructed. If running interactive
+ #fi # it needs to be called by sourcing script
+ . $QASCRIPT_DIR/set_environment #finds out if we are running on Windows
+ Debug "OPerating system: $os_name $os_full"
+ if [ $O_WIN = "ON" ]
+ then
+ #set_host
+ write_to_tmpfile
+ else
+ Debug "Not a Windows OS"
+ fi
+ umask 0
+ set_dirs
+ set_files
+ set_vars
}
################################### set_vars ###########################
@@ -193,27 +192,27 @@ glob_init()
########################################################################
set_vars()
{
- if [ -z "$LOGNAME" ]
- then
- if [ $O_WIN = "ON" ]
- then
- LOGNAME=$USERNAME
- else
- LOGNAME=$USER
- fi
- if [ -z "$LOGNAME" ]
- then
- LOGNAME=$UNAME
- if [ -z "$LOGNAME" ]
- then
- LOGNAME=`basename $HOME`
- fi
- fi
- fi
- if [ -z "$LOGNAME" ]
- then
- Exit "Can't determine current user"
- fi
+ if [ -z "$LOGNAME" ]
+ then
+ if [ $O_WIN = "ON" ]
+ then
+ LOGNAME=$USERNAME
+ else
+ LOGNAME=$USER
+ fi
+ if [ -z "$LOGNAME" ]
+ then
+ LOGNAME=$UNAME
+ if [ -z "$LOGNAME" ]
+ then
+ LOGNAME=`basename $HOME`
+ fi
+ fi
+ fi
+ if [ -z "$LOGNAME" ]
+ then
+ Exit "Can't determine current user"
+ fi
}
################################### set_dirs ###########################
@@ -221,15 +220,15 @@ set_vars()
########################################################################
find_nt_masterbuild()
{
- NT_MASTERDIR=${D2}/${NT_MASTERBUILD}
- if [ "${NT_MB_WAS_SET}" = "FALSE" -a ! -d $NT_MASTERDIR ] ; then
- if [ -d ${D2}/*NT4* ] ; then
- NT_MASTERBUILD=` cd ${D2}; ls -d *NT4* `
- Debug "NT_MASTERBUILD $NT_MASTERBUILD"
- NT_MASTERDIR=${D2}/${NT_MASTERBUILD}
- fi
- fi
- Debug "NT_MASTERDIR $NT_MASTERDIR"
+ NT_MASTERDIR=${D2}/${NT_MASTERBUILD}
+ if [ "${NT_MB_WAS_SET}" = "FALSE" -a ! -d $NT_MASTERDIR ] ; then
+ if [ -d ${D2}/*NT4* ] ; then
+ NT_MASTERBUILD=` cd ${D2}; ls -d *NT4* `
+ Debug "NT_MASTERBUILD $NT_MASTERBUILD"
+ NT_MASTERDIR=${D2}/${NT_MASTERBUILD}
+ fi
+ fi
+ Debug "NT_MASTERDIR $NT_MASTERDIR"
}
################################### set_dirs ###########################
@@ -238,63 +237,63 @@ find_nt_masterbuild()
set_dirs()
{
#O_LOCAL
- if [ "$O_WIN" = "ON" ]
- then
- win_set_dirs
- else
- D1=/h/hs-sca15c/export/builds/mccrel/nss/nss$NSSVER
- D3=${D2}/${MASTERBUILD}
- UXDIST=${D3}/mozilla/dist
- RESULTDIR=${D3}/mozilla/tests_results/security
- fi
+ if [ "$O_WIN" = "ON" ]
+ then
+ win_set_dirs
+ else
+ D1=/h/hs-sca15c/export/builds/mccrel/nss/nss$NSSVER
+ D3=${D2}/${MASTERBUILD}
+ UXDIST=${D3}/mozilla/dist
+ RESULTDIR=${D3}/mozilla/tests_results/security
+ fi
- D2=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}
- UX_MASTERDIR=${D2}/${MASTERBUILD}
- find_nt_masterbuild
+ D2=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}
+ UX_MASTERDIR=${D2}/${MASTERBUILD}
+ find_nt_masterbuild
- UXDIST=${UX_MASTERDIR}/mozilla/dist
- NTDIST=${NT_MASTERDIR}/mozilla/dist
+ UXDIST=${UX_MASTERDIR}/mozilla/dist
+ NTDIST=${NT_MASTERDIR}/mozilla/dist
- RESULTDIR=${UX_MASTERDIR}/mozilla/tests_results/security
+ RESULTDIR=${UX_MASTERDIR}/mozilla/tests_results/security
#O_LOCAL
- if [ "$O_WIN" = "ON" ]
- then
- MASTERBUILD=$NT_MASTERBUILD
- MOZILLA_ROOT=${NT_MASTERDIR}/mozilla
- else
- MOZILLA_ROOT=${UX_MASTERDIR}/mozilla
- fi
-
- TESTSCRIPTDIR=${MOZILLA_ROOT}/security/nss/tests
-
- if [ ! -d $TESTSCRIPTDIR ]
- then
- if [ "$O_WIN" = "ON" -a "$WIN_WAIT_FOREVER" = "ON" ]
- then
- WaitForever $TESTSCRIPTDIR/all.sh 1
- else
- Exit "Test directory $TESTSCRIPTDIR does not exist"
- fi
- fi
-
- COMMON=${TESTSCRIPTDIR}/common
-
- set_objdir
-
-
- Debug "NTDIST $NTDIST"
- Debug "UXDIST $UXDIST"
- Debug "TESTSCRIPTDIR $TESTSCRIPTDIR"
- Debug "RESULTDIR $RESULTDIR"
- Debug "TMP $TMP"
- Debug "LOCALDIST_BIN $LOCALDIST_BIN"
- Debug "COMMON $COMMON"
- Debug "MOZILLA_ROOT $MOZILLA_ROOT"
-
- export D1 D2 NTDIST UXDIST RESULTDIR TESTSCRIPTDIR
- export UX_MASTERDIR NT_MASTERDIR COMMON MOZILLA_ROOT
+ if [ "$O_WIN" = "ON" ]
+ then
+ MASTERBUILD=$NT_MASTERBUILD
+ MOZILLA_ROOT=${NT_MASTERDIR}/mozilla
+ else
+ MOZILLA_ROOT=${UX_MASTERDIR}/mozilla
+ fi
+
+ TESTSCRIPTDIR=${MOZILLA_ROOT}/security/nss/tests
+
+ if [ ! -d $TESTSCRIPTDIR ]
+ then
+ if [ "$O_WIN" = "ON" -a "$WIN_WAIT_FOREVER" = "ON" ]
+ then
+ WaitForever $TESTSCRIPTDIR/all.sh 1
+ else
+ Exit "Test directory $TESTSCRIPTDIR does not exist"
+ fi
+ fi
+
+ COMMON=${TESTSCRIPTDIR}/common
+
+ set_objdir
+
+
+ Debug "NTDIST $NTDIST"
+ Debug "UXDIST $UXDIST"
+ Debug "TESTSCRIPTDIR $TESTSCRIPTDIR"
+ Debug "RESULTDIR $RESULTDIR"
+ Debug "TMP $TMP"
+ Debug "LOCALDIST_BIN $LOCALDIST_BIN"
+ Debug "COMMON $COMMON"
+ Debug "MOZILLA_ROOT $MOZILLA_ROOT"
+
+ export D1 D2 NTDIST UXDIST RESULTDIR TESTSCRIPTDIR
+ export UX_MASTERDIR NT_MASTERDIR COMMON MOZILLA_ROOT
}
################################### set_files ###########################
@@ -302,25 +301,25 @@ set_dirs()
########################################################################
set_files()
{
- if [ $O_CRONFILE = "ON" ]
- then
- Debug "attempting to create resultfiles"
- NEWFILENAME=$RESULTDIR/$HOST.`basename $0`
- if [ ! -d $RESULTDIR ]
- then
- mkdir -p $RESULTDIR || Exit "Error: can't make $RESULTDIR"
- fi
- if [ ! -w $RESULTDIR ] ; then
- Exit "can't touch $NEWFILENAME"
- fi
- Debug "About to touch $NEWFILENAME "
- touch $NEWFILENAME || Exit "Error: can't touch $NEWFILENAME"
- Debug "About to cat $FILENAME >>$NEWFILENAME "
- cat $FILENAME >>$NEWFILENAME || Exit "Error: can't append $FILENAME to $NEWFILENAME"
- TMPFILES="$TMPFILES $FILENAME"
- FILENAME=$NEWFILENAME
- Debug "Writing output to $FILENAME"
- fi
+ if [ $O_CRONFILE = "ON" ]
+ then
+ Debug "attempting to create resultfiles"
+ NEWFILENAME=$RESULTDIR/$HOST.`basename $0`
+ if [ ! -d $RESULTDIR ]
+ then
+ mkdir -p $RESULTDIR || Exit "Error: can't make $RESULTDIR"
+ fi
+ if [ ! -w $RESULTDIR ] ; then
+ Exit "can't touch $NEWFILENAME"
+ fi
+ Debug "About to touch $NEWFILENAME "
+ touch $NEWFILENAME || Exit "Error: can't touch $NEWFILENAME"
+ Debug "About to cat $FILENAME >>$NEWFILENAME "
+ cat $FILENAME >>$NEWFILENAME || Exit "Error: can't append $FILENAME to $NEWFILENAME"
+ TMPFILES="$TMPFILES $FILENAME"
+ FILENAME=$NEWFILENAME
+ Debug "Writing output to $FILENAME"
+ fi
}
################################### eval_opts ##########################
@@ -329,15 +328,15 @@ set_files()
########################################################################
write_to_tmpfile()
{
- O_CRONFILE=ON
- Debug "Writing to the TMPFILE"
- O_FILE=ON
- FILENAME=${TMP}/nsstmp.$$ # for now write to the temporary file
- # since we don't know the hostname yet
- # will be inserted to the real file later
- TMPFILES="$TMPFILES nsstmp.$$"
- touch $FILENAME || Exit "Error: can't touch $FILENAME"
- Debug "Writing output to $FILENAME"
+ O_CRONFILE=ON
+ Debug "Writing to the TMPFILE"
+ O_FILE=ON
+ FILENAME=${TMP}/nsstmp.$$ # for now write to the temporary file
+ # since we don't know the hostname yet
+ # will be inserted to the real file later
+ TMPFILES="$TMPFILES nsstmp.$$"
+ touch $FILENAME || Exit "Error: can't touch $FILENAME"
+ Debug "Writing output to $FILENAME"
}
################################### eval_opts ##########################
@@ -346,107 +345,107 @@ write_to_tmpfile()
########################################################################
eval_opts()
{
-while [ -n "$1" ]
-do
- case $1 in
- -cron)
- O_CRON=ON
- O_SILENT=ON
- O_DEBUG=ON # FIXME take out!
- O_ALWAYS_YES=ON
- write_to_tmpfile
-
- export O_CRON
- ;;
- -l)
- O_LOCAL=ON #Now what -
- shift
- MOZROOT=$1
- if [ -z "$MOZROOT" ]
- then
- glob_usage "Error: -l requires a directory to follow, for example $HOME/src/tip1025 "
- fi
- Warning "-l not implemented yet (or only halfway)"
- Debug "testing locally on $MOZROOT"
- ;;
- -S*|-s*)
- O_SILENT=ON
- ;;
- -Y*|-y)
- O_ALWAYS_YES=ON
- ;;
- -d*|-D)
- O_DEBUG=ON
- #set -x
- ;;
- -m*|-M*)
- O_MAIL=ON
- shift
- MAILINGLIST=$1
- if [ -z "$MAILINGLIST" ]
- then
- glob_usage "Error: -m requires a mailinglist to follow, for example sonmi,wtc,nelsonb "
- fi
- Debug "Sending result to $MAILINGLIST"
- ;;
- -fcron*|-F[Cc][Rr][Oo][Nn]*)
- write_to_tmpfile
- ;;
- -f|-F)
- O_FILE=ON
- shift
- FILENAME=$1
- if [ -z "$FILENAME" ]
- then
- glob_usage "Error: -f requires a filename to follow"
- fi
- #rm -f $FILENAME 2>/dev/null
- touch $FILENAME || Exit "Error: can't touch $FILENAME"
- #NOTE we append rather that creating
- Debug "Writing output to $FILENAME"
- ;;
- -h|-help|"-?")
- glob_usage
- ;;
- -*)
- glob_usage "Error: Can't handle option $1"
- ;;
- ?*)
- NSSVER=$1
- if [ -z "$NSSVER" ]
- then
- NSSVER="tip"
- Debug "NSS Version: Parameters missing - defaulting to tip!"
- else
- BUILDDATE=$2
- if [ -z "$BUILDDATE" ]
- then
- BUILDDATE=`date +%m%d`
- Debug "Builddate: Parameters missing - defaulting to today!"
- else
- shift
- fi
- fi
- ;;
- esac
- shift
-done
-
-Debug "Builddate $BUILDDATE NssVersion $NSSVER"
-
-if [ -z "$BUILDDATE" ]
-then
- BUILDDATE=`date +%m%d`
- Debug "Builddate: Parameters missing - defaulting to today!"
-fi
-if [ -z "$NSSVER" ]
-then
- NSSVER="tip"
- Debug "NSS Version: Parameters missing - defaulting to tip!"
-fi
-
-Debug "Builddate $BUILDDATE NssVersion $NSSVER"
-export BUILDDATE NSSVER
+ while [ -n "$1" ]
+ do
+ case $1 in
+ -cron)
+ O_CRON=ON
+ O_SILENT=ON
+ O_DEBUG=ON # FIXME take out!
+ O_ALWAYS_YES=ON
+ write_to_tmpfile
+
+ export O_CRON
+ ;;
+ -l)
+ O_LOCAL=ON #Now what -
+ shift
+ MOZROOT=$1
+ if [ -z "$MOZROOT" ]
+ then
+ glob_usage "Error: -l requires a directory to follow, for example $HOME/src/tip1025 "
+ fi
+ Warning "-l not implemented yet (or only halfway)"
+ Debug "testing locally on $MOZROOT"
+ ;;
+ -S*|-s*)
+ O_SILENT=ON
+ ;;
+ -Y*|-y)
+ O_ALWAYS_YES=ON
+ ;;
+ -d*|-D)
+ O_DEBUG=ON
+ #set -x
+ ;;
+ -m*|-M*)
+ O_MAIL=ON
+ shift
+ MAILINGLIST=$1
+ if [ -z "$MAILINGLIST" ]
+ then
+ glob_usage "Error: -m requires a mailinglist to follow, for example sonmi,wtc,nelsonb "
+ fi
+ Debug "Sending result to $MAILINGLIST"
+ ;;
+ -fcron*|-F[Cc][Rr][Oo][Nn]*)
+ write_to_tmpfile
+ ;;
+ -f|-F)
+ O_FILE=ON
+ shift
+ FILENAME=$1
+ if [ -z "$FILENAME" ]
+ then
+ glob_usage "Error: -f requires a filename to follow"
+ fi
+ #rm -f $FILENAME 2>/dev/null
+ touch $FILENAME || Exit "Error: can't touch $FILENAME"
+ #NOTE we append rather that creating
+ Debug "Writing output to $FILENAME"
+ ;;
+ -h|-help|"-?")
+ glob_usage
+ ;;
+ -*)
+ glob_usage "Error: Can't handle option $1"
+ ;;
+ ?*)
+ NSSVER=$1
+ if [ -z "$NSSVER" ]
+ then
+ NSSVER="tip"
+ Debug "NSS Version: Parameters missing - defaulting to tip!"
+ else
+ BUILDDATE=$2
+ if [ -z "$BUILDDATE" ]
+ then
+ BUILDDATE=`date +%m%d`
+ Debug "Builddate: Parameters missing - defaulting to today!"
+ else
+ shift
+ fi
+ fi
+ ;;
+ esac
+ shift
+ done
+
+ Debug "Builddate $BUILDDATE NssVersion $NSSVER"
+
+ if [ -z "$BUILDDATE" ]
+ then
+ BUILDDATE=`date +%m%d`
+ Debug "Builddate: Parameters missing - defaulting to today!"
+ fi
+ if [ -z "$NSSVER" ]
+ then
+ NSSVER="tip"
+ Debug "NSS Version: Parameters missing - defaulting to tip!"
+ fi
+
+ Debug "Builddate $BUILDDATE NssVersion $NSSVER"
+ export BUILDDATE NSSVER
}
######################### win_set_dirs ################################
@@ -455,44 +454,44 @@ export BUILDDATE NSSVER
########################################################################
win_set_dirs()
{
- Debug "set Windows Directories..."
- TMP=`echo "$TMP" | sed -e 's/\\\/\//g'`
- Debug "TMP reformated to $TMP"
- if [ "$O_CYGNUS" = ON ]
- then
- D1=/cygdrive/w/nss/nss$NSSVER
- else
- D1=w:/nss/nss$NSSVER
- fi
- if [ ! -w $D1 ]
- then
- Echo "Windows special... can't write in $D1"
- if [ "$O_CYGNUS" = ON ]
- then
- D1=/cygdrive/u/nss/nss$NSSVER
- else
- D1="u:/nss/nss$NSSVER"
- fi
- else
- Debug "D1 set to $D1"
- return
- fi
-
- while [ ! -w $D1 ]
- do
- if [ "$O_CRONFILE" = "ON" ]
- then
- Exit "cant write in $D1"
- fi
- Warning "cant write in $D1"
- Echo "input start directory (u:/nss, d:/src/nss, f:/shared/nss) "
- read D
- if [ -n "$D" ]
- then
- D1=$D/nss$NSSVER
- fi
- done
- Debug "D1 set to $D1"
+ Debug "set Windows Directories..."
+ TMP=`echo "$TMP" | sed -e 's/\\\/\//g'`
+ Debug "TMP reformated to $TMP"
+ if [ "$O_CYGNUS" = ON ]
+ then
+ D1=/cygdrive/w/nss/nss$NSSVER
+ else
+ D1=w:/nss/nss$NSSVER
+ fi
+ if [ ! -w $D1 ]
+ then
+ Echo "Windows special... can't write in $D1"
+ if [ "$O_CYGNUS" = ON ]
+ then
+ D1=/cygdrive/u/nss/nss$NSSVER
+ else
+ D1="u:/nss/nss$NSSVER"
+ fi
+ else
+ Debug "D1 set to $D1"
+ return
+ fi
+
+ while [ ! -w $D1 ]
+ do
+ if [ "$O_CRONFILE" = "ON" ]
+ then
+ Exit "cant write in $D1"
+ fi
+ Warning "cant write in $D1"
+ Echo "input start directory (u:/nss, d:/src/nss, f:/shared/nss) "
+ read D
+ if [ -n "$D" ]
+ then
+ D1=$D/nss$NSSVER
+ fi
+ done
+ Debug "D1 set to $D1"
}
########################### set_host ##################################
@@ -501,71 +500,71 @@ win_set_dirs()
########################################################################
set_host()
{
- set_host_done=0
-
- if [ $DS_WAS_SET = FALSE ] #give chance to overwrite, espec. for NT
- then
- Debug "Domainname was not set..."
- DOMSUF=`domainname 2>/dev/null`
- if [ -z "$DOMSUF" ]
- then
- Debug "domainname command did not work ..."
- DOMSUF=`echo $HOST | grep '\.' | sed -e "s/[^\.]*\.//"`
-
- if [ -z "$DOMSUF" ]
- then
- Debug "Domainname not part of the hostname"
- DOMSUF=`cat /etc/defaultdomain 2>/dev/null`
- if [ -z "$DOMSUF" ]
- then
- Debug "Domainname needs to be hardcoded to red.iplanet.com"
- DOMSUF="red.iplanet.com"
- fi
- fi
- fi
- fi
- case $HOST in
- *\.*)
- Debug "HOSTNAME $HOST contains Dot"
- HOST=`echo $HOST | sed -e "s/\..*//"`
- ;;
- esac
- if [ -z "$HOST" ]
- then
- HOST=`uname -n`
- case $HOST in
- *\.*)
- Debug "HOSTNAME $HOST contains Dot"
- HOST=`echo $HOST | sed -e "s/\..*//"`
- ;;
- esac
- fi
- if [ $O_DEBUG = "ON" ]
- then
- while [ $set_host_done -eq 0 ]
- do
- Echo
- ask "DOMSUF=$DOMSUF, HOST=$HOST - OK", "y" "n" &&
- set_host_done=1
- if [ $set_host_done -eq 0 ]
- then
- Echo "input DOMSUF: "
- read D
- if [ -n "$D" ]
- then
- DOMSUF=$D
- fi
- Echo "input HOST: "
- read H
- if [ -n "$H" ]
- then
- HOST=$H
- fi
- fi
- done
- fi
- export HOST DOMSUF
- Debug "HOST: $HOST, DOMSUF: $DOMSUF"
+ set_host_done=0
+
+ if [ $DS_WAS_SET = FALSE ] #give chance to overwrite, espec. for NT
+ then
+ Debug "Domainname was not set..."
+ DOMSUF=`domainname 2>/dev/null`
+ if [ -z "$DOMSUF" ]
+ then
+ Debug "domainname command did not work ..."
+ DOMSUF=`echo $HOST | grep '\.' | sed -e "s/[^\.]*\.//"`
+
+ if [ -z "$DOMSUF" ]
+ then
+ Debug "Domainname not part of the hostname"
+ DOMSUF=`cat /etc/defaultdomain 2>/dev/null`
+ if [ -z "$DOMSUF" ]
+ then
+ Debug "Domainname needs to be hardcoded to red.iplanet.com"
+ DOMSUF="red.iplanet.com"
+ fi
+ fi
+ fi
+ fi
+ case $HOST in
+ *\.*)
+ Debug "HOSTNAME $HOST contains Dot"
+ HOST=`echo $HOST | sed -e "s/\..*//"`
+ ;;
+ esac
+ if [ -z "$HOST" ]
+ then
+ HOST=`uname -n`
+ case $HOST in
+ *\.*)
+ Debug "HOSTNAME $HOST contains Dot"
+ HOST=`echo $HOST | sed -e "s/\..*//"`
+ ;;
+ esac
+ fi
+ if [ $O_DEBUG = "ON" ]
+ then
+ while [ $set_host_done -eq 0 ]
+ do
+ Echo
+ ask "DOMSUF=$DOMSUF, HOST=$HOST - OK", "y" "n" &&
+ set_host_done=1
+ if [ $set_host_done -eq 0 ]
+ then
+ Echo "input DOMSUF: "
+ read D
+ if [ -n "$D" ]
+ then
+ DOMSUF=$D
+ fi
+ Echo "input HOST: "
+ read H
+ if [ -n "$H" ]
+ then
+ HOST=$H
+ fi
+ fi
+ done
+ fi
+ export HOST DOMSUF
+ Debug "HOST: $HOST, DOMSUF: $DOMSUF"
}
#-----------------------------# UTILS #----------------------------------
@@ -575,25 +574,25 @@ set_host()
########################################################################
set_objdir()
{
- OBJDIR=`cd ${TESTSCRIPTDIR}/common; gmake objdir_name`
- OS_ARCH=`cd ${TESTSCRIPTDIR}/common; gmake os_arch`
-
- #at this point $MASTEBUILD is be either NT or unix
+ OBJDIR=`cd ${TESTSCRIPTDIR}/common; gmake objdir_name`
+ OS_ARCH=`cd ${TESTSCRIPTDIR}/common; gmake os_arch`
+
+ #at this point $MASTEBUILD is be either NT or unix
- LOCALDIST=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/${MASTERBUILD}/mozilla/dist
- LOCALDIST_BIN=${LOCALDIST}/${OBJDIR}/bin
+ LOCALDIST=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/${MASTERBUILD}/mozilla/dist
+ LOCALDIST_BIN=${LOCALDIST}/${OBJDIR}/bin
- DIST=$LOCALDIST
+ DIST=$LOCALDIST
#FIXME - test so PATH won't contai it double
- PATH=$TESTSCRIPTDIR:$LOCALDIST_BIN:$BASEPATH
- PATH_CONTAINS_BIN="TRUE"
- export PATH_CONTAINS_BIN
- Debug "Path after set_objdir $PATH"
+ PATH=$TESTSCRIPTDIR:$LOCALDIST_BIN:$BASEPATH
+ PATH_CONTAINS_BIN="TRUE"
+ export PATH_CONTAINS_BIN
+ Debug "Path after set_objdir $PATH"
- Debug "PATH $PATH"
+ Debug "PATH $PATH"
- export OBJDIR OS_ARCH LOCALDIST LOCALDIST_BIN DIST PATH
+ export OBJDIR OS_ARCH LOCALDIST LOCALDIST_BIN DIST PATH
}
########################### Ps #########################################
# global shell function , attempts a platform specific ps
@@ -603,12 +602,12 @@ Ps()
#AIX, OSF ps -ef, solaris /usr/5bin/ps -ef, win ps -ef but no user id
#linux ps -ef, HP
- if [ $os_name = "SunOS" ]
- then
- /usr/5bin/ps -ef
- else
- ps -ef
- fi
+ if [ $os_name = "SunOS" ]
+ then
+ /usr/5bin/ps -ef
+ else
+ ps -ef
+ fi
}
########################### kill_by_name ################################
@@ -617,30 +616,30 @@ Ps()
########################################################################
kill_by_name()
{
- for PID in `Ps | grep "$1" | grep -v grep | \
- sed -e "s/^ *//g" -e "s/^[^ ]* //" -e "s/^ *//g" -e "s/ .*//g"`
- do
- if [ $O_WIN = "ON" -a $O_CYGNUS = "ON" ]
- then
- ask "Do you want to kill Process $PID (`Ps | grep $PID | \
- grep -v grep | awk '{ print $1, $2, $6, $7, $8, $9 }' | \
- sed -e "s/[0-9]:[0-6][0-9]//g" | grep $PID `)" \
- "y" "n" && {
- kill $PID
- sleep 1
- kill -9 $PID 2>/dev/null
- }
- else
- ask "Do you want to kill Process $PID (`Ps | grep $PID | \
- grep -v grep | awk '{ print $1, $2, $8, $9, $10, $11 }' | \
- sed -e "s/[0-9]:[0-6][0-9]//g" | grep $PID `)" \
- "y" "n" && {
- kill $PID
- sleep 1
- kill -9 $PID 2>/dev/null
- }
- fi
- done
+ for PID in `Ps | grep "$1" | grep -v grep | \
+ sed -e "s/^ *//g" -e "s/^[^ ]* //" -e "s/^ *//g" -e "s/ .*//g"`
+ do
+ if [ $O_WIN = "ON" -a $O_CYGNUS = "ON" ]
+ then
+ ask "Do you want to kill Process $PID (`Ps | grep $PID | \
+ grep -v grep | awk '{ print $1, $2, $6, $7, $8, $9 }' | \
+ sed -e "s/[0-9]:[0-6][0-9]//g" | grep $PID `)" \
+ "y" "n" && {
+ kill $PID
+ sleep 1
+ kill -9 $PID 2>/dev/null
+ }
+ else
+ ask "Do you want to kill Process $PID (`Ps | grep $PID | \
+ grep -v grep | awk '{ print $1, $2, $8, $9, $10, $11 }' | \
+ sed -e "s/[0-9]:[0-6][0-9]//g" | grep $PID `)" \
+ "y" "n" && {
+ kill $PID
+ sleep 1
+ kill -9 $PID 2>/dev/null
+ }
+ fi
+ done
}
############################### early_exit ###################################
@@ -650,27 +649,27 @@ kill_by_name()
early_exit()
{
- if [ -z "$DOCDIR" ]
- then
- DOCDIR=`dirname $0`/../doc
- fi
- if [ -f $DOCDIR/QAerror.html ]
- then
- Debug "Found QA errorheader"
- rm ${FILENAME}.err 2>/dev/null
- cp $DOCDIR/QAerror.html ${FILENAME}.err
- echo "$1" >>${FILENAME}.err
- echo '</font></b></h1>' >>${FILENAME}.err
- if [ -n "$FILENAME" -a -f "$FILENAME" ]
- then
- cat $FILENAME | sed -e "s/^/<br>/" >>${FILENAME}.err
- fi
- echo '</body></html>' >>${FILENAME}.err
- cat ${FILENAME}.err | rmail $MAILINGLIST
-
- rm ${FILENAME}.err 2>/dev/null
- #echo "cat ${FILENAME}.err | rmail $MAILINGLIST "
- fi
+ if [ -z "$DOCDIR" ]
+ then
+ DOCDIR=`dirname $0`/../doc
+ fi
+ if [ -f $DOCDIR/QAerror.html ]
+ then
+ Debug "Found QA errorheader"
+ rm ${FILENAME}.err 2>/dev/null
+ cp $DOCDIR/QAerror.html ${FILENAME}.err
+ echo "$1" >>${FILENAME}.err
+ echo '</font></b></h1>' >>${FILENAME}.err
+ if [ -n "$FILENAME" -a -f "$FILENAME" ]
+ then
+ cat $FILENAME | sed -e "s/^/<br>/" >>${FILENAME}.err
+ fi
+ echo '</body></html>' >>${FILENAME}.err
+ cat ${FILENAME}.err | rmail $MAILINGLIST
+
+ rm ${FILENAME}.err 2>/dev/null
+ #echo "cat ${FILENAME}.err | rmail $MAILINGLIST "
+ fi
}
############################### Exit ###################################
@@ -680,45 +679,45 @@ early_exit()
########################################################################
Exit()
{
- Echo $1
- if [ "$O_CRON" = "OFF" ]
- then
- echo $1 >&2
- fi
- if [ -f "${KILLPIDS}" ]
- then
- Debug "Attempting to kill background processes...`cat ${KILLPIDS}`"
- kill `cat "${KILLPIDS}"`
- sleep 1
- kill -9 `cat "${KILLPIDS}"`
- fi
- if [ -n "${TMPFILES}" ]
- then
- Debug "rm -f ${TMPFILES}"
- rm -f $TMPFILES 2>/dev/null
- fi
- O_ALWAYS_YES=ON # set to non-interactive - don't ask anymore questions here
- if [ $KILL_SELFSERV = "ON" ]
- then
- kill_by_name selfserv
- fi
- if [ $O_MAIL = "ON" -a $O_FILE = "ON" ]
- then
- if [ $EARLY_EXIT = TRUE ] #before the report file has been created
- then
- early_exit "$1"
- elif [ -n "$FILENAME" -a -f "$FILENAME" ]
- then
- cat $FILENAME | rmail $MAILINGLIST
- fi
- rm $FILENAME 2>/dev/null
- elif [ $O_MAIL = "ON" -a $EARLY_EXIT = TRUE ]
- then
- early_exit "$1"
- rm $FILENAME 2>/dev/null
- fi
- #chmod a+rw ${RESULTDIR} ${RESULTDIR}/* ${RESULTDIR}/*/* &
- exit
+ Echo $1
+ if [ "$O_CRON" = "OFF" ]
+ then
+ echo $1 >&2
+ fi
+ if [ -f "${KILLPIDS}" ]
+ then
+ Debug "Attempting to kill background processes...`cat ${KILLPIDS}`"
+ kill `cat "${KILLPIDS}"`
+ sleep 1
+ kill -9 `cat "${KILLPIDS}"`
+ fi
+ if [ -n "${TMPFILES}" ]
+ then
+ Debug "rm -f ${TMPFILES}"
+ rm -f $TMPFILES 2>/dev/null
+ fi
+ O_ALWAYS_YES=ON # set to non-interactive - don't ask anymore questions here
+ if [ $KILL_SELFSERV = "ON" ]
+ then
+ kill_by_name selfserv
+ fi
+ if [ $O_MAIL = "ON" -a $O_FILE = "ON" ]
+ then
+ if [ $EARLY_EXIT = TRUE ] #before the report file has been created
+ then
+ early_exit "$1"
+ elif [ -n "$FILENAME" -a -f "$FILENAME" ]
+ then
+ cat $FILENAME | rmail $MAILINGLIST
+ fi
+ rm $FILENAME 2>/dev/null
+ elif [ $O_MAIL = "ON" -a $EARLY_EXIT = TRUE ]
+ then
+ early_exit "$1"
+ rm $FILENAME 2>/dev/null
+ fi
+ #chmod a+rw ${RESULTDIR} ${RESULTDIR}/* ${RESULTDIR}/*/* &
+ exit
}
trap "rm -f ${TMPFILES} 2>/dev/null; Exit 'killed... cleaning up...'" 2 3 15
@@ -729,31 +728,31 @@ trap "rm -f ${TMPFILES} 2>/dev/null; Exit 'killed... cleaning up...'" 2 3 15
# for it to be created.
# uses the variables WAIT_FOR and WAIT_TIMES
# WAIT_FOR: if waiting for an event sleep n seconds before rechecking
-# recomended value 10 minutes 600
+# recomended value 10 minutes 600
# WAIT_TIMES: recheck n times before giving up to prevent endless loop
-# recomended 30 - total of 5h
+# recomended 30 - total of 5h
########################################################################
Wait()
{
- i=0
- Debug "Waiting for $1"
- while [ $i -lt $WAIT_TIMES ]
- do
- i=`expr $i + 1`
- if [ -f "$1" -a $2 -eq 1 ] # if file exists and is supposed to
- then
- return
- fi
- if [ ! -f "$1" -a $2 -eq 0 ] # not exists and not supposed to exist
- then
- return
- fi
- Debug "Waiting for $1, loop #$i, about to sleep $WAIT_FOR seconds zzzz..."
- sleep $WAIT_FOR
- done
- TOTAL=`expr $WAIT_TIMES \* $WAIT_FOR / 60`
- Exit "I HAVE WAITED LONG ENOUGH FOR $1 NOW, I'M GONE! (THAT WAS A TOTAL OF $TOTAL MINUTES) I have better things to do... "
+ i=0
+ Debug "Waiting for $1"
+ while [ $i -lt $WAIT_TIMES ]
+ do
+ i=`expr $i + 1`
+ if [ -f "$1" -a $2 -eq 1 ] # if file exists and is supposed to
+ then
+ return
+ fi
+ if [ ! -f "$1" -a $2 -eq 0 ] # not exists and not supposed to exist
+ then
+ return
+ fi
+ Debug "Waiting for $1, loop #$i, about to sleep $WAIT_FOR seconds zzzz..."
+ sleep $WAIT_FOR
+ done
+ TOTAL=`expr $WAIT_TIMES \* $WAIT_FOR / 60`
+ Exit "I HAVE WAITED LONG ENOUGH FOR $1 NOW, I'M GONE! (THAT WAS A TOTAL OF $TOTAL MINUTES) I have better things to do... "
}
################################ WaitForever ##################################
@@ -765,31 +764,31 @@ Wait()
WaitForever()
{
- i=0
- Debug "Waiting for $1"
- TOTAL=0
- while [ 1 ]
- do
- i=`expr $i + 1`
- if [ -f "$1" -a $2 -eq 1 ] # if file exists and is supposed to
- then
- return
- fi
- if [ ! -f "$1" -a $2 -eq 0 ] # not exists and not supposed to exist
- then
- return
- fi
- Debug "Waiting for $1, loop #$i, about to sleep $WAIT_FOR seconds Total $TOTAL"
- sleep $WAIT_FOR
- TOTAL=`expr $i \* $WAIT_FOR / 60`
- if [ -n "$MAX_FOREVER" ] # we are cheating. Forever can be very short...
- then
- if [ "$TOTAL" -gt "$MAX_FOREVER" ]
- then
- Exit "I HAVE WAITED LONG ENOUGH FOR $1 NOW, I'M GONE! (THAT WAS A TOTAL OF $TOTAL MINUTES) I have better things to do... "
- fi
- fi
- done
+ i=0
+ Debug "Waiting for $1"
+ TOTAL=0
+ while [ 1 ]
+ do
+ i=`expr $i + 1`
+ if [ -f "$1" -a $2 -eq 1 ] # if file exists and is supposed to
+ then
+ return
+ fi
+ if [ ! -f "$1" -a $2 -eq 0 ] # not exists and not supposed to exist
+ then
+ return
+ fi
+ Debug "Waiting for $1, loop #$i, about to sleep $WAIT_FOR seconds Total $TOTAL"
+ sleep $WAIT_FOR
+ TOTAL=`expr $i \* $WAIT_FOR / 60`
+ if [ -n "$MAX_FOREVER" ] # we are cheating. Forever can be very short...
+ then
+ if [ "$TOTAL" -gt "$MAX_FOREVER" ]
+ then
+ Exit "I HAVE WAITED LONG ENOUGH FOR $1 NOW, I'M GONE! (THAT WAS A TOTAL OF $TOTAL MINUTES) I have better things to do... "
+ fi
+ fi
+ done
}
################################### is_running #########################
# global shell function , implements primitive locking mechanism
@@ -799,15 +798,15 @@ WaitForever()
########################################################################
is_running()
{
- Debug "Testing if $0 is already running... file ${1} - ${1}.$$"
- if [ -f ${1}.* ]
- then
- Exit "$0 seems to be running already ($1 exists) - Exiting"
- fi
- TMPFILES="$TMPFILES ${1}.$$"
- echo "running $0 on `date` PID $$" >${1}.$$
- Debug "wrote \"running $0 on `date` PID $$\" to ${1}.$$"
-
+ Debug "Testing if $0 is already running... file ${1} - ${1}.$$"
+ if [ -f ${1}.* ]
+ then
+ Exit "$0 seems to be running already ($1 exists) - Exiting"
+ fi
+ TMPFILES="$TMPFILES ${1}.$$"
+ echo "running $0 on `date` PID $$" >${1}.$$
+ Debug "wrote \"running $0 on `date` PID $$\" to ${1}.$$"
+
}
#---------------------------# USERCOM #---------------------------------
@@ -819,15 +818,15 @@ is_running()
########################################################################
Echo ()
{
- if [ $O_SILENT = OFF ]
- then
- echo "$*"
- #/usr/bin/echo "$*"
- fi
- if [ $O_FILE = ON ]
- then
- echo "$*" >>$FILENAME
- fi
+ if [ $O_SILENT = OFF ]
+ then
+ echo "$*"
+ #/usr/bin/echo "$*"
+ fi
+ if [ $O_FILE = ON ]
+ then
+ echo "$*" >>$FILENAME
+ fi
}
################################### ask ################################
@@ -835,59 +834,59 @@ Echo ()
# on the 1st choice, 1 on the 2nd choice
#
# PARAMETERS:
-# $1 question text
-# $2 1st choice
-# $3 2nd choice
+# $1 question text
+# $2 1st choice
+# $3 2nd choice
#
# MODIFIERS:
-# -y O_ALWAYS_YES will assume a first choice always (not neccessaryly "y")
+# -y O_ALWAYS_YES will assume a first choice always (not neccessaryly "y")
#
# RETURN:
-# 0 - User picked 1st choice
-# 1 - User picked 2nd choice
+# 0 - User picked 1st choice
+# 1 - User picked 2nd choice
#
# EXAMPLE
-# ask "Would you like to continue" "y" "n" || Exit
-# will produce the string "Would you like to continue (y/n) ?",
-# read input from keyboard (or assume a yes with option -y)
-# - on a yes it will return 0, on a no it will return 1, the
-# shell interprets it as error and the || Exit will be executed
+# ask "Would you like to continue" "y" "n" || Exit
+# will produce the string "Would you like to continue (y/n) ?",
+# read input from keyboard (or assume a yes with option -y)
+# - on a yes it will return 0, on a no it will return 1, the
+# shell interprets it as error and the || Exit will be executed
#
# NOTE: NEVER use "n" as the second parameter - it will mess up -y
-# don't ask "Continue" "n" "y" || Exit # it will Exit on a "y"
+# don't ask "Continue" "n" "y" || Exit # it will Exit on a "y"
#
########################################################################
Ask()
{
- ask $*
+ ask $*
}
ask()
{
- if [ $O_ALWAYS_YES = ON ]
- then
- Echo "$1 ($2/$3) ?"
- Echo "YES!"
- return 0
- fi
- A=""
- while [ 1 ]
- do
-
- Echo "$1 ($2/$3) ?"
- read A
- if [ -n "$A" ]
- then
- if [ $A = $2 ]
- then
- return 0
- elif [ $A = $3 ]
- then
- return 1
- fi
- fi
- done
- return 0
+ if [ $O_ALWAYS_YES = ON ]
+ then
+ Echo "$1 ($2/$3) ?"
+ Echo "YES!"
+ return 0
+ fi
+ A=""
+ while [ 1 ]
+ do
+
+ Echo "$1 ($2/$3) ?"
+ read A
+ if [ -n "$A" ]
+ then
+ if [ $A = $2 ]
+ then
+ return 0
+ elif [ $A = $3 ]
+ then
+ return 1
+ fi
+ fi
+ done
+ return 0
}
################################### Warning ############################
@@ -897,7 +896,7 @@ ask()
########################################################################
Warning ()
{
- ask "WARNING: $0: \n $* continue " "y" "n" || Exit
+ ask "WARNING: $0: \n $* continue " "y" "n" || Exit
}
################################### Debug ############################
@@ -905,10 +904,10 @@ Warning ()
########################################################################
Debug()
{
- if [ $O_DEBUG = ON ]
- then
- Echo "DEBUG: (`date +%H:%M`) $0: $*"
- fi
+ if [ $O_DEBUG = ON ]
+ then
+ Echo "DEBUG: (`date +%H:%M`) $0: $*"
+ fi
}
################################### line ###############################
@@ -926,24 +925,24 @@ Echo
########################################################################
opt_usage()
{
- if [ $O_OPTIONS = "ON" ]
- then
- Echo
- line
- Echo
- Echo " -y answer all questions with y - use at your own risk..."
- Echo " -s silent (only usefull with -y)"
- Echo " -h, -? - you guessed right - displays this text"
- Echo " -d debug"
- Echo " -f <filename> - write the (error)output to filename"
- Echo " -fcronfile produces the resultfiles in the same locations"
- Echo " as would have been produced with -cron"
- Echo " -m <mailinglist> - send filename to mailinglist (csl "
- Echo " example sonmi,nelsonb,wtc) only useful with -f"
- Echo " -cron equivalient to -y -s -d -f \$RESULTDIR/\$HOST.nssqa"
- Echo " -l <mozroot> run on a local build"
- fi
-
+ if [ $O_OPTIONS = "ON" ]
+ then
+ Echo
+ line
+ Echo
+ Echo " -y answer all questions with y - use at your own risk..."
+ Echo " -s silent (only usefull with -y)"
+ Echo " -h, -? - you guessed right - displays this text"
+ Echo " -d debug"
+ Echo " -f <filename> - write the (error)output to filename"
+ Echo " -fcronfile produces the resultfiles in the same locations"
+ Echo " as would have been produced with -cron"
+ Echo " -m <mailinglist> - send filename to mailinglist (csl "
+ Echo " example sonmi,nelsonb,wtc) only useful with -f"
+ Echo " -cron equivalient to -y -s -d -f \$RESULTDIR/\$HOST.nssqa"
+ Echo " -l <mozroot> run on a local build"
+ fi
+
}
################################### glob_usage #########################
@@ -951,82 +950,43 @@ opt_usage()
########################################################################
glob_usage()
{
- line
- Echo $1
- Echo
- if [ $O_OPTIONS = "ON" ]
- then
- Echo "usage $0 [options] nssversion builddate"
- else
- Echo "usage $0 nssversion builddate"
- fi
-
- Echo " for example: $0 30b 0926"
- Echo " $0 31 1002"
- opt_usage
- Echo
- Exit "$1"
+ line
+ Echo $1
+ Echo
+ if [ $O_OPTIONS = "ON" ]
+ then
+ Echo "usage $0 [options] nssversion builddate"
+ else
+ Echo "usage $0 nssversion builddate"
+ fi
+
+ Echo " for example: $0 30b 0926"
+ Echo " $0 31 1002"
+ opt_usage
+ Echo
+ Exit "$1"
}
tell()
{
- if [ $O_SILENT = OFF ]
- then
- line
- pwd
- ls -CF
- line
- fi
- if [ $O_FILE = ON ]
- then
- line
- pwd >>$FILENAME
- ls -CF >>$FILENAME
- line
- fi
+ if [ $O_SILENT = OFF ]
+ then
+ line
+ pwd
+ ls -CF
+ line
+ fi
+ if [ $O_FILE = ON ]
+ then
+ line
+ pwd >>$FILENAME
+ ls -CF >>$FILENAME
+ line
+ fi
}
-
-#set_host()
-#{
- #set_host_done=0
- #HOST=`echo $HOST | sed -e "s/.red.iplanet.com//"`
- #DOMSUF=`cat /etc/defaultdomain 2>/dev/null`
- #if [ -z "$DOMSUF" ]
- #then
- #DOMSUF="red.iplanet.com"
- #fi
- #if [ -z "$HOST" ]
- #then
- #HOST=`uname -n | sed -e "s/.red.iplanet.com//"`
- #fi
- #while [ $set_host_done -eq 0 ]
- #do
- #Echo
- #ask "DOMSUF=$DOMSUF, HOST=$HOST - OK", "y" "n" &&
- #set_host_done=1
- #if [ $set_host_done -eq 0 ]
- #then
- #Echo "input DOMSUF: "
- #read D
- #if [ -n "$D" ]
- #then
- #DOMSUF=$D
- #fi
- #Echo "input HOST: "
- #read H
- #if [ -n "$H" ]
- #then
- #HOST=$H
- #fi
- #fi
- #done
- #export HOST DOMSUF
- #Debug "HOST: $HOST, DOMSUF: $DOMSUF"
-#}
-
if [ $O_INIT = "ON" ]
then
- glob_init $*
+ glob_init $*
fi
EARLY_EXIT=FALSE
diff --git a/security/nss/tests/mksymlinks b/security/nss/tests/mksymlinks
index deafee62c..ad27e4e3e 100755
--- a/security/nss/tests/mksymlinks
+++ b/security/nss/tests/mksymlinks
@@ -13,50 +13,50 @@ fi
if [ -d "$D1" ]
then
- cd $D1
+ cd $D1
else
- glob_usage "cant cd to $D1 Exiting"
+ glob_usage "cant cd to $D1 Exiting"
fi
if [ -d "$NTDIST" ]
then
- cd $NTDIST
- ln -s WINNT4.0_DBG.OBJ WINNT5.0_DBG.OBJ
- ln -s WINNT4.0_DBG.OBJD WINNT5.0_DBG.OBJD
- ln -s WINNT4.0_OPT.OBJ WINNT5.0_OPT.OBJ
-
- #ln -s WIN954.0_DBG.OBJD WIN954.0_DBG.OBJ
- #ln -s WINNT4.0_DBG.OBJD WINNT4.0_DBG.OBJ
- #ln -s WINNT5.0_DBG.OBJD WINNT5.0_DBG.OBJ
- tell
+ cd $NTDIST
+ ln -s WINNT4.0_DBG.OBJ WINNT5.0_DBG.OBJ
+ ln -s WINNT4.0_DBG.OBJD WINNT5.0_DBG.OBJD
+ ln -s WINNT4.0_OPT.OBJ WINNT5.0_OPT.OBJ
+
+ #ln -s WIN954.0_DBG.OBJD WIN954.0_DBG.OBJ
+ #ln -s WINNT4.0_DBG.OBJD WINNT4.0_DBG.OBJ
+ #ln -s WINNT5.0_DBG.OBJD WINNT5.0_DBG.OBJ
+ tell
else
- Echo "WARNING!!! cant cd to $NTDIST "
+ Echo "WARNING!!! cant cd to $NTDIST "
fi
if [ -d "$UXDIST" ]
then
- cd $UXDIST
+ cd $UXDIST
else
- glob_usage "Error!!! cant cd to $UXDIST "
+ glob_usage "Error!!! cant cd to $UXDIST "
fi
ErrorFlag=0
if [ ! -h OSF1V5.0_DBG.OBJ ]
then
- ln -s OSF1V4.0D_DBG.OBJ OSF1V5.0_DBG.OBJ || ErrorFlag=1
+ ln -s OSF1V4.0D_DBG.OBJ OSF1V5.0_DBG.OBJ || ErrorFlag=1
fi
if [ ! -h OSF1V5.0_OPT.OBJ ]
then
- ln -s OSF1V4.0D_OPT.OBJ OSF1V5.0_OPT.OBJ || ErrorFlag=1
+ ln -s OSF1V4.0D_OPT.OBJ OSF1V5.0_OPT.OBJ || ErrorFlag=1
fi
if [ ! -h SunOS5.8_DBG.OBJ ]
then
- ln -s SunOS5.6_DBG.OBJ SunOS5.8_DBG.OBJ || ErrorFlag=1
+ ln -s SunOS5.6_DBG.OBJ SunOS5.8_DBG.OBJ || ErrorFlag=1
fi
if [ ! -h SunOS5.8_OPT.OBJ ]
then
- ln -s SunOS5.6_OPT.OBJ SunOS5.8_OPT.OBJ || ErrorFlag=1
+ ln -s SunOS5.6_OPT.OBJ SunOS5.8_OPT.OBJ || ErrorFlag=1
fi
tell
diff --git a/security/nss/tests/nssqa b/security/nss/tests/nssqa
index 1ccdc26c1..6bac0ce21 100755
--- a/security/nss/tests/nssqa
+++ b/security/nss/tests/nssqa
@@ -9,18 +9,18 @@
#
# parameters
# ----------
-# nssversion (supported: 30b, 31, tip)
-# builddate (default - today)
+# nssversion (supported: 30b, 31, tip)
+# builddate (default - today)
#
# options
# -------
-# -y answer all questions with y - use at your own risk...ignores warnings
-# -s silent (only usefull with -y)
-# -h, -? - you guessed right - displays this text
-# -d debug
-# -f <filename> - write the (error)output to filename
-# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.nssqa
-# -l <mozroot> run on a local build
+# -y answer all questions with y - use at your own risk...ignores warnings
+# -s silent (only usefull with -y)
+# -h, -? - you guessed right - displays this text
+# -d debug
+# -f <filename> - write the (error)output to filename
+# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.nssqa
+# -l <mozroot> run on a local build
#
# 12/1/00
# took out the (unused) local directory for releasebuild QA on NT
@@ -28,27 +28,27 @@
# took hardcoded machinenames out
########################################################################
-O_OPTIONS=ON # accept options (see above for listing)
-WIN_SET_LOCALDIRS=ON # run QA in a local directory rather than accross
- # the net
-WIN_WAIT_FOREVER=ON # first we wait forever for a TESTDIR to appear, than
- # we wait forever for the build to finish...
+O_OPTIONS=ON # accept options (see above for listing)
+WIN_SET_LOCALDIRS=ON # run QA in a local directory rather than accross
+ # the net
+WIN_WAIT_FOREVER=ON # first we wait forever for a TESTDIR to appear, than
+ # we wait forever for the build to finish...
-. `dirname $0`/header # utilities, shellfunctions etc, global to NSS QA
+. `dirname $0`/header # utilities, shellfunctions etc, global to NSS QA
-is_running ${TMP}/nssqa # checks if the file exists, if yes Exits, if not
- # creates to implement a primitive locking mechanism
-#if [ $O_CRON = "OFF" -a $O_WIN = "OFF" ] # if we are running from cron
- # or on windows this has been done
+is_running ${TMP}/nssqa # checks if the file exists, if yes Exits, if not
+ # creates to implement a primitive locking mechanism
+#if [ $O_CRON = "OFF" -a $O_WIN = "OFF" ] # if we are running from cron
+ # or on windows this has been done
#then
- #set_host # sets the HOST and DOMSUF variables - carefull,
-#fi # hardcoded to redplanet
+ #set_host # sets the HOST and DOMSUF variables - carefull,
+#fi # hardcoded to redplanet
-KILL_SELFSERV=ON # cleanup will also kill the leftover selfserv processes
+KILL_SELFSERV=ON # cleanup will also kill the leftover selfserv processes
-#. `dirname $0`/nssqa.header #derived from init.sh
+#. `dirname $0`/nssqa.header #derived from init.sh
-TMP_ALL_SH_OUT=${TMP}/nssqa_all_sh_out.$$ #redirecting all.sh's output
+TMP_ALL_SH_OUT=${TMP}/nssqa_all_sh_out.$$ #redirecting all.sh's output
TMPFILES="$TMPFILES $TMP_ALL_SH_OUT"
################################ check_distdir #########################
@@ -57,65 +57,65 @@ TMPFILES="$TMPFILES $TMP_ALL_SH_OUT"
########################################################################
check_distdir()
{
- set_objdir
+ set_objdir
- if [ ! -d "$LOCALDIST_BIN" ]
- then
- Debug "Dist $DIST"
- Warning "$LOCALDIST_BIN (the dist binaries dir) does not exist"
- return 1
- fi
+ if [ ! -d "$LOCALDIST_BIN" ]
+ then
+ Debug "Dist $DIST"
+ Warning "$LOCALDIST_BIN (the dist binaries dir) does not exist"
+ return 1
+ fi
- if [ ! -d "$LOCALDIST" -a ! -h "$LOCALDIST" ]
- then
- Debug "Dist $DIST"
- Warning "$LOCALDIST (the dist directory) does not exist"
- return 1
- fi
+ if [ ! -d "$LOCALDIST" -a ! -h "$LOCALDIST" ]
+ then
+ Debug "Dist $DIST"
+ Warning "$LOCALDIST (the dist directory) does not exist"
+ return 1
+ fi
- Debug "LOCALDIST_BIN $LOCALDIST_BIN"
- Debug "Dist $DIST"
- return 0
+ Debug "LOCALDIST_BIN $LOCALDIST_BIN"
+ Debug "Dist $DIST"
+ return 0
}
################################ run_all ###############################
# local shell function to start the all.sh after asking user and redirect
# the output apropriately
########################################################################
-run_all()
+run_all()
{
- check_distdir || return 1
- kill_by_name selfserv
- ask "Testing $OBJDIR continue with all.sh" "y" "n" || Exit
+ check_distdir || return 1
+ kill_by_name selfserv
+ ask "Testing $OBJDIR continue with all.sh" "y" "n" || Exit
- Debug "running all.sh in `pwd`... please be patient :)"
- if [ $O_SILENT = ON ]
- then
- if [ $O_DEBUG = ON -a $O_FILE = ON ]
- then
- all.sh >>$FILENAME 2>>$FILENAME
- else
- all.sh >/dev/null 2>/dev/null
- fi
- else
- #if [ $O_FILE = ON ] #FIXME - write to tmp file and copy
- #then
- #all.sh 2>&1 | tee $TMP_ALL_SH_OUT
- #if [ -r $TMP_ALL_SH_OUT ]
- #then
- #cat $TMP_ALL_SH_OUT >>$FILENAME
- #fi
- #else
- all.sh
- #fi
- fi
- Debug "Done with all.sh "
- line
+ Debug "running all.sh in `pwd`... please be patient :)"
+ if [ $O_SILENT = ON ]
+ then
+ if [ $O_DEBUG = ON -a $O_FILE = ON ]
+ then
+ all.sh >>$FILENAME 2>>$FILENAME
+ else
+ all.sh >/dev/null 2>/dev/null
+ fi
+ else
+ #if [ $O_FILE = ON ] #FIXME - write to tmp file and copy
+ #then
+ #all.sh 2>&1 | tee $TMP_ALL_SH_OUT
+ #if [ -r $TMP_ALL_SH_OUT ]
+ #then
+ #cat $TMP_ALL_SH_OUT >>$FILENAME
+ #fi
+ #else
+ all.sh
+ #fi
+ fi
+ Debug "Done with all.sh "
+ line
}
all_sh()
{
-echo
+ echo
}
@@ -124,136 +124,139 @@ echo
########################################################################
nssqa_main()
{
-# determine if all needed symbolic links are present, in case
-# we build on one platform and QA on another
+ # determine if all needed symbolic links are present, in case
+ # we build on one platform and QA on another
-if [ $O_WIN = "OFF" ]
-then
- if [ ! -h ${NTDIST}/WINNT5.0_DBG.OBJ -o \
- ! -h ${UXDIST}/SunOS5.8_OPT.OBJ -o \
- ! -h ${UXDIST}/OSF1V5.0_DBG.OBJ ]
- then
- # create the symbolic links
- mksymlinks $* ||
- glob_usage "Can't make the neccessary symbolic links"
- fi
-fi
-
-if [ -d $TESTSCRIPTDIR ] #the directory mozilla/security/nss/tests,
-then # where all.sh lives
- cd $TESTSCRIPTDIR
-else
- Exit "cant cd to $TESTSCRIPTDIR Exiting"
-fi
+ if [ $O_WIN = "OFF" ]
+ then
+ if [ ! -h ${NTDIST}/WINNT5.0_DBG.OBJ -o \
+ ! -h ${UXDIST}/SunOS5.8_OPT.OBJ -o \
+ ! -h ${UXDIST}/OSF1V5.0_DBG.OBJ ]
+ then
+ # create the symbolic links
+ mksymlinks $* ||
+ glob_usage "Can't make the neccessary symbolic links"
+ fi
+ fi
-Debug testing from `pwd`
-line
+ if [ -d $TESTSCRIPTDIR ] #the directory mozilla/security/nss/tests,
+ then # where all.sh lives
+ cd $TESTSCRIPTDIR
+ else
+ Exit "cant cd to $TESTSCRIPTDIR Exiting"
+ fi
-Debug "HOST: $HOST, DOMSUF: $DOMSUF"
+ Debug testing from `pwd`
+ line
-# From the operatingsystem figure out the name of the build
+ Debug "HOST: $HOST, DOMSUF: $DOMSUF"
-case `uname -s` in
- SunOS)
- #first testing the 32 bit 2.6 build, even on 2.8
- MAPPED_OS=Solaris2.6
- ;;
- OSF1)
- MAPPED_OS=OSF1V4.0
- ;;
- AIX)
- MAPPED_OS=AIX4.3
- ;;
- Linux)
- MAPPED_OS=Linux2.2
- ;;
- HP-UX)
- MAPPED_OS=HPUX11.00
- ;;
- *)
- if [ "$os_name" = "Windows" ]
- then
- MAPPED_OS=NT4.0
- else
- Exit "Sorry, operating system `uname -s` is not supported yet"
- fi
- ;;
-esac
-
-OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}*
-Debug Testing build for $MAPPED_OS in $OSDIR
-
-if [ $O_WIN = "ON" ]
-then
- WaitForever ${OSDIR}/SVbuild.InProgress.1 0 #Wait for the build to finish...
- OS_TARGET=WINNT;export OS_TARGET;Debug "OS_TARGET set to $OS_TARGET"
- Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
-else
- Wait ${OSDIR}/SVbuild.InProgress.1 0 #Wait for the build to finish...
-fi
-find_nt_masterbuild
-Debug "Dist $DIST"
-run_all
-BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
-run_all
-IS_64=""
-
-# now for the 64 bit build!
-
-case `uname -s` in
- #OSF1) has been done already - always 64 bit
- SunOS)
- MAPPED_OS=Solaris*8
- IS_64=`(isainfo -v | grep 64)>/dev/null 2>/dev/null && echo 64 bit`
- OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}
- if [ -n "$IS_64" ]
- then #Wait for the 64 bit build to finish...
- Debug Testing build for $MAPPED_OS in $OSDIR
- Wait ${OSDIR}/SVbuild.InProgress.1 0
- fi
- ;;
- AIX)
- IS_64=`lslpp -l | grep "bos.64bit"> /dev/null && echo 64 bit`
- ;;
- HP-UX)
- IS_64=`getconf KERNEL_BITS | grep 64 >/dev/null && echo 64 bit`
- ;;
- *)
- if [ "$O_WIN" = "ON" ]
- then
- OS_TARGET=WIN95;export OS_TARGET;Debug "OS_TARGET set to $OS_TARGET"
- Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
- unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
- run_all
- BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
- run_all
- Debug "Copy results from $NT_MASTERDIR/mozilla/tests_results/security to $RESULTDIR"
- cp -r $NT_MASTERDIR/mozilla/tests_results/security/* $RESULTDIR
- fi
- return
- ;;
-esac
-
-if [ -n "$IS_64" ]
-then #Wait for the 64 bit build to finish...
- Debug "This is a $IS_64 platform"
- USE_64=1;export USE_64;Debug "Use_64 set to $USE_64"
- unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
-
- run_all
- BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
- run_all
-else
- Debug "This is a 32 bit platform"
-fi
+ # From the operatingsystem figure out the name of the build
+ case `uname -s` in
+ SunOS)
+ #first testing the 32 bit 2.6 build, even on 2.8
+ MAPPED_OS=Solaris2.6
+ ;;
+ OSF1)
+ MAPPED_OS=OSF1V4.0
+ ;;
+ AIX)
+ MAPPED_OS=AIX4.3
+ ;;
+ Linux)
+ MAPPED_OS=Linux2.2
+ ;;
+ HP-UX)
+ MAPPED_OS=HPUX11.00
+ ;;
+ *)
+ if [ "$os_name" = "Windows" ]
+ then
+ MAPPED_OS=NT4.0
+ else
+ Exit "Sorry, operating system `uname -s` is not supported yet"
+ fi
+ ;;
+ esac
+
+ OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}*
+ Debug Testing build for $MAPPED_OS in $OSDIR
+
+ if [ $O_WIN = "ON" ]
+ then
+ WaitForever ${OSDIR}/SVbuild.InProgress.1 0
+ #Wait for the build to finish Windows a lot longer
+ OS_TARGET=WINNT;export OS_TARGET;Debug "OS_TARGET set to $OS_TARGET"
+ Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
+ else
+ Wait ${OSDIR}/SVbuild.InProgress.1 0
+ #Wait for the build to finish... Unix a few hours
+ fi
+ find_nt_masterbuild
+ Debug "Dist $DIST"
+ run_all
+ BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
+ run_all
+ IS_64=""
+
+ # now for the 64 bit build!
+
+ case `uname -s` in
+ #OSF1) has been done already - always 64 bit
+ SunOS)
+ MAPPED_OS=Solaris*8
+ IS_64=`(isainfo -v | grep 64)>/dev/null 2>/dev/null && echo 64 bit`
+ OSDIR=${D1}/builds/${QAYEAR}${BUILDDATE}.${BUILDNUMBER}/*${MAPPED_OS}
+ if [ -n "$IS_64" ]
+ then #Wait for the 64 bit build to finish...
+ Debug Testing build for $MAPPED_OS in $OSDIR
+ Wait ${OSDIR}/SVbuild.InProgress.1 0
+ fi
+ ;;
+ AIX)
+ IS_64=`lslpp -l | grep "bos.64bit"> /dev/null && echo 64 bit`
+ ;;
+ HP-UX)
+ IS_64=`getconf KERNEL_BITS | grep 64 >/dev/null && echo 64 bit`
+ ;;
+ *)
+ if [ "$O_WIN" = "ON" ]
+ then
+ OS_TARGET=WIN95;export OS_TARGET
+ Debug "OS_TARGET set to $OS_TARGET"
+ Echo "WINDOWS-OS-LINE: $os_name $os_full $OS_TARGET"
+ unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
+ run_all
+ BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
+ run_all
+ Debug "Copy results from $NT_MASTERDIR/mozilla/tests_results/security to $RESULTDIR"
+ cp -r $NT_MASTERDIR/mozilla/tests_results/security/* $RESULTDIR
+ fi
+ return
+ ;;
+ esac
+
+ if [ -n "$IS_64" ]
+ then #Wait for the 64 bit build to finish...
+ Debug "This is a $IS_64 platform"
+ USE_64=1;export USE_64;Debug "Use_64 set to $USE_64"
+ unset BUILD_OPT;export BUILD_OPT;Debug "BUILD_OPT $BUILD_OPT"
+
+ run_all
+ BUILD_OPT=1; export BUILD_OPT; Debug "BUILD_OPT $BUILD_OPT"
+ run_all
+ else
+ Debug "This is a 32 bit platform"
+ fi
+
}
-
+
if [ $O_FILE = ON ]
then
- nssqa_main 2>>$FILENAME
+ nssqa_main 2>>$FILENAME
else
- nssqa_main
+ nssqa_main
fi
Exit "Done."
diff --git a/security/nss/tests/path_uniq b/security/nss/tests/path_uniq
index 15429a7f5..170573ce3 100755
--- a/security/nss/tests/path_uniq
+++ b/security/nss/tests/path_uniq
@@ -9,11 +9,11 @@
#
# parameters
# ----------
-# PATH
+# PATH
#
# options
# -------
-# -d delimiter - default :
+# -d delimiter - default :
#
# usefull enhancements: in the usage part, try to guess what was meant as
# a path and echo it to stdout to not break for PATHs with blanks
@@ -21,15 +21,15 @@
########################################################################
sub usage {
- print STDERR "usage $0 [-d <delimiter>] PATH\n";
- print STDERR " this script makes components of the PATH unique, if you\n";
- print STDERR " pass in a searchpath A:B:C:A:B:E it will print A:B:C:E to\n";
- print STDERR " the stdout\n";
- print STDERR " the parameters you gave were: ";
- for ( $i = 0; $i <= $#ARGV; $i++ ) {
- print STDERR " $ARGV[$i]\n";
- }
- exit ;
+ print STDERR "usage $0 [-d <delimiter>] PATH\n";
+ print STDERR " this script makes components of the PATH unique, if you\n";
+ print STDERR " pass in a searchpath A:B:C:A:B:E it will print A:B:C:E to\n";
+ print STDERR " the stdout\n";
+ print STDERR " the parameters you gave were: ";
+ for ( $i = 0; $i <= $#ARGV; $i++ ) {
+ print STDERR " $ARGV[$i]\n";
+ }
+ exit ;
}
@@ -43,38 +43,38 @@ $newpath="";
if ( $ARGV[0] eq '-d' ) {
- if ( $#ARGV != 2 ) {
- usage;
- }
- $delimiter = $ARGV[1];
- $searchpath = $ARGV[2];
+ if ( $#ARGV != 2 ) {
+ usage;
+ }
+ $delimiter = $ARGV[1];
+ $searchpath = $ARGV[2];
} else {
- if ( $#ARGV != 0 ) {
- usage;
- }
- $searchpath = $ARGV[0];
+ if ( $#ARGV != 0 ) {
+ usage;
+ }
+ $searchpath = $ARGV[0];
}
@pathcomponents=split($delimiter, $searchpath);
for ( $i = 0; $i <= $#pathcomponents; $i++ ) {
- $found=0;
- for ( $j = 0; $j < $i; $j++ ) {
- if ( $pathcomponents[$j] eq $pathcomponents[$i] ) {
- #print "$i and $j match - $pathcomponents[$i] - $pathcomponents[$j]\n";
- $found=1;
- last;
- }
- }
- if ( $found == 0 ) {
- #print "$pathcomponents[$i]:";
- if ($i == 0) {
- $newpath = $pathcomponents[$i];
- } else {
- $newpath=join($delimiter, $newpath,$pathcomponents[$i]);
- }
- }
+ $found=0;
+ for ( $j = 0; $j < $i; $j++ ) {
+ if ( $pathcomponents[$j] eq $pathcomponents[$i] ) {
+ #print "$i and $j match - $pathcomponents[$i] - $pathcomponents[$j]\n";
+ $found=1;
+ last;
+ }
+ }
+ if ( $found == 0 ) {
+ #print "$pathcomponents[$i]:";
+ if ($i == 0) {
+ $newpath = $pathcomponents[$i];
+ } else {
+ $newpath=join($delimiter, $newpath,$pathcomponents[$i]);
+ }
+ }
}
print "$newpath\n";
exit;
diff --git a/security/nss/tests/qa_stat b/security/nss/tests/qa_stat
index 7805a6d42..d54390802 100755
--- a/security/nss/tests/qa_stat
+++ b/security/nss/tests/qa_stat
@@ -4,23 +4,23 @@
# /u/sonmi/bin/qa_stat - /u/svbld/bin/init/nss/qa_stat
#
# this script is supposed to automatically run QA for NSS on all required
-# Unix platforms
+# Unix platforms - warning - will not run on Windows
#
# parameters
# ----------
-# nssversion (supported: 30b, 31, tip)
-# builddate (default - today)
+# nssversion (supported: 30b, 31, tip)
+# builddate (default - today)
#
# options
# -------
-# -y answer all questions with y - use at your own risk...ignores warnings
-# -s silent (only usefull with -y)
-# -h, -? - you guessed right - displays this text
-# -d debug
-# -f <filename> - write the (error)output to filename
-# -m <mailinglist> - send filename to mailinglist (csl) only useful
-# with -f
-# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.qa_stat
+# -y answer all questions with y - use at your own risk...ignores warnings
+# -s silent (only usefull with -y)
+# -h, -? - you guessed right - displays this text
+# -d debug
+# -f <filename> - write the (error)output to filename
+# -m <mailinglist> - send filename to mailinglist (csl) only useful
+# with -f
+# -cron equivalient to -y -s -d -f $RESULTDIR/$HOST.qa_stat
#
########################################################################
@@ -33,12 +33,50 @@ EARLY_EXIT=TRUE
DOCDIR=/u/sonmi/doc
+# this file is used to deal with hanging rsh - a new shell is started
+# for each rsh, and a function is called after it is finished - they
+# communicate with this file
+RSH_FILE=$TMP/rsh.$$
+echo >$RSH_FILE
+TMPFILES="$TMPFILES $RSH_FILE"
+RSH_WAIT_TIME=60 #maximum time allowed for the 2 rsh to finish...
+
Debug "NTDIST $NTDIST"
Debug "UXDIST $UXDIST"
Debug "TESTSCRIPTDIR $TESTSCRIPTDIR"
Debug "RESULTDIR $RESULTDIR"
-############################### find_qa_systems ##########################
+############################### watch_rsh ##############################
+# local shell function, deals with a hanging rsh (kills it...)
+# this function is started as a backgroundprocess before the rsh is started,
+# and writes info to the RSH_FILE, after the rsh is finished it writes finish
+# info to the same file (this time called as a function, forground).
+# the backgroundprocess stays around for RSH_WAIT_TIME, if then the finish
+# information is not there attempts to kill the rsh
+#
+# watch_rsh start qa_computername &
+# watch_rsh stop qa_computername
+#
+########################################################################
+watch_rsh()
+{
+ case $1 in
+ start)
+ echo "$2 started" >>$RSH_FILE
+ sleep $RSH_WAIT_TIME
+ O_ALWAYS_YES=ON # may modify global flags because this is a
+ # forked off bg process - kill_by_name otherwise
+ # will ask the user if it really should be killed
+ grep "$2 finished" $RSH_FILE >/dev/null || kill_by_name "rsh $2"
+ exit
+ ;;
+ stop)
+ echo "$2 finished" >>$RSH_FILE
+ ;;
+ esac
+}
+
+############################### find_qa_systems ########################
# local shell function, tries to determine the QA operating system
########################################################################
find_qa_systems()
@@ -53,107 +91,109 @@ find_qa_systems()
for w in `ls $RESULTDIR | grep \.1$ | sed -e "s/\..*//" | sort -u`
do
- NO_RSH="FALSE"
- QA_OS=""
- QA_RHVER=""
- IS_64=""
- IS_WIN=""
-
- grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa && NO_RSH=TRUE
-
- if [ $NO_RSH = "TRUE" ]
- then
- grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \
- -e "s/WINDOWS-OS-LINE:_Windows/${w}/g" >>$TMP_PLATFORMLIST_FILE
- grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \
- -e "s/WINDOWS-OS-LINE:_Windows/${w}/g"
- else
- QA_SYS=`rsh $w uname -sr`
- echo $QA_SYS | grep Linux && QA_RHVER=`rsh $w cat /etc/redhat-release`
- if [ -n "$QA_RHVER" ]
- then
- QA_OS=`echo $w $QA_RHVER | sed -e "s/Red Hat /RH /" \
- -e "s/ release//"`
- else
- case $QA_SYS in
- *SunOS*5.8*)
- IS_64=`rsh $w isainfo -v | grep 64 >/dev/null && \
- echo 64 bit`
- if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
- ;;
- *HP*)
- IS_64=`rsh $w getconf KERNEL_BITS | grep 64 >/dev/null && \
- echo 64 bit`
- if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
- ;;
- *AIX*)
- IS_64=`rsh $w lslpp -l | grep "bos.64bit"> /dev/null && \
- echo 64 bit`
- if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
- ;;
- esac
- QA_OS=`echo "$w $QA_SYS $IS_64"`
- fi
- echo $QA_OS
- echo $QA_OS | sed -e "s/ /_/g" >>$TMP_PLATFORMLIST_FILE # use later for
- # missing list
- fi
+ NO_RSH="FALSE"
+ QA_OS=""
+ QA_RHVER=""
+ IS_64=""
+ IS_WIN=""
+
+ grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa && NO_RSH=TRUE
+
+ if [ "$NO_RSH" = "TRUE" ]
+ then
+ grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \
+ -e "s/WINDOWS-OS-LINE:_Windows/${w}/g" >>$TMP_PLATFORMLIST_FILE
+ grep WINDOWS-OS-LINE ${RESULTDIR}/${w}.nssqa | sed -e "s/ /_/g" \
+ -e "s/WINDOWS-OS-LINE:_Windows/${w}/g"
+ else
+ watch_rsh start $w &
+ QA_SYS=`rsh $w uname -sr`
+ echo $QA_SYS | grep Linux && QA_RHVER=`rsh $w cat /etc/redhat-release`
+ if [ -n "$QA_RHVER" ]
+ then
+ QA_OS=`echo $w $QA_RHVER | sed -e "s/Red Hat /RH /" \
+ -e "s/ release//"`
+ else
+ case $QA_SYS in
+ *SunOS*5.8*)
+ IS_64=`rsh $w isainfo -v | grep 64 >/dev/null && \
+ echo 64 bit`
+ if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
+ ;;
+ *HP*)
+ IS_64=`rsh $w getconf KERNEL_BITS | grep 64 >/dev/null && \
+ echo 64 bit`
+ if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
+ ;;
+ *AIX*)
+ IS_64=`rsh $w lslpp -l | grep "bos.64bit"> /dev/null && \
+ echo 64 bit`
+ if [ -z "$IS_64" ] ; then IS_64="32 bit"; fi;
+ ;;
+ esac
+ watch_rsh stop $w
+ QA_OS=`echo "$w $QA_SYS $IS_64"`
+ fi
+ echo $QA_OS
+ echo $QA_OS | sed -e "s/ /_/g" >>$TMP_PLATFORMLIST_FILE # use later for
+ # missing list
+ fi
done
}
################################### set_files ##########################
# local shell function, sets the name of the resultfile to:
-# <filename> if option -f <filename>
-# $RESULTDIR/result if write permission
-# (mozilla/tests_results/security/result)
-# $HOME/resultNSS${NSSVER}-${BUILDDATE} if no write permission in $RESULTDIR
+# <filename> if option -f <filename>
+# $RESULTDIR/result if write permission
+# (mozilla/tests_results/security/result)
+# $HOME/resultNSS${NSSVER}-${BUILDDATE} if no write permission in $RESULTDIR
########################################################################
set_files()
{
- if [ $O_FILE = ON -a $O_CRON = OFF ] # if -f was specified write there
- then
- RFILE=$FILENAME
- else
- RFILE=${RESULTDIR}/result
- #RFILE=${RESULTDIR}/result.$$
- if [ ! -w $RESULTDIR ]
- then
- RFILE=$HOME/resultNSS${NSSVER}-${BUILDDATE}
- Debug "Using alternate resultfile $RFILE"
- elif [ $O_CRON = ON ]
- then
- find ${RESULTDIR} -exec chmod a+rw {} \; #FIXME - umask
- #doesn't seem to work - this is a tmp workaround
- fi
-
- if [ ! -x $RESULTDIR -o ! -r $RESULTDIR -o ! -w $RESULTDIR ]
- then
- glob_usage "$RESULTDIR does not have the right permissions `ls -l $RESULTDIR`"
- fi
- if [ -d $RESULTDIR ]
- then
- cd $RESULTDIR
- else
- glob_usage "$RESULTDIR does not exist"
- fi
- fi
- TMP_E_FILE=${RFILE}.E$$
- TMP_P_FILE=${RFILE}.P$$
- TMP_PLATFORMLIST_FILE=${RFILE}.platform.$$
- rm $TMP_PLATFORMLIST_FILE 2>/dev/null
- TMP_PERF_FILE=${RFILE}.perf.$$
- HTML_FILE=${RFILE}.html
- TMPFILES="$TMPFILES $TMP_E_FILE $TMP_P_FILE"
+ if [ $O_FILE = ON -a $O_CRON = OFF ] # if -f was specified write there
+ then
+ RFILE=$FILENAME
+ else
+ RFILE=${RESULTDIR}/result
+ #RFILE=${RESULTDIR}/result.$$
+ if [ ! -w $RESULTDIR ]
+ then
+ RFILE=$HOME/resultNSS${NSSVER}-${BUILDDATE}
+ Debug "Using alternate resultfile $RFILE"
+ elif [ $O_CRON = ON ]
+ then
+ find ${RESULTDIR} -exec chmod a+rw {} \; #FIXME - umask
+ #doesn't seem to work - this is a tmp workaround
+ fi
+
+ if [ ! -x $RESULTDIR -o ! -r $RESULTDIR -o ! -w $RESULTDIR ]
+ then
+ glob_usage "$RESULTDIR does not have the right permissions `ls -l $RESULTDIR`"
+ fi
+ if [ -d $RESULTDIR ]
+ then
+ cd $RESULTDIR
+ else
+ glob_usage "$RESULTDIR does not exist"
+ fi
+ fi
+ TMP_E_FILE=${RFILE}.E$$
+ TMP_P_FILE=${RFILE}.P$$
+ TMP_PLATFORMLIST_FILE=${RFILE}.platform.$$
+ rm $TMP_PLATFORMLIST_FILE 2>/dev/null
+ TMP_PERF_FILE=${RFILE}.perf.$$
+ HTML_FILE=${RFILE}.html
+ TMPFILES="$TMPFILES $TMP_E_FILE $TMP_P_FILE"
#FIXME rm the rest too - add them to the TMPFILES
- FILENAME=$RFILE #we might want to mail it...later switch to html file
- O_FILE="ON"
- rm $HTML_FILE $RFILE $TMP_E_FILE $TMP_P_FILE 2>/dev/null
- cp $DOCDIR/QAheader.html $HTML_FILE
+ FILENAME=$RFILE #we might want to mail it...later switch to html file
+ O_FILE="ON"
+ rm $HTML_FILE $RFILE $TMP_E_FILE $TMP_P_FILE 2>/dev/null
+ cp $DOCDIR/QAheader.html $HTML_FILE
}
################################# html_eot #########################
# local shell function, writes end of the html table
-########################################################################
+####################################################################
html_eot()
{
echo '</table>'
@@ -161,7 +201,7 @@ echo '</table>'
################################# html_footer #########################
# local shell function, writes end of the html body
-########################################################################
+#######################################################################
html_footer()
{
@@ -175,41 +215,41 @@ echo '</html>'
########################################################################
setQAsysvars()
{
- if [ "$MACHINE" != "0" ]
- then
- TESTDATE=`ls -ld $MACHINE | awk '{ print $5, $6, $7 }'`
- TESTNUMBER=`echo $MACHINE | sed -e 's/.*\.//'`
- SYSNAME=`echo $MACHINE | sed -e 's/\..*//'`
- Debug "SYSNAME= $SYSNAME"
- QA_SYS_OS=`grep $SYSNAME $TMP_PLATFORMLIST_FILE |sed -e 's/ //' | \
- sort | uniq | sed -e "s/$SYSNAME//" \
- -e "s/WINNT_WIN95/Windows NT/" \
- -e "s/WINNT_WINNT/Windows NT/" \
- -e "s/Windows_NT_WIN95/Windows NT/" \
- -e "s/Windows_NT_WINNT/Windows NT/" | sort | uniq`
- Debug "QA_SYS_OS= $QA_SYS_OS"
- fi
- BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' -e 's/_DBG/ Debug/' \
- -e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
- -e 's/_/ /'`
- Debug "BUILD_SYS=$BUILD_SYS"
- if [ -f "${RESULTDIR}/${MACHINE}/results.html" ]
- then
- RESULT="http://cindercone${RESULTDIR}/${MACHINE}/results.html"
- Debug "RESULT=$RESULT"
- else
+ if [ "$MACHINE" != "0" ]
+ then
+ TESTDATE=`ls -ld $MACHINE | awk '{ print $5, $6, $7 }'`
+ TESTNUMBER=`echo $MACHINE | sed -e 's/.*\.//'`
+ SYSNAME=`echo $MACHINE | sed -e 's/\..*//'`
+ Debug "SYSNAME= $SYSNAME"
+ QA_SYS_OS=`grep $SYSNAME $TMP_PLATFORMLIST_FILE |sed -e 's/ //' | \
+ sort | uniq | sed -e "s/$SYSNAME//" \
+ -e "s/WINNT_WIN95/Windows NT/" \
+ -e "s/WINNT_WINNT/Windows NT/" \
+ -e "s/Windows_NT_WIN95/Windows NT/" \
+ -e "s/Windows_NT_WINNT/Windows NT/" | sort | uniq`
+ Debug "QA_SYS_OS= $QA_SYS_OS"
+ fi
+ BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' -e 's/_DBG/ Debug/' \
+ -e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
+ -e 's/_/ /'`
+ Debug "BUILD_SYS=$BUILD_SYS"
+ if [ -f "${RESULTDIR}/${MACHINE}/results.html" ]
+ then
+ RESULT="http://cindercone${RESULTDIR}/${MACHINE}/results.html"
+ Debug "RESULT=$RESULT"
+ else
RESULT="0"
Debug "no resultfile"
- fi
-
- if [ -f "${RESULTDIR}/${MACHINE}/output.log" ]
- then
- LOG="http://cindercone${RESULTDIR}/${MACHINE}/output.log"
- Debug "LOG=$LOG"
- else
- LOG="0"
- Debug "no logfile"
- fi
+ fi
+
+ if [ -f "${RESULTDIR}/${MACHINE}/output.log" ]
+ then
+ LOG="http://cindercone${RESULTDIR}/${MACHINE}/output.log"
+ Debug "LOG=$LOG"
+ else
+ LOG="0"
+ Debug "no logfile"
+ fi
}
HTML_ERRORCOLOR=\"#FF0000\"
@@ -225,47 +265,46 @@ HTML_PASSEDMSG=Passed
########################################################################
html_line()
{
-echo '<tr NOSAVE>'
-echo '<td NOSAVE>'$BUILD_SYS'</td>'
-echo ''
-echo '<td NOSAVE>'$QA_SYS_OS'</td>'
-echo ''
-echo '<td>'$SYSNAME'</td>'
-#echo '<td>'$SYSNAME $TESTNUMBER $TESTDATE'</td>'
-echo ''
-if [ "$1" = "failed" ]
-then
- echo '<td BGCOLOR='$HTML_ERRORCOLOR' NOSAVE><b>'$HTML_ERRORMSG'</b></td>'
-elif [ "$1" = "passed" ]
-then
- echo '<td BGCOLOR='$HTML_PASSEDCOLOR' NOSAVE>'$HTML_PASSEDMSG'</td>'
-else
- echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
-fi
-
-if [ "$RESULT" = "0" ]
-then
- echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
-else
- echo '<td>&nbsp;<a href="'$RESULT'">result</a>&nbsp;</td>'
-fi
-echo ''
-if [ "$LOG" = "0" ]
-then
- echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
-else
- echo '<td>&nbsp;<a href="'$LOG'">log</a>&nbsp;</td>'
-fi
-echo ''
-if [ "$1" = "failed" ]
-then
- echo '<td>&nbsp;<a href="#errorlist">error</a>&nbsp;</td>'
-else
- echo '<td></td>'
-fi
-echo '<td>'$TESTDATE $TESTNUMBER'</td>'
-echo '</tr>'
-
+ echo '<tr NOSAVE>'
+ echo '<td NOSAVE>'$BUILD_SYS'</td>'
+ echo ''
+ echo '<td NOSAVE>'$QA_SYS_OS'</td>'
+ echo ''
+ echo '<td>'$SYSNAME'</td>'
+ #echo '<td>'$SYSNAME $TESTNUMBER $TESTDATE'</td>'
+ echo ''
+ if [ "$1" = "failed" ]
+ then
+ echo '<td BGCOLOR='$HTML_ERRORCOLOR' NOSAVE><b>'$HTML_ERRORMSG'</b></td>'
+ elif [ "$1" = "passed" ]
+ then
+ echo '<td BGCOLOR='$HTML_PASSEDCOLOR' NOSAVE>'$HTML_PASSEDMSG'</td>'
+ else
+ echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
+ fi
+
+ if [ "$RESULT" = "0" ]
+ then
+ echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
+ else
+ echo '<td>&nbsp;<a href="'$RESULT'">result</a>&nbsp;</td>'
+ fi
+ echo ''
+ if [ "$LOG" = "0" ]
+ then
+ echo '<td BGCOLOR='$HTML_MISSINGCOLOR' NOSAVE>'$HTML_MISSINGMSG'</td>'
+ else
+ echo '<td>&nbsp;<a href="'$LOG'">log</a>&nbsp;</td>'
+ fi
+ echo ''
+ if [ "$1" = "failed" ]
+ then
+ echo '<td>&nbsp;<a href="#errorlist">error</a>&nbsp;</td>'
+ else
+ echo '<td></td>'
+ fi
+ echo '<td>'$TESTDATE $TESTNUMBER'</td>'
+ echo '</tr>'
}
################################# qa_errorlist #########################
@@ -273,65 +312,65 @@ echo '</tr>'
########################################################################
qa_errorlist()
{
- if [ "$1" = "1" ]
- then
- echo " R e s u l t E r r o r l i s t"
- lline
- fi
-
- #FIXME it should also examine the files for passed messages, since
- #sometimes empty results and output.log files are generated
- grep red */results.html |
- sed -e 's/.results.html:<TR><TD>/ /' -e 's/<[^>]*>/ /g'
- if [ "$1" = "1" ]
- then
- lline
- echo " O u t p u t E r r o r / W a r n i n g l i s t"
- lline
- fi
-
- grep 'cache hits; .* cache misses, .* cache not reusable' */output.log |
- grep -v selfserv |
- grep -v '0 cache hits; 1 cache misses, 0 cache not reusable' |
- grep -v '0 cache hits; 0 cache misses, 0 cache not reusable' |
- grep -v ' cache hits; 1 cache misses, 0 cache not reusable'
- #grep -v '999 cache hits; 1 cache misses, 0 cache not reusable'
-
- if [ "$1" = "1" ]
- then
- lline
- echo " C o r e l i s t "
- lline
- fi
-
- find . -name core -print 2>/dev/null
+ if [ "$1" = "1" ]
+ then
+ echo " R e s u l t E r r o r l i s t"
+ lline
+ fi
+
+ #FIXME it should also examine the files for passed messages, since
+ #sometimes empty results and output.log files are generated
+ grep red */results.html |
+ sed -e 's/.results.html:<TR><TD>/ /' -e 's/<[^>]*>/ /g'
+ if [ "$1" = "1" ]
+ then
+ lline
+ echo " O u t p u t E r r o r / W a r n i n g l i s t"
+ lline
+ fi
+
+ grep 'cache hits; .* cache misses, .* cache not reusable' */output.log |
+ grep -v selfserv |
+ grep -v '0 cache hits; 1 cache misses, 0 cache not reusable' |
+ grep -v '0 cache hits; 0 cache misses, 0 cache not reusable' |
+ grep -v ' cache hits; 1 cache misses, 0 cache not reusable'
+ #grep -v '999 cache hits; 1 cache misses, 0 cache not reusable'
+
+ if [ "$1" = "1" ]
+ then
+ lline
+ echo " C o r e l i s t "
+ lline
+ fi
+
+ find . -name core -print 2>/dev/null
}
platformlist()
{
- lline
- echo " P l a t f o r m l i s t "
-
- grep Platform */results.html |
- sed -e 's/.results.html:<H4>Platform:/ /' \
- -e 's/<BR>//' |
- while read MACHINE BUILDPLATFORM
- do
- grep $MACHINE $1 >/dev/null
- ret=$?
- setQAsysvars
- if [ $ret -eq 0 ]
- then
- echo "Failed $MACHINE $BUILDPLATFORM"
- html_line failed >>$HTML_FILE
- #echo "1 $MACHINE $BUILDPLATFORM Failed 2"
- else
- echo "Passed $MACHINE $BUILDPLATFORM"
- html_line passed >>$HTML_FILE
- #echo "1 $MACHINE $BUILDPLATFORM passed 2"
- fi
- done
+ lline
+ echo " P l a t f o r m l i s t "
+
+ grep Platform */results.html |
+ sed -e 's/.results.html:<H4>Platform:/ /' \
+ -e 's/<BR>//' |
+ while read MACHINE BUILDPLATFORM
+ do
+ grep $MACHINE $1 >/dev/null
+ ret=$?
+ setQAsysvars
+ if [ $ret -eq 0 ]
+ then
+ echo "Failed $MACHINE $BUILDPLATFORM"
+ html_line failed >>$HTML_FILE
+ #echo "1 $MACHINE $BUILDPLATFORM Failed 2"
+ else
+ echo "Passed $MACHINE $BUILDPLATFORM"
+ html_line passed >>$HTML_FILE
+ #echo "1 $MACHINE $BUILDPLATFORM passed 2"
+ fi
+ done
}
@@ -340,89 +379,89 @@ platformlist()
########################################################################
check_platforms()
{
- #lline
- #echo " M i s s i n g P l a t f o r m s"
- #lline
- QA_MISSING="QA report missing"
- MACHINE="0"
-
- for BUILDPLATFORM in `cat $TESTSCRIPTDIR/platformlist`
- do
- grep $BUILDPLATFORM $TMP_PLATFORMLIST_FILE > /dev/null || {
- echo "$BUILDPLATFORM not tested: $QA_MISSING" >>$TMP_P_FILE
- setQAsysvars
- html_line missing >>$HTML_FILE
-
-
- }
- done
+ #lline
+ #echo " M i s s i n g P l a t f o r m s"
+ #lline
+ QA_MISSING="QA report missing"
+ MACHINE="0"
+
+ for BUILDPLATFORM in `cat $TESTSCRIPTDIR/platformlist`
+ do
+ grep $BUILDPLATFORM $TMP_PLATFORMLIST_FILE > /dev/null || {
+ echo "$BUILDPLATFORM not tested: $QA_MISSING" >>$TMP_P_FILE
+ setQAsysvars
+ html_line missing >>$HTML_FILE
+
+
+ }
+ done
}
lline()
{
- echo
- echo "------------------------------------------------------------------"
- echo
+ echo
+ echo "------------------------------------------------------------------"
+ echo
}
header()
{
- lline
- echo "QA results for NSS $NSSVER builddate $QAYEAR $BUILDDATE "
- echo "today's date `date`"
- lline
- echo "testing in $RESULTDIR"
+ lline
+ echo "QA results for NSS $NSSVER builddate $QAYEAR $BUILDDATE "
+ echo "today's date `date`"
+ lline
+ echo "testing in $RESULTDIR"
}
rsaperf()
{
- grep RSAPERF */output.log | grep -v "_DBG" > $TMP_PERF_FILE
-
+ grep RSAPERF */output.log | grep -v "_DBG" > $TMP_PERF_FILE
+
+ echo '&nbsp;'
+ echo '<br>&nbsp;'
+ echo '<center>'
+ echo '<h1>'
+ echo '<a NAME="Performance list"></a>Performance list</h1></center>'
echo '&nbsp;'
- echo '<br>&nbsp;'
- echo '<center>'
- echo '<h1>'
- echo '<a NAME="Performance list"></a>Performance list</h1></center>'
- echo '&nbsp;'
- echo '<table BORDER WIDTH="100%" NOSAVE >'
- echo '<tr NOSAVE>'
- echo '<td NOSAVE><b><font size=+1>Build-OS and version</font></b></td>'
- echo ''
- echo '<td><b><font size=+1>Systemname</font></b></td>'
- echo ''
- echo '<td><b><font size=+1># of iterations</font></b></td>'
- echo ''
- echo '<td><b><font size=+1>average for one op</font></b></td>'
- echo ''
- echo '<td><b><font size=+1>Total</font></b></td>'
- echo ''
- echo '<td><b><font size=+1>QA time / #</font></b></td>'
- echo '</tr>'
- cat $TMP_PERF_FILE | while read MACHINE BUILDPLATFORM no_iter t1 t2 total total_unit t3 t4 t5 average average_unit
- do
- BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' \
- -e 's/_DBG/ Debug/' \
- -e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
- -e 's/_/ /'`
- TESTNUMBER=`echo $MACHINE | sed -e 's/[^\.]*\.//' -e 's/\/.*//'`
- MACHINE=`echo $MACHINE | sed -e 's/\..*//'`
- TESTDATE=`ls -ld ${MACHINE}.${TESTNUMBER} | awk '{ print $5, $6, $7 }'`
- echo '<tr>'
- echo '<td>'$BUILD_SYS'</td>'
- echo ''
- echo '<td>'$MACHINE'</td>'
- echo ''
- echo '<td>'$no_iter'</td>'
- echo ''
- echo '<td>'$average' '$average_unit'</td>'
- echo ''
- echo '<td>'$total' '$total_unit'</td>'
- echo ''
- echo '<td>'$TESTDATE $TESTNUMBER'</td>'
- echo ''
- echo '</tr>'
- done
- echo '</table>'
+ echo '<table BORDER WIDTH="100%" NOSAVE >'
+ echo '<tr NOSAVE>'
+ echo '<td NOSAVE><b><font size=+1>Build-OS and version</font></b></td>'
+ echo ''
+ echo '<td><b><font size=+1>Systemname</font></b></td>'
+ echo ''
+ echo '<td><b><font size=+1># of iterations</font></b></td>'
+ echo ''
+ echo '<td><b><font size=+1>average for one op</font></b></td>'
+ echo ''
+ echo '<td><b><font size=+1>Total</font></b></td>'
+ echo ''
+ echo '<td><b><font size=+1>QA time / #</font></b></td>'
+ echo '</tr>'
+ cat $TMP_PERF_FILE | while read MACHINE BUILDPLATFORM no_iter t1 t2 total total_unit t3 t4 t5 average average_unit
+ do
+ BUILD_SYS=`echo $BUILDPLATFORM | sed -e 's/\.OBJ//' \
+ -e 's/_DBG/ Debug/' \
+ -e 's/_OPT/ Optimized/' -e 's/_64/ 64bit/' -e 's/_glibc_PTH//' \
+ -e 's/_/ /'`
+ TESTNUMBER=`echo $MACHINE | sed -e 's/[^\.]*\.//' -e 's/\/.*//'`
+ MACHINE=`echo $MACHINE | sed -e 's/\..*//'`
+ TESTDATE=`ls -ld ${MACHINE}.${TESTNUMBER} | awk '{ print $5, $6, $7 }'`
+ echo '<tr>'
+ echo '<td>'$BUILD_SYS'</td>'
+ echo ''
+ echo '<td>'$MACHINE'</td>'
+ echo ''
+ echo '<td>'$no_iter'</td>'
+ echo ''
+ echo '<td>'$average' '$average_unit'</td>'
+ echo ''
+ echo '<td>'$total' '$total_unit'</td>'
+ echo ''
+ echo '<td>'$TESTDATE $TESTNUMBER'</td>'
+ echo ''
+ echo '</tr>'
+ done
+ echo '</table>'
}
set_files
@@ -455,5 +494,5 @@ qa_errorlist 2 | sed -e "s/^/<br>/" >>$HTML_FILE
html_footer >>$HTML_FILE
EARLY_EXIT=FALSE
-FILENAME=$HTML_FILE #we might want to mail it...
+FILENAME=$HTML_FILE #we might want to mail it...
Exit
diff --git a/security/nss/tests/qaclean b/security/nss/tests/qaclean
index 90b513236..b05ae4ad6 100755
--- a/security/nss/tests/qaclean
+++ b/security/nss/tests/qaclean
@@ -7,9 +7,9 @@
# is supposed to clean up after a "hanging" QA
#
# 1) see if there is a lockfile
-# if yes:
-# 1a) kill the process of the lockfile and if possible it's children
-# 1b) rm the lockfile
+# if yes:
+# 1a) kill the process of the lockfile and if possible it's children
+# 1b) rm the lockfile
# 2) kill selfservers
# 3) clean up old tmp files
#
@@ -46,11 +46,11 @@ Ps()
Kill()
{
- if [ "$1" = "$$" ]
- then
- return
- fi
- echo "Killing PID $1"
+ if [ "$1" = "$$" ]
+ then
+ return
+ fi
+ echo "Killing PID $1"
kill $1
sleep 1
kill -9 $1 2>/dev/null
@@ -62,12 +62,12 @@ Kill()
########################################################################
kill_by_name()
{
- echo "Killing all $1"
+ echo "Killing all $1"
for PID in `Ps | grep "$1" | grep -v grep | \
- sed -e "s/^[ ]*//g" -e "s/[ ].*//"`
+ sed -e "s/^[ ]*//g" -e "s/[ ].*//"`
do
- Kill $PID
+ Kill $PID
done
}
@@ -76,14 +76,14 @@ kill_the_rest()
i=0
while [ $i -lt $1 ]
do
- kill_by_name nssqa
- kill_by_name selfserv
- kill_by_name strsclnt
- kill_by_name all.sh
- kill_by_name sdr.sh
- kill_by_name ssl.sh
- kill_by_name smime.sh
- i=`expr $i + 1`
+ kill_by_name nssqa
+ kill_by_name selfserv
+ kill_by_name strsclnt
+ kill_by_name all.sh
+ kill_by_name sdr.sh
+ kill_by_name ssl.sh
+ kill_by_name smime.sh
+ i=`expr $i + 1`
done
}
@@ -91,26 +91,26 @@ nt_warning()
{
os_name=`uname -s`
case $os_name in
- CYGWIN*|WIN*|Win*)
- echo
- echo
- echo
- echo "Another Windows problem... If you have not already done so"
- echo "after this script completes, please reboot, and log in as"
- echo "user svbld again"
- echo
- echo
- echo
- ;;
+ CYGWIN*|WIN*|Win*)
+ echo
+ echo
+ echo
+ echo "Another Windows problem... If you have not already done so"
+ echo "after this script completes, please reboot, and log in as"
+ echo "user svbld again"
+ echo
+ echo
+ echo
+ ;;
esac
}
nt_warning
case $1 in
- ?*)
- rsh $1 '/u/sonmi/bin/qaclean'
- exit
- ;;
+ ?*)
+ rsh $1 '/u/sonmi/bin/qaclean'
+ exit
+ ;;
esac
uname -a
@@ -118,14 +118,15 @@ echo
if [ -f ${TMP}/nssqa.* ]
then
- echo "nssqa seems to be running ${TMP}/nssqa.*"
- #cat ${TMP}/nssqa.*
- NSSQA_PID=`ls ${TMP}/nssqa.* | sed -e 's/[^.]*\.//'`
- Kill $NSSQA_PID
- rm ${TMP}/nssqa.*
+ echo "nssqa seems to be running ${TMP}/nssqa.*"
+ #cat ${TMP}/nssqa.*
+ NSSQA_PID=`ls ${TMP}/nssqa.* | sed -e 's/[^.]*\.//'`
+ Kill $NSSQA_PID
+ rm ${TMP}/nssqa.*
fi
kill_the_rest 3
+ls -l ${TMP}/nsstmp.*
rm ${TMP}/nsstmp.* 2>/dev/null
rm ${TMP}/certutilout.* 2>/dev/null
nt_warning
diff --git a/security/nss/tests/set_environment b/security/nss/tests/set_environment
index 7f08a4a2c..13dedabc4 100644
--- a/security/nss/tests/set_environment
+++ b/security/nss/tests/set_environment
@@ -5,7 +5,7 @@
# /u/sonmi/bin/set_environment
#
# sourced from the header if running from cron to get the full environment
-# to run nssqa - also used to unify all nssqa environments
+# to run nssqa - also used to unify all nssqa environments
#
# This is derived from the .cshrc file for the svbld account.
#
@@ -13,7 +13,7 @@
if [ -z "$HOME" ]
then
- HOME=/u/svbld
+ HOME=/u/svbld
fi
if [ -z "$QASCRIPT_DIR" ]
then
@@ -22,6 +22,7 @@ fi
#FIXME - where do we need the OLDPATH
+
OLDPATH="$PATH"
PATH=.:$HOME/bin:/tools/ns/bin:/bin:/usr/bin:/usr/sbin:/usr/ccs/bin:/usr/dist/local/exe:/usr/bin/X11:/usr/audio/bin:/u/sonmi/bin:$PATH
@@ -33,7 +34,7 @@ os_full=""
if [ -f /u/svbld/bin/nsarch ]
then
- os_full=`/u/svbld/bin/nsarch -f` #FIXME
+ os_full=`/u/svbld/bin/nsarch -f` #FIXME
fi
MANPATH=/usr/share/man:/usr/openwin/man:/usr/local/man
@@ -43,64 +44,64 @@ export CVSROOT HOME os_name os_version os_full MANPATH
if [ $os_name = "HP-UX" ]
then
- PATH=$PATH:/usr/local/bin:/opt/aCC/bin:/usr/local/bin/audio:/tools/ns/bin:/etc:/usr/contrib/bin:/usr/contrib/bin/X11:/usr/local/hpux/bin:/nfs/iapp1/hphome/bin:/etc
+ PATH=$PATH:/usr/local/bin:/opt/aCC/bin:/usr/local/bin/audio:/tools/ns/bin:/etc:/usr/contrib/bin:/usr/contrib/bin/X11:/usr/local/hpux/bin:/nfs/iapp1/hphome/bin:/etc
elif [ $os_name = "SunOS" ]
then
- XAPPLRESDIR=/usr/openwin/lib/app-defaults:/usr/local/lib/X11/app-defaults
- OPENWINHOME=/usr/openwin
- LD_LIBRARY_PATH=$OPENWINHOME/lib
- PATH=/tools/ns/bin:$PATH:/opt/SUNWspro/bin:/usr/bin/X11:/usr/openwin/bin:/usr/openwin/demo
- if [ $os_version = "5.8" -o $os_version = "5.7" ]
- then
- PATH=$PATH:/tools/ns/workshop-5.0/bin
- else
- PATH=$PATH:/tools/ns/workshop-4.0/bin
- fi
- PATH=$PATH:/usr/ccs/bin:/usr/ucb/bin:/opt/SUNWwabi/bin:/usr/local/bin:/tools/ns/bin:/etc:/tools/contrib/bin
- PATH=/usr/ucb:/h/tortoise/export/share/builds/tools/sparc_sun_solaris2.5.1/perl5.004/bin:$PATH
- export XAPPLRESDIR OPENWINHOME LD_LIBRARY_PATH
+ XAPPLRESDIR=/usr/openwin/lib/app-defaults:/usr/local/lib/X11/app-defaults
+ OPENWINHOME=/usr/openwin
+ LD_LIBRARY_PATH=$OPENWINHOME/lib
+ PATH=/tools/ns/bin:$PATH:/opt/SUNWspro/bin:/usr/bin/X11:/usr/openwin/bin:/usr/openwin/demo
+ if [ $os_version = "5.8" -o $os_version = "5.7" ]
+ then
+ PATH=$PATH:/tools/ns/workshop-5.0/bin
+ else
+ PATH=$PATH:/tools/ns/workshop-4.0/bin
+ fi
+ PATH=$PATH:/usr/ccs/bin:/usr/ucb/bin:/opt/SUNWwabi/bin:/usr/local/bin:/tools/ns/bin:/etc:/tools/contrib/bin
+ PATH=/usr/ucb:/h/tortoise/export/share/builds/tools/sparc_sun_solaris2.5.1/perl5.004/bin:$PATH
+ export XAPPLRESDIR OPENWINHOME LD_LIBRARY_PATH
elif [ $os_name = "IRIX" ]
then
- PATH=$PATH:/tools/ns/bin:/usr/local/bin:/etc:/usr/bsd
- MANPATH=/tools/ns/man:/usr/local/man
+ PATH=$PATH:/tools/ns/bin:/usr/local/bin:/etc:/usr/bsd
+ MANPATH=/tools/ns/man:/usr/local/man
elif [ $os_name = "IRIX64" ]
then
- PATH=$PATH:/tools/ns/bin:/usr/local/bin:/etc:/usr/bsd
- MANPATH=/tools/ns/man:/usr/local/man
+ PATH=$PATH:/tools/ns/bin:/usr/local/bin:/etc:/usr/bsd
+ MANPATH=/tools/ns/man:/usr/local/man
elif [ $os_name = "Linux" ]
then
- PATH=/lib:/usr/lib:/bin:/sbin:/usr/bin:/usr/sbin:$PATH
+ PATH=/lib:/usr/lib:/bin:/sbin:/usr/bin:/usr/sbin:$PATH
elif [ $os_name = "AIX" ]
then
- PATH=$PATH:/tools/contrib/bin:/usr/local/bin
- TERM=vt100
- export TERM
+ PATH=$PATH:/tools/contrib/bin:/usr/local/bin
+ TERM=vt100
+ export TERM
elif [ $os_name = "OSF1" ]
then
- PATH=/h/tortoise/export/share/builds/tools/alpha_dec_osf4.0/perl5.004/bin:$PATH:/usr/local/bin
+ PATH=/h/tortoise/export/share/builds/tools/alpha_dec_osf4.0/perl5.004/bin:$PATH:/usr/local/bin
fi
if [ "$os_full" = "HPUX 11.00" ]
then
- PATH=/h/tortoise/export/share/builds/tools/hppa1.1_hp_hpux11.00/perl5.004/bin:$PATH
+ PATH=/h/tortoise/export/share/builds/tools/hppa1.1_hp_hpux11.00/perl5.004/bin:$PATH
elif [ "$os_full" = "HPUX 10.10" ]
then
- PATH=/h/tortoise/export/share/builds/tools/hppa1.1_hp_hpux10.10/perl5.004/bin:$PATH
+ PATH=/h/tortoise/export/share/builds/tools/hppa1.1_hp_hpux10.10/perl5.004/bin:$PATH
elif [ "$os_full" = "AIX 4.1.4.0" ]
then
- PATH=/h/tortoise/export/share/builds/tools/rs6000_ibm_aix3.2.5/perl5.004/bin:$PATH
+ PATH=/h/tortoise/export/share/builds/tools/rs6000_ibm_aix3.2.5/perl5.004/bin:$PATH
elif [ "$os_full" = "AIX 4.1.5.0" ]
then
- PATH=/h/tortoise/export/share/builds/tools/rs6000_ibm_aix3.2.5/perl5.004/bin:$PATH
+ PATH=/h/tortoise/export/share/builds/tools/rs6000_ibm_aix3.2.5/perl5.004/bin:$PATH
elif [ "$os_full" = "AIX 4.2.1.0" ]
then
- PATH=/h/tortoise/export/share/builds/tools/rs6000_ibm_aix4.1/perl5.004/bin:$PATH
+ PATH=/h/tortoise/export/share/builds/tools/rs6000_ibm_aix4.1/perl5.004/bin:$PATH
elif [ "$os_name" = "IRIX" ]
then
- PATH=/tools/ns-arch/soft/perl-5.004_04/run/default/mips_sgi_irix5.3/bin:$PATH
+ PATH=/tools/ns-arch/soft/perl-5.004_04/run/default/mips_sgi_irix5.3/bin:$PATH
elif [ "$os_name" = "IRIX64" ]
then
- PATH=/tools/ns-arch/soft/perl-5.004_04/run/default/mips_sgi_irix5.3/bin:$PATH
+ PATH=/tools/ns-arch/soft/perl-5.004_04/run/default/mips_sgi_irix5.3/bin:$PATH
fi
O_CYGNUS=OFF
@@ -108,62 +109,62 @@ O_MKS=OFF
O_WIN=OFF
if [ "$os_name" = "CYGWIN_NT-4.0" -o \
- "$os_name" = "CYGWIN_NT-5.0" -o \
- "$os_name" = "CYGWIN_95-4.0" -o \
- "$os_name" = "CYGWIN_98-4.10" ]
-then
- #FIXME net use, mount the neccessary pnetwork drives and partitiones first
- #FIXME - take MKS out of the PATH
- os_full=$os_name
- os_name="Windows"
- O_CYGNUS=ON
- O_WIN=ON
- OLDPATH=`echo "$OLDPATH" | sed -e 's/\\\/\//g'`
- PATH="`dirname $0`:.:/cygdrive/c/cygwin/bin:/cygdrive/z/nstools/bin:/cygdrive/z/nstools/perl5:/cygdrive/z/bin:/cygdrive/c/WINNT/System32:/cygdrive/c/WINNT"
+ "$os_name" = "CYGWIN_NT-5.0" -o \
+ "$os_name" = "CYGWIN_95-4.0" -o \
+ "$os_name" = "CYGWIN_98-4.10" ]
+then
+ #FIXME net use, mount the neccessary pnetwork drives and partitiones first
+ #FIXME - take MKS out of the PATH
+ os_full=$os_name
+ os_name="Windows"
+ O_CYGNUS=ON
+ O_WIN=ON
+ OLDPATH=`echo "$OLDPATH" | sed -e 's/\\\/\//g'`
+ PATH="`dirname $0`:.:/cygdrive/c/cygwin/bin:/cygdrive/z/nstools/bin:/cygdrive/z/nstools/perl5:/cygdrive/z/bin:/cygdrive/c/WINNT/System32:/cygdrive/c/WINNT"
#:$OLDPATH:
- RM=/cygdrive/c/cygwin/bin/rm.exe #FIXME - in case we cant cporrect
- #these with the PATH alone
- PATH=`perl $QASCRIPT_DIR/path_uniq "$PATH"`
+ RM=/cygdrive/c/cygwin/bin/rm.exe #FIXME - in case we cant cporrect
+ #these with the PATH alone
+ PATH=`perl $QASCRIPT_DIR/path_uniq "$PATH"`
elif [ "$os_name" = "Windows_95" -o \
- "$os_name" = "Windows_NT" -o \
- "$os_name" = "WINNT" -o \
- "$os_name" = "Windows_98" ]
-then
- #FIXME net use, mount the neccessary pnetwork drives and partitiones first
- #OLDPATH=`echo "$OLDPATH" | sed -e 's/\\\/\//g'` FIXME - MKS shell
- # interprets \bin as <backspace>in...
- PATH=`echo $SHELL | sed -e "s/.ksh.exe//g" -e "s/.sh.exe//g"`
- PATH="Z:/nstools/bin;Z:/nstools/perl5;z:/bin;$PATH"
-
- if [ "$os_name" = "Windows_NT" -o \
- "$os_name" = "WINNT" ]
- then
- PATH="${PATH};C:/WINNT/System32;C:/WINNT;.;"
- fi
- PATH="`dirname $0`;$PATH"
-
- PATH=`perl $QASCRIPT_DIR/path_uniq -d ';' "$PATH"`
- echo $PATH
- os_full=$os_name
- os_name="Windows"
- O_MKS=ON
- O_WIN=ON
-
+ "$os_name" = "Windows_NT" -o \
+ "$os_name" = "WINNT" -o \
+ "$os_name" = "Windows_98" ]
+then
+ #FIXME net use, mount the neccessary pnetwork drives and partitiones first
+ #OLDPATH=`echo "$OLDPATH" | sed -e 's/\\\/\//g'` FIXME - MKS shell
+ # interprets \bin as <backspace>in...
+ PATH=`echo $SHELL | sed -e "s/.ksh.exe//g" -e "s/.sh.exe//g"`
+ PATH="Z:/nstools/bin;Z:/nstools/perl5;z:/bin;$PATH"
+
+ if [ "$os_name" = "Windows_NT" -o \
+ "$os_name" = "WINNT" ]
+ then
+ PATH="${PATH};C:/WINNT/System32;C:/WINNT;.;"
+ fi
+ PATH="`dirname $0`;$PATH"
+
+ PATH=`perl $QASCRIPT_DIR/path_uniq -d ';' "$PATH"`
+ echo $PATH
+ os_full=$os_name
+ os_name="Windows"
+ O_MKS=ON
+ O_WIN=ON
+
else
- EDITOR=vi
- EMACSLOADPATH=/u/svbld/emacs
- PYTHONPATH=.:/tools/ns/lib/python1.4
- PAGER=less
- XMCD_LIBDIR=/usr/local/lib/xmcd
- DISPLAY=:0.0
- PATH=`perl $QASCRIPT_DIR/path_uniq "$PATH"`
+ EDITOR=vi
+ EMACSLOADPATH=/u/svbld/emacs
+ PYTHONPATH=.:/tools/ns/lib/python1.4
+ PAGER=less
+ XMCD_LIBDIR=/usr/local/lib/xmcd
+ DISPLAY=:0.0
+ PATH=`perl $QASCRIPT_DIR/path_uniq "$PATH"`
fi
-BASEPATH=$PATH # in case we we set and reset DIST directories the PATH
- # needs to change accordingly
+BASEPATH=$PATH # in case we we set and reset DIST directories the PATH
+ # needs to change accordingly
export PATH EDITOR EMACSLOADPATH PYTHONPATH PAGER XMCD_LIBDIR DISPLAY MANPATH os_full os_name BASEPATH
umask 022
-system=`uname -n` # name of this system.
+system=`uname -n` # name of this system.