summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjulien.pierre.bugs%sun.com <devnull@localhost>2005-11-15 00:34:39 +0000
committerjulien.pierre.bugs%sun.com <devnull@localhost>2005-11-15 00:34:39 +0000
commit8bb7331b62bc9c3cbbf80274e9d164de9caa2119 (patch)
treed2273cc03d41d9d7b53d0a39310f64702c8d65c2
parent71488fac4553afc6f2c293b963f1ee86f35e9fe4 (diff)
downloadnss-hg-8bb7331b62bc9c3cbbf80274e9d164de9caa2119.tar.gz
Fix for bug 232604. don't open DBs in user's directory in shlibsign. r=nelson
-rw-r--r--security/nss/cmd/shlibsign/shlibsign.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/security/nss/cmd/shlibsign/shlibsign.c b/security/nss/cmd/shlibsign/shlibsign.c
index 28d7c7f8a..701803def 100644
--- a/security/nss/cmd/shlibsign/shlibsign.c
+++ b/security/nss/cmd/shlibsign/shlibsign.c
@@ -155,6 +155,7 @@ main (int argc, char **argv)
int keySize = 1024;
PQGParams *pqgParams = NULL;
PQGVerify *pqgVerify = NULL;
+ char* nssDir = NULL;
#ifdef USES_LINKS
int ret;
struct stat stat_buf;
@@ -187,7 +188,7 @@ main (int argc, char **argv)
#endif
case 'd':
- SECU_ConfigDirectory(optstate->value);
+ nssDir = optstate->value;
break;
case 'i':
@@ -214,10 +215,15 @@ main (int argc, char **argv)
*/
PK11_SetPasswordFunc(SECU_GetModulePassword);
- rv = NSS_Init(SECU_ConfigDirectory(NULL));
- if (rv != SECSuccess) {
- rv = NSS_NoDB_Init("");
+ if (nssDir) {
+ rv = NSS_Init(nssDir);
+ if (rv != SECSuccess) {
+ rv = NSS_NoDB_Init("");
+ }
+ } else {
+ rv = NSS_NoDB_Init("");
}
+
if (rv != SECSuccess) {
lperror("NSS_Init failed");
goto prdone;