Fixes for F28 switch to sqlite as the default NSS database type
- Patch to fix NSS handling of keys in sqlite databases - Patches to fix tests now that sqlite is the NSS default. Also fix building in rawhide due to packaging changes - Remove BR on mktemp. It is now provided by coreutils.
This commit is contained in:
parent
3987281325
commit
6155daa274
@ -0,0 +1,63 @@
|
||||
From 3cb710fbea245476a49af77d670fedb35bba16de Mon Sep 17 00:00:00 2001
|
||||
From: Rob Crittenden <rcritten@redhat.com>
|
||||
Date: Tue, 9 Jan 2018 22:07:17 -0500
|
||||
Subject: [PATCH 1/6] Perm issues in sqlite databases show up in slightly
|
||||
different ways
|
||||
|
||||
SQLite databases may return SEC_ERROR_READ_ONLY instead of
|
||||
SEC_ERROR_BAD_DATABASE.
|
||||
|
||||
If a database is opened as read-write but it fails (e.g. in a
|
||||
read-only directory) it will try again to open it as read-only
|
||||
and potentially fail because it doesn't exist at all. This sets
|
||||
errno as ENOENT rather than the expected EACCES so treat that
|
||||
as a read failure as well.
|
||||
|
||||
Related: https://pagure.io/certmonger/issue/88
|
||||
---
|
||||
src/certsave-n.c | 5 ++++-
|
||||
src/keygen-n.c | 6 +++++-
|
||||
2 files changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/certsave-n.c b/src/certsave-n.c
|
||||
index 67deb88b..a2c97000 100644
|
||||
--- a/src/certsave-n.c
|
||||
+++ b/src/certsave-n.c
|
||||
@@ -128,10 +128,13 @@ cm_certsave_n_main(int fd, struct cm_store_ca *ca, struct cm_store_entry *entry,
|
||||
NSS_INIT_NOMODDB);
|
||||
ec = PORT_GetError();
|
||||
if (ctx == NULL) {
|
||||
- if ((ec == SEC_ERROR_BAD_DATABASE) && readwrite) {
|
||||
+ if ((ec == SEC_ERROR_READ_ONLY) && readwrite) {
|
||||
+ ec = PR_NO_ACCESS_RIGHTS_ERROR;
|
||||
+ } else if ((ec == SEC_ERROR_BAD_DATABASE) && readwrite) {
|
||||
switch (errno) {
|
||||
case EACCES:
|
||||
case EPERM:
|
||||
+ case ENOENT:
|
||||
ec = PR_NO_ACCESS_RIGHTS_ERROR;
|
||||
break;
|
||||
default:
|
||||
diff --git a/src/keygen-n.c b/src/keygen-n.c
|
||||
index 08f00496..8078a520 100644
|
||||
--- a/src/keygen-n.c
|
||||
+++ b/src/keygen-n.c
|
||||
@@ -169,10 +169,14 @@ cm_keygen_n_main(int fd, struct cm_store_ca *ca, struct cm_store_entry *entry,
|
||||
NSS_INIT_NOMODDB);
|
||||
ec = PORT_GetError();
|
||||
if (ctx == NULL) {
|
||||
- if ((ec == SEC_ERROR_BAD_DATABASE) && readwrite) {
|
||||
+ if ((ec == SEC_ERROR_READ_ONLY) && readwrite) {
|
||||
+ ec = PR_NO_ACCESS_RIGHTS_ERROR;
|
||||
+ }
|
||||
+ else if ((ec == SEC_ERROR_BAD_DATABASE) && readwrite) {
|
||||
switch (errno) {
|
||||
case EACCES:
|
||||
case EPERM:
|
||||
+ case ENOENT:
|
||||
ec = PR_NO_ACCESS_RIGHTS_ERROR;
|
||||
break;
|
||||
default:
|
||||
--
|
||||
2.15.1
|
||||
|
@ -0,0 +1,52 @@
|
||||
From f1b7eeceef117606c060f61542754f5556739469 Mon Sep 17 00:00:00 2001
|
||||
From: Rob Crittenden <rcritten@redhat.com>
|
||||
Date: Tue, 9 Jan 2018 22:13:49 -0500
|
||||
Subject: [PATCH 2/6] SQLite databases require a password to modify trust and
|
||||
to sign
|
||||
|
||||
This affects certutil -M and cmsutil -S. Need to add -f pinfile.
|
||||
|
||||
https://pagure.io/certmonger/issue/88
|
||||
---
|
||||
tests/030-rekey/run.sh | 16 ++++++++--------
|
||||
1 file changed, 8 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/tests/030-rekey/run.sh b/tests/030-rekey/run.sh
|
||||
index 9b50da4a..07fea683 100755
|
||||
--- a/tests/030-rekey/run.sh
|
||||
+++ b/tests/030-rekey/run.sh
|
||||
@@ -140,11 +140,11 @@ for preserve in 1 0 ; do
|
||||
|
||||
echo "This is the plaintext." > plain.txt
|
||||
echo "NSS Signing:"
|
||||
- certutil -M -d $tmpdir -n i$size -t P,P,P
|
||||
- cmsutil -S -d $tmpdir -f pinfile -N i$size -i plain.txt -o signed
|
||||
+ certutil -M -d $tmpdir -n i$size -t P,P,P -f pinfile
|
||||
+ cmsutil -S -d $tmpdir -f pinfile -N i$size -i plain.txt -o signed -f pinfile
|
||||
echo "NSS Verify:"
|
||||
- cmsutil -D -d $tmpdir -f pinfile -i signed
|
||||
- certutil -M -d $tmpdir -n i$size -t ,,
|
||||
+ cmsutil -D -d $tmpdir -f pinfile -i signed -f pinfile
|
||||
+ certutil -M -d $tmpdir -n i$size -t ,, -f pinfile
|
||||
|
||||
# Go and save the new certs and keys (NSS).
|
||||
echo '(saving)'
|
||||
@@ -163,11 +163,11 @@ for preserve in 1 0 ; do
|
||||
|
||||
echo "This is the plaintext." > plain.txt
|
||||
echo "NSS Signing:"
|
||||
- certutil -M -d $tmpdir -n i$size -t P,P,P
|
||||
- cmsutil -S -d $tmpdir -f pinfile -N i$size -i plain.txt -o signed
|
||||
+ certutil -M -d $tmpdir -n i$size -t P,P,P -f pinfile
|
||||
+ cmsutil -S -d $tmpdir -f pinfile -N i$size -i plain.txt -o signed -f pinfile
|
||||
echo "NSS Verify:"
|
||||
- cmsutil -D -d $tmpdir -f pinfile -i signed
|
||||
- certutil -M -d $tmpdir -n i$size -t ,,
|
||||
+ cmsutil -D -d $tmpdir -f pinfile -i signed -f pinfile
|
||||
+ certutil -M -d $tmpdir -n i$size -t ,, -f pinfile
|
||||
|
||||
# Now generate new keys, CSRs, and certificates (OpenSSL).
|
||||
echo "PEM keys before re-keygen (preserve=$preserve,pin=\"$pin\"):"
|
||||
--
|
||||
2.15.1
|
||||
|
405
0003-NSS-in-rawhide-F28-was-switched-to-sqlite-fix-assump.patch
Normal file
405
0003-NSS-in-rawhide-F28-was-switched-to-sqlite-fix-assump.patch
Normal file
@ -0,0 +1,405 @@
|
||||
From 0cfefe50373cd5f7da5b49f1a1380ba8b5baf825 Mon Sep 17 00:00:00 2001
|
||||
From: Rob Crittenden <rcritten@redhat.com>
|
||||
Date: Tue, 9 Jan 2018 22:14:53 -0500
|
||||
Subject: [PATCH 3/6] NSS in rawhide (F28) was switched to sqlite, fix
|
||||
assumptions
|
||||
|
||||
Previous releases of NSS had dbm as the default storage type.
|
||||
Certain assumptions were built into the tests. Make the default
|
||||
scheme more explicit, leaving it as dbm for now.
|
||||
|
||||
https://pagure.io/certmonger/issue/88
|
||||
---
|
||||
tests/007-certsave-dbm/expected.out | 4 ++--
|
||||
tests/007-certsave/expected.out | 4 ++--
|
||||
tests/007-certsave/run.sh | 47 +++++++++++++++++++------------------
|
||||
tests/025-casave/run.sh | 36 ++++++++++++++--------------
|
||||
tests/034-perms/expected.out | 36 ++++++++++++++--------------
|
||||
tests/034-perms/run.sh | 2 ++
|
||||
6 files changed, 66 insertions(+), 63 deletions(-)
|
||||
|
||||
diff --git a/tests/007-certsave-dbm/expected.out b/tests/007-certsave-dbm/expected.out
|
||||
index e0978c66..ed6b4ede 100644
|
||||
--- a/tests/007-certsave-dbm/expected.out
|
||||
+++ b/tests/007-certsave-dbm/expected.out
|
||||
@@ -37,7 +37,7 @@ Testing setting trust to C,c,p:
|
||||
wrong nickname, right subject: cert ,,
|
||||
wrong subject, right nickname: cert ,,
|
||||
[nss:rosubdir]
|
||||
-Failed to save (NSS:${tmpdir}/rosubdir), filesystem permissions error.
|
||||
+Failed to save (NSS:dbm:${tmpdir}/rosubdir), filesystem permissions error.
|
||||
[nss:rwsubdir]
|
||||
-Failed to save (NSS:${tmpdir}/rwsubdir), filesystem permissions error.
|
||||
+Failed to save (NSS:dbm:${tmpdir}/rwsubdir), filesystem permissions error.
|
||||
Test complete.
|
||||
diff --git a/tests/007-certsave/expected.out b/tests/007-certsave/expected.out
|
||||
index e0978c66..ed6b4ede 100644
|
||||
--- a/tests/007-certsave/expected.out
|
||||
+++ b/tests/007-certsave/expected.out
|
||||
@@ -37,7 +37,7 @@ Testing setting trust to C,c,p:
|
||||
wrong nickname, right subject: cert ,,
|
||||
wrong subject, right nickname: cert ,,
|
||||
[nss:rosubdir]
|
||||
-Failed to save (NSS:${tmpdir}/rosubdir), filesystem permissions error.
|
||||
+Failed to save (NSS:dbm:${tmpdir}/rosubdir), filesystem permissions error.
|
||||
[nss:rwsubdir]
|
||||
-Failed to save (NSS:${tmpdir}/rwsubdir), filesystem permissions error.
|
||||
+Failed to save (NSS:dbm:${tmpdir}/rwsubdir), filesystem permissions error.
|
||||
Test complete.
|
||||
diff --git a/tests/007-certsave/run.sh b/tests/007-certsave/run.sh
|
||||
index bea8341a..29b02152 100755
|
||||
--- a/tests/007-certsave/run.sh
|
||||
+++ b/tests/007-certsave/run.sh
|
||||
@@ -2,8 +2,9 @@
|
||||
|
||||
cd "$tmpdir"
|
||||
|
||||
+scheme="${scheme:-dbm}"
|
||||
source "$srcdir"/functions
|
||||
-initnssdb ${scheme:+${scheme}:}$tmpdir
|
||||
+initnssdb $scheme:$tmpdir
|
||||
|
||||
wrongcert='-----BEGIN CERTIFICATE-----
|
||||
MIIDQTCCAimgAwIBAgIBBTANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDEwdwaWxs
|
||||
@@ -50,7 +51,7 @@ echo "$wrongcert" | sed -e 's,^$,,g' -e 's,^ ,,g' > cert.wrong
|
||||
echo "[nss:wrongnick]"
|
||||
cat > entry.nss << EOF
|
||||
cert_storage_type=NSSDB
|
||||
-cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=wrongnick
|
||||
cert=$cert
|
||||
EOF
|
||||
@@ -59,7 +60,7 @@ $toolsdir/certsave entry.nss
|
||||
echo "[nss:wrongcert]"
|
||||
cat > entry.nss << EOF
|
||||
cert_storage_type=NSSDB
|
||||
-cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=cert
|
||||
cert=$wrongcert
|
||||
EOF
|
||||
@@ -68,13 +69,13 @@ $toolsdir/certsave entry.nss
|
||||
echo "[nss:right]"
|
||||
cat > entry.nss << EOF
|
||||
cert_storage_type=NSSDB
|
||||
-cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=cert
|
||||
cert=$cert
|
||||
EOF
|
||||
$toolsdir/certsave entry.nss
|
||||
$toolsdir/listnicks entry.nss
|
||||
-certutil -d ${scheme:+${scheme}:}$tmpdir -L -n cert -a > cert.nss
|
||||
+certutil -d $scheme:$tmpdir -L -n cert -a > cert.nss
|
||||
# Save the wrong certificate to the PEM file.
|
||||
echo "[openssl:wrong]"
|
||||
cat > entry.openssl << EOF
|
||||
@@ -96,7 +97,7 @@ run_dos2unix cert.original
|
||||
run_dos2unix cert.nss
|
||||
run_dos2unix cert.openssl
|
||||
if ! cmp cert.original cert.nss ; then
|
||||
- echo Original and NSS disagree "(${scheme:+${scheme}:}$tmpdir)".
|
||||
+ echo Original and NSS disagree "($scheme:$tmpdir)".
|
||||
cat cert.original cert.nss
|
||||
exit 1
|
||||
fi
|
||||
@@ -137,62 +138,62 @@ $toolsdir/certsave entry.openssl || true
|
||||
for trust in ,, P,, ,P, CT,C, C,c,p ; do
|
||||
echo Testing setting trust to "$trust":
|
||||
# Save the right certificate to NSS's database and read it back.
|
||||
- initnssdb ${scheme:+${scheme}:}$tmpdir
|
||||
+ initnssdb $scheme:$tmpdir
|
||||
cat > entry.nss <<- EOF
|
||||
cert_storage_type=NSSDB
|
||||
- cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+ cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=cert
|
||||
cert=$cert
|
||||
EOF
|
||||
$toolsdir/certsave entry.nss
|
||||
- certutil -d ${scheme:+${scheme}:}$tmpdir -M -n cert -t $trust
|
||||
+ certutil -d $scheme:$tmpdir -M -n cert -t $trust
|
||||
echo -n " baseline: "
|
||||
- certutil -d ${scheme:+${scheme}:}$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
+ certutil -d $scheme:$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
$toolsdir/certsave entry.nss
|
||||
echo -n " right nickname, right subject: "
|
||||
- certutil -d ${scheme:+${scheme}:}$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
+ certutil -d $scheme:$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
# Save the right certificate to NSS's database with the wrong nickname.
|
||||
- initnssdb ${scheme:+${scheme}:}$tmpdir
|
||||
+ initnssdb $scheme:$tmpdir
|
||||
$toolsdir/certsave entry.nss
|
||||
cat > entry.nss <<- EOF
|
||||
cert_storage_type=NSSDB
|
||||
- cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+ cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=wrongnick
|
||||
cert=$cert
|
||||
EOF
|
||||
$toolsdir/certsave entry.nss
|
||||
- certutil -d ${scheme:+${scheme}:}$tmpdir -M -n wrongnick -t $trust
|
||||
+ certutil -d $scheme:$tmpdir -M -n wrongnick -t $trust
|
||||
# Save the right certificate to NSS's database and read it back.
|
||||
cat > entry.nss <<- EOF
|
||||
cert_storage_type=NSSDB
|
||||
- cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+ cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=cert
|
||||
cert=$cert
|
||||
EOF
|
||||
$toolsdir/certsave entry.nss
|
||||
echo -n " wrong nickname, right subject: "
|
||||
- certutil -d ${scheme:+${scheme}:}$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
+ certutil -d $scheme:$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
# Save the wrong certificate to NSS's database with the right nickname.
|
||||
- initnssdb ${scheme:+${scheme}:}$tmpdir
|
||||
+ initnssdb $scheme:$tmpdir
|
||||
$toolsdir/certsave entry.nss
|
||||
cat > entry.nss <<- EOF
|
||||
cert_storage_type=NSSDB
|
||||
- cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+ cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=cert
|
||||
cert=$wrongcert
|
||||
EOF
|
||||
$toolsdir/certsave entry.nss
|
||||
- certutil -d ${scheme:+${scheme}:}$tmpdir -M -n cert -t $trust
|
||||
+ certutil -d $scheme:$tmpdir -M -n cert -t $trust
|
||||
# Save the right certificate to NSS's database and read it back.
|
||||
cat > entry.nss <<- EOF
|
||||
cert_storage_type=NSSDB
|
||||
- cert_storage_location=${scheme:+${scheme}:}$tmpdir
|
||||
+ cert_storage_location=$scheme:$tmpdir
|
||||
cert_nickname=cert
|
||||
cert=$cert
|
||||
EOF
|
||||
$toolsdir/certsave entry.nss
|
||||
echo -n " wrong subject, right nickname: "
|
||||
- certutil -d ${scheme:+${scheme}:}$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
+ certutil -d $scheme:$tmpdir -L | grep cert | sed -r 's,[ \t]+, ,g'
|
||||
done
|
||||
|
||||
if test "$scheme" = sql ; then
|
||||
@@ -202,7 +203,7 @@ else
|
||||
echo "[nss:rosubdir]"
|
||||
cat > entry.nss <<- EOF
|
||||
cert_storage_type=NSSDB
|
||||
- cert_storage_location=$tmpdir/rosubdir
|
||||
+ cert_storage_location=$scheme:$tmpdir/rosubdir
|
||||
cert_nickname=cert
|
||||
cert=$cert
|
||||
EOF
|
||||
@@ -216,7 +217,7 @@ else
|
||||
echo "[nss:rwsubdir]"
|
||||
cat > entry.nss <<- EOF
|
||||
cert_storage_type=NSSDB
|
||||
- cert_storage_location=$tmpdir/rwsubdir
|
||||
+ cert_storage_location=$scheme:$tmpdir/rwsubdir
|
||||
cert_nickname=cert
|
||||
cert=$cert
|
||||
EOF
|
||||
diff --git a/tests/025-casave/run.sh b/tests/025-casave/run.sh
|
||||
index 44a08b06..aff1e6d9 100755
|
||||
--- a/tests/025-casave/run.sh
|
||||
+++ b/tests/025-casave/run.sh
|
||||
@@ -196,7 +196,7 @@ id=EntryD1
|
||||
root_cert_files=
|
||||
other_root_cert_files=
|
||||
other_cert_files=
|
||||
-root_cert_dbs=$tmpdir/db1,$tmpdir/dba
|
||||
+root_cert_dbs=dbm:$tmpdir/db1,dbm:$tmpdir/dba
|
||||
other_root_cert_dbs=
|
||||
other_cert_dbs=
|
||||
cert_roots=Per-certificate Signing Authority D1
|
||||
@@ -229,7 +229,7 @@ root_cert_files=
|
||||
other_root_cert_files=
|
||||
other_cert_files=
|
||||
root_cert_dbs=
|
||||
-other_root_cert_dbs=$tmpdir/db2,$tmpdir/dba
|
||||
+other_root_cert_dbs=dbm:$tmpdir/db2,dbm:$tmpdir/dba
|
||||
other_cert_dbs=
|
||||
EOF
|
||||
cat > $tmpdir/entryd3 <<- EOF
|
||||
@@ -239,7 +239,7 @@ other_root_cert_files=
|
||||
other_cert_files=
|
||||
root_cert_dbs=
|
||||
other_root_cert_dbs=
|
||||
-other_cert_dbs=$tmpdir/db3,$tmpdir/dba
|
||||
+other_cert_dbs=dbm:$tmpdir/db3,dbm:$tmpdir/dba
|
||||
cert_chain=Per-certificate Signing Authority D3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDjjCCAnagAwIBAgIRALuVK2FuXklPuMP4qtRyQjUwDQYJKoZIhvcNAQELBQAw
|
||||
@@ -300,7 +300,7 @@ ca_name=CAD1
|
||||
root_cert_files=
|
||||
other_root_cert_files=
|
||||
other_cert_files=
|
||||
-root_cert_dbs=$tmpdir/db1,$tmpdir/dba
|
||||
+root_cert_dbs=dbm:$tmpdir/db1,dbm:$tmpdir/dba
|
||||
other_root_cert_dbs=
|
||||
other_cert_dbs=
|
||||
EOF
|
||||
@@ -311,7 +311,7 @@ root_cert_files=
|
||||
other_root_cert_files=
|
||||
other_cert_files=
|
||||
root_cert_dbs=
|
||||
-other_root_cert_dbs=$tmpdir/db2,$tmpdir/dba
|
||||
+other_root_cert_dbs=dbm:$tmpdir/db2,dbm:$tmpdir/dba
|
||||
other_cert_dbs=
|
||||
EOF
|
||||
cat > $tmpdir/entrycad3 <<- EOF
|
||||
@@ -322,7 +322,7 @@ other_root_cert_files=
|
||||
other_cert_files=
|
||||
root_cert_dbs=
|
||||
other_root_cert_dbs=
|
||||
-other_cert_dbs=$tmpdir/db3,$tmpdir/dba
|
||||
+other_cert_dbs=dbm:$tmpdir/db3,dbm:$tmpdir/dba
|
||||
EOF
|
||||
|
||||
cat > $tmpdir/cab1 <<- EOF
|
||||
@@ -564,9 +564,9 @@ ca_external_helper=$tmpdir/no-such-helper.sh
|
||||
ca_root_cert_files=
|
||||
ca_other_root_cert_files=
|
||||
ca_other_cert_files=
|
||||
-ca_root_cert_dbs=$tmpdir/db1,$tmpdir/dba
|
||||
-ca_other_root_cert_dbs=$tmpdir/dba
|
||||
-ca_other_cert_dbs=$tmpdir/dba
|
||||
+ca_root_cert_dbs=dbm:$tmpdir/db1,dbm:$tmpdir/dba
|
||||
+ca_other_root_cert_dbs=dbm:$tmpdir/dba
|
||||
+ca_other_cert_dbs=dbm:$tmpdir/dba
|
||||
ca_root_certs=Root Certificate D1
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDdzCCAl+gAwIBAgIEAgAAuTANBgkqhkiG9w0BAQUFADBaMQswCQYDVQQGEwJJ
|
||||
@@ -639,9 +639,9 @@ ca_external_helper=$tmpdir/no-such-helper.sh
|
||||
ca_root_cert_files=
|
||||
ca_other_root_cert_files=
|
||||
ca_other_cert_files=
|
||||
-ca_root_cert_dbs=$tmpdir/dba
|
||||
-ca_other_root_cert_dbs=$tmpdir/db2,$tmpdir/dba
|
||||
-ca_other_cert_dbs=$tmpdir/dba
|
||||
+ca_root_cert_dbs=dbm:$tmpdir/dba
|
||||
+ca_other_root_cert_dbs=dbm:$tmpdir/db2,dbm:$tmpdir/dba
|
||||
+ca_other_cert_dbs=dbm:$tmpdir/dba
|
||||
ca_root_certs=Root Certificate D2
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEDzCCAvegAwIBAgIBATANBgkqhkiG9w0BAQUFADBKMQswCQYDVQQGEwJTSzET
|
||||
@@ -722,9 +722,9 @@ ca_external_helper=$tmpdir/no-such-helper.sh
|
||||
ca_root_cert_files=
|
||||
ca_other_root_cert_files=
|
||||
ca_other_cert_files=
|
||||
-ca_root_cert_dbs=,$tmpdir/dba
|
||||
-ca_other_root_cert_dbs=,$tmpdir/dba,
|
||||
-ca_other_cert_dbs=$tmpdir/db3,$tmpdir/dba
|
||||
+ca_root_cert_dbs=,dbm:$tmpdir/dba
|
||||
+ca_other_root_cert_dbs=,dbm:$tmpdir/dba,
|
||||
+ca_other_cert_dbs=dbm:$tmpdir/db3,dbm:$tmpdir/dba
|
||||
ca_root_certs=Root Certificate D3
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL
|
||||
@@ -796,9 +796,9 @@ ca_external_helper=$tmpdir/no-such-helper.sh
|
||||
ca_root_cert_files=$tmpdir/bundle-all
|
||||
ca_other_root_cert_files=
|
||||
ca_other_cert_files=
|
||||
-ca_root_cert_dbs=$tmpdir/dba
|
||||
-ca_other_root_cert_dbs=,$tmpdir/dba
|
||||
-ca_other_cert_dbs=,$tmpdir/dba
|
||||
+ca_root_cert_dbs=dbm:$tmpdir/dba
|
||||
+ca_other_root_cert_dbs=,dbm:$tmpdir/dba
|
||||
+ca_other_cert_dbs=,dbm:$tmpdir/dba
|
||||
ca_root_certs=Root Certificate DA
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDEL
|
||||
diff --git a/tests/034-perms/expected.out b/tests/034-perms/expected.out
|
||||
index 4e2fbd71..c062d409 100644
|
||||
--- a/tests/034-perms/expected.out
|
||||
+++ b/tests/034-perms/expected.out
|
||||
@@ -41,54 +41,54 @@ $owner:$group|0755|ee.key.MARKER.key
|
||||
$owner:$group|0662|ee.crt
|
||||
$owner:$group|0620|ee.key
|
||||
|
||||
-[start]
|
||||
-[keygen]
|
||||
+[dbm:start]
|
||||
+[dbm:keygen]
|
||||
$owner:$group|0600|cert8.db
|
||||
$owner:$group|0620|key3.db
|
||||
-[reset]
|
||||
+[dbm:reset]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[csrgen]
|
||||
+[dbm:csrgen]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0620|key3.db
|
||||
-[reset]
|
||||
+[dbm:reset]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[submit]
|
||||
+[dbm:submit]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[reset]
|
||||
+[dbm:reset]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[save]
|
||||
+[dbm:save]
|
||||
$owner:$group|0662|cert8.db
|
||||
$owner:$group|0620|key3.db
|
||||
-[rekey:start]
|
||||
-[rekey:keygen]
|
||||
+[rekey:dbm:start]
|
||||
+[rekey:dbm:keygen]
|
||||
$owner:$group|0600|cert8.db
|
||||
$owner:$group|0620|key3.db
|
||||
-[rekey:reset]
|
||||
+[rekey:dbm:reset]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[rekey:keygen]
|
||||
+[rekey:dbm:keygen]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0620|key3.db
|
||||
-[rekey:reset]
|
||||
+[rekey:dbm:reset]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[rekey:csrgen]
|
||||
+[rekey:dbm:csrgen]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0620|key3.db
|
||||
-[rekey:reset]
|
||||
+[rekey:dbm:reset]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[rekey:submit]
|
||||
+[rekey:dbm:submit]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[rekey:reset]
|
||||
+[rekey:dbm:reset]
|
||||
$owner:$group|0755|cert8.db
|
||||
$owner:$group|0755|key3.db
|
||||
-[rekey:save]
|
||||
+[rekey:dbm:save]
|
||||
$owner:$group|0662|cert8.db
|
||||
$owner:$group|0620|key3.db
|
||||
OK
|
||||
diff --git a/tests/034-perms/run.sh b/tests/034-perms/run.sh
|
||||
index 7f349d3b..88eae19f 100755
|
||||
--- a/tests/034-perms/run.sh
|
||||
+++ b/tests/034-perms/run.sh
|
||||
@@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
cd "$tmpdir"
|
||||
|
||||
+scheme="${scheme:-dbm:}"
|
||||
+
|
||||
function list() {
|
||||
$toolsdir/ls *.* | sed -e "s~^$owner:$group|~\$owner:\$group|~g"
|
||||
}
|
||||
--
|
||||
2.15.1
|
||||
|
@ -0,0 +1,48 @@
|
||||
From 19d70d9817a5d22d05ff990f354ddadb77cc05a6 Mon Sep 17 00:00:00 2001
|
||||
From: Rob Crittenden <rcritten@redhat.com>
|
||||
Date: Tue, 9 Jan 2018 22:18:58 -0500
|
||||
Subject: [PATCH 4/6] Workaround NSS bug in associating private key to
|
||||
certificate
|
||||
|
||||
If NSS uses SQL DB storage, CERT_ImportCerts creates incomplete
|
||||
internal state (the cert isn't associated with the private key,
|
||||
and calling PK11_FindKeyByAnyCert returns no result).
|
||||
|
||||
As a workaround, we import the cert again using PK11_ImportCert
|
||||
which magically fixes the issue.
|
||||
|
||||
See rhbz#1532188
|
||||
|
||||
Related: https://pagure.io/certmonger/issue/88
|
||||
---
|
||||
src/certsave-n.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/src/certsave-n.c b/src/certsave-n.c
|
||||
index a2c97000..8e15a18a 100644
|
||||
--- a/src/certsave-n.c
|
||||
+++ b/src/certsave-n.c
|
||||
@@ -474,6 +474,20 @@ cm_certsave_n_main(int fd, struct cm_store_ca *ca, struct cm_store_entry *entry,
|
||||
PR_FALSE,
|
||||
entry->cm_cert_nickname);
|
||||
ec = PORT_GetError();
|
||||
+ if (error == SECSuccess) {
|
||||
+ /* If NSS uses SQL DB storage, CERT_ImportCerts creates
|
||||
+ * an incomplete internal state (the cert isn't
|
||||
+ * associated with the private key, and calling
|
||||
+ * PK11_FindKeyByAnyCert returns no result).
|
||||
+ * As a workaround, we import the cert again using
|
||||
+ * PK11_ImportCert, which magically fixes the issue.
|
||||
+ * See rhbz#1532188 */
|
||||
+ error = PK11_ImportCert(PK11_GetInternalKeySlot(),
|
||||
+ returned[0],
|
||||
+ CK_INVALID_HANDLE,
|
||||
+ returned[0]->nickname,
|
||||
+ PR_FALSE);
|
||||
+ }
|
||||
if (error == SECSuccess) {
|
||||
cm_log(1, "Imported certificate \"%s\", got "
|
||||
"nickname \"%s\".\n",
|
||||
--
|
||||
2.15.1
|
||||
|
314
0005-Run-key-generation-tests-against-both-dbm-and-sqlite.patch
Normal file
314
0005-Run-key-generation-tests-against-both-dbm-and-sqlite.patch
Normal file
@ -0,0 +1,314 @@
|
||||
From 920572235f82eb3a88a3b8dd274f809baee31c67 Mon Sep 17 00:00:00 2001
|
||||
From: Rob Crittenden <rcritten@redhat.com>
|
||||
Date: Tue, 9 Jan 2018 22:54:06 -0500
|
||||
Subject: [PATCH 5/6] Run key generation tests against both dbm and sqlite
|
||||
databases
|
||||
|
||||
Related: https://pagure.io/certmonger/issue/88
|
||||
---
|
||||
tests/002-keygen-dbm/expected.out | 99 +++++++++++++++++++++++++++++++++++++++
|
||||
tests/002-keygen-dbm/run.sh | 2 +
|
||||
tests/002-keygen-sql/expected.out | 99 +++++++++++++++++++++++++++++++++++++++
|
||||
tests/002-keygen-sql/run.sh | 2 +
|
||||
tests/002-keygen/expected.out | 4 +-
|
||||
tests/002-keygen/run.sh | 12 +++--
|
||||
6 files changed, 211 insertions(+), 7 deletions(-)
|
||||
create mode 100644 tests/002-keygen-dbm/expected.out
|
||||
create mode 100755 tests/002-keygen-dbm/run.sh
|
||||
create mode 100644 tests/002-keygen-sql/expected.out
|
||||
create mode 100755 tests/002-keygen-sql/run.sh
|
||||
|
||||
diff --git a/tests/002-keygen-dbm/expected.out b/tests/002-keygen-dbm/expected.out
|
||||
new file mode 100644
|
||||
index 00000000..dcd1af06
|
||||
--- /dev/null
|
||||
+++ b/tests/002-keygen-dbm/expected.out
|
||||
@@ -0,0 +1,99 @@
|
||||
+[nss:1024]
|
||||
+OK.
|
||||
+OK (RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+keyi1024
|
||||
+keyi1024 (candidate (next))
|
||||
+[nss:1536]
|
||||
+OK.
|
||||
+OK (RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+keyi1536
|
||||
+keyi1536 (candidate (next))
|
||||
+[nss:2048]
|
||||
+OK.
|
||||
+OK (RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+keyi2048
|
||||
+keyi2048 (candidate (next))
|
||||
+[nss:3072]
|
||||
+OK.
|
||||
+OK (RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+keyi3072
|
||||
+keyi3072 (candidate (next))
|
||||
+[nss:4096]
|
||||
+OK.
|
||||
+OK (RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+keyi4096
|
||||
+keyi4096 (candidate (next))
|
||||
+[nss:rosubdir]
|
||||
+Failed to save NSS:dbm:${tmpdir}/rosubdir: need fs permissions.
|
||||
+[nss:rwsubdir]
|
||||
+Failed to save NSS:dbm:${tmpdir}/rwsubdir: need fs permissions.
|
||||
+[openssl:1024]
|
||||
+OK.
|
||||
+OK (RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+${tmpdir}/sample.1024
|
||||
+${tmpdir}/sample.1024.(next).key
|
||||
+[openssl:1536]
|
||||
+OK.
|
||||
+OK (RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+${tmpdir}/sample.1536
|
||||
+${tmpdir}/sample.1536.(next).key
|
||||
+[openssl:2048]
|
||||
+OK.
|
||||
+OK (RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+${tmpdir}/sample.2048
|
||||
+${tmpdir}/sample.2048.(next).key
|
||||
+[openssl:3072]
|
||||
+OK.
|
||||
+OK (RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+${tmpdir}/sample.3072
|
||||
+${tmpdir}/sample.3072.(next).key
|
||||
+[openssl:4096]
|
||||
+OK.
|
||||
+OK (RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+${tmpdir}/sample.4096
|
||||
+${tmpdir}/sample.4096.(next).key
|
||||
+[openssl:rosubdir]
|
||||
+Failed to save FILE:${tmpdir}/rosubdir/sample.4096: need fs permissions.
|
||||
+[openssl:rwsubdir]
|
||||
+Failed to save FILE:${tmpdir}/rwsubdir/sample.4096: need fs permissions.
|
||||
+Test complete.
|
||||
diff --git a/tests/002-keygen-dbm/run.sh b/tests/002-keygen-dbm/run.sh
|
||||
new file mode 100755
|
||||
index 00000000..36323947
|
||||
--- /dev/null
|
||||
+++ b/tests/002-keygen-dbm/run.sh
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/bash -e
|
||||
+exec env scheme=dbm: ../002-keygen/run.sh
|
||||
diff --git a/tests/002-keygen-sql/expected.out b/tests/002-keygen-sql/expected.out
|
||||
new file mode 100644
|
||||
index 00000000..178f1b3a
|
||||
--- /dev/null
|
||||
+++ b/tests/002-keygen-sql/expected.out
|
||||
@@ -0,0 +1,99 @@
|
||||
+[nss:1024]
|
||||
+OK.
|
||||
+OK (RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+keyi1024
|
||||
+keyi1024 (candidate (next))
|
||||
+[nss:1536]
|
||||
+OK.
|
||||
+OK (RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+keyi1536
|
||||
+keyi1536 (candidate (next))
|
||||
+[nss:2048]
|
||||
+OK.
|
||||
+OK (RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+keyi2048
|
||||
+keyi2048 (candidate (next))
|
||||
+[nss:3072]
|
||||
+OK.
|
||||
+OK (RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+keyi3072
|
||||
+keyi3072 (candidate (next))
|
||||
+[nss:4096]
|
||||
+OK.
|
||||
+OK (RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+keyi4096
|
||||
+keyi4096 (candidate (next))
|
||||
+[nss:rosubdir]
|
||||
+Failed to save NSS:sql:${tmpdir}/rosubdir: need fs permissions.
|
||||
+[nss:rwsubdir]
|
||||
+Failed to save NSS:sql:${tmpdir}/rwsubdir: need fs permissions.
|
||||
+[openssl:1024]
|
||||
+OK.
|
||||
+OK (RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+OK.
|
||||
+OK (RSA:1024 after RSA:1024).
|
||||
+${tmpdir}/sample.1024
|
||||
+${tmpdir}/sample.1024.(next).key
|
||||
+[openssl:1536]
|
||||
+OK.
|
||||
+OK (RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+OK.
|
||||
+OK (RSA:1536 after RSA:1536).
|
||||
+${tmpdir}/sample.1536
|
||||
+${tmpdir}/sample.1536.(next).key
|
||||
+[openssl:2048]
|
||||
+OK.
|
||||
+OK (RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+OK.
|
||||
+OK (RSA:2048 after RSA:2048).
|
||||
+${tmpdir}/sample.2048
|
||||
+${tmpdir}/sample.2048.(next).key
|
||||
+[openssl:3072]
|
||||
+OK.
|
||||
+OK (RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+OK.
|
||||
+OK (RSA:3072 after RSA:3072).
|
||||
+${tmpdir}/sample.3072
|
||||
+${tmpdir}/sample.3072.(next).key
|
||||
+[openssl:4096]
|
||||
+OK.
|
||||
+OK (RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+OK.
|
||||
+OK (RSA:4096 after RSA:4096).
|
||||
+${tmpdir}/sample.4096
|
||||
+${tmpdir}/sample.4096.(next).key
|
||||
+[openssl:rosubdir]
|
||||
+Failed to save FILE:${tmpdir}/rosubdir/sample.4096: need fs permissions.
|
||||
+[openssl:rwsubdir]
|
||||
+Failed to save FILE:${tmpdir}/rwsubdir/sample.4096: need fs permissions.
|
||||
+Test complete.
|
||||
diff --git a/tests/002-keygen-sql/run.sh b/tests/002-keygen-sql/run.sh
|
||||
new file mode 100755
|
||||
index 00000000..cd5bc978
|
||||
--- /dev/null
|
||||
+++ b/tests/002-keygen-sql/run.sh
|
||||
@@ -0,0 +1,2 @@
|
||||
+#!/bin/bash -e
|
||||
+exec env scheme=sql: ../002-keygen/run.sh
|
||||
diff --git a/tests/002-keygen/expected.out b/tests/002-keygen/expected.out
|
||||
index ff56372a..dcd1af06 100644
|
||||
--- a/tests/002-keygen/expected.out
|
||||
+++ b/tests/002-keygen/expected.out
|
||||
@@ -44,9 +44,9 @@ OK (RSA:4096 after RSA:4096).
|
||||
keyi4096
|
||||
keyi4096 (candidate (next))
|
||||
[nss:rosubdir]
|
||||
-Failed to save NSS:${tmpdir}/rosubdir: need fs permissions.
|
||||
+Failed to save NSS:dbm:${tmpdir}/rosubdir: need fs permissions.
|
||||
[nss:rwsubdir]
|
||||
-Failed to save NSS:${tmpdir}/rwsubdir: need fs permissions.
|
||||
+Failed to save NSS:dbm:${tmpdir}/rwsubdir: need fs permissions.
|
||||
[openssl:1024]
|
||||
OK.
|
||||
OK (RSA:1024).
|
||||
diff --git a/tests/002-keygen/run.sh b/tests/002-keygen/run.sh
|
||||
index f550feeb..08af1523 100755
|
||||
--- a/tests/002-keygen/run.sh
|
||||
+++ b/tests/002-keygen/run.sh
|
||||
@@ -2,15 +2,17 @@
|
||||
|
||||
cd "$tmpdir"
|
||||
|
||||
+scheme="${scheme:-dbm:}"
|
||||
+
|
||||
source "$srcdir"/functions
|
||||
-initnssdb "$tmpdir"
|
||||
+initnssdb "$scheme$tmpdir"
|
||||
|
||||
for size in 1024 1536 2048 3072 4096 ; do
|
||||
echo "[nss:$size]"
|
||||
# Generate a key.
|
||||
cat > entry.$size <<- EOF
|
||||
key_storage_type=NSSDB
|
||||
- key_storage_location=$tmpdir
|
||||
+ key_storage_location=$scheme$tmpdir
|
||||
key_nickname=keyi$size
|
||||
key_gen_size=$size
|
||||
EOF
|
||||
@@ -28,13 +30,13 @@ for size in 1024 1536 2048 3072 4096 ; do
|
||||
# Extract the marker.
|
||||
marker=`grep ^key_next_marker= entry.$size | cut -f2- -d=`
|
||||
# Make sure we're clean.
|
||||
- run_certutil -K -d "$tmpdir" | grep keyi$size | sed -e 's,.*keyi,keyi,' -e s,"${marker:-////////}","(next)",g | env LANG=C sort
|
||||
+ run_certutil -K -d "$scheme$tmpdir" | grep keyi$size | sed -e 's,.*keyi,keyi,' -e s,"${marker:-////////}","(next)",g | env LANG=C sort
|
||||
done
|
||||
|
||||
echo "[nss:rosubdir]"
|
||||
cat > entry.$size <<- EOF
|
||||
key_storage_type=NSSDB
|
||||
-key_storage_location=$tmpdir/rosubdir
|
||||
+key_storage_location=$scheme$tmpdir/rosubdir
|
||||
key_nickname=keyi$size
|
||||
key_gen_size=$size
|
||||
EOF
|
||||
@@ -43,7 +45,7 @@ $toolsdir/keygen entry.$size || true
|
||||
echo "[nss:rwsubdir]"
|
||||
cat > entry.$size <<- EOF
|
||||
key_storage_type=NSSDB
|
||||
-key_storage_location=$tmpdir/rwsubdir
|
||||
+key_storage_location=$scheme$tmpdir/rwsubdir
|
||||
key_nickname=keyi$size
|
||||
key_gen_size=$size
|
||||
EOF
|
||||
--
|
||||
2.15.1
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
Name: certmonger
|
||||
Version: 0.79.5
|
||||
Release: 2%{?dist}
|
||||
Release: 3%{?dist}
|
||||
Summary: Certificate status monitor and PKI enrollment client
|
||||
|
||||
Group: System Environment/Daemons
|
||||
@ -51,16 +51,15 @@ BuildRequires: libcurl-devel
|
||||
BuildRequires: curl-devel
|
||||
%endif
|
||||
BuildRequires: libxml2-devel, xmlrpc-c-devel
|
||||
%if 0%{?rhel} < 6
|
||||
%if 0%{?rhel} && 0%{?rhel} < 6
|
||||
BuildRequires: bind-libbind-devel
|
||||
BuildRequires: mktemp
|
||||
%endif
|
||||
# Required for 'make check':
|
||||
# for diff and cmp
|
||||
BuildRequires: diffutils
|
||||
# for expect
|
||||
BuildRequires: expect
|
||||
# for mktemp, which was absorbed into coreutils at some point
|
||||
BuildRequires: mktemp
|
||||
# for certutil and pk12util
|
||||
BuildRequires: nss-tools
|
||||
# for openssl
|
||||
@ -108,12 +107,24 @@ Requires(preun): /sbin/chkconfig, /sbin/service, dbus, sed
|
||||
Conflicts: libtevent < 0.9.13
|
||||
%endif
|
||||
|
||||
Patch1: 0001-Perm-issues-in-sqlite-databases-show-up-in-slightly-.patch
|
||||
Patch2: 0002-SQLite-databases-require-a-password-to-modify-trust-.patch
|
||||
Patch3: 0003-NSS-in-rawhide-F28-was-switched-to-sqlite-fix-assump.patch
|
||||
Patch4: 0004-Workaround-NSS-bug-in-associating-private-key-to-cer.patch
|
||||
Patch5: 0005-Run-key-generation-tests-against-both-dbm-and-sqlite.patch
|
||||
|
||||
%description
|
||||
Certmonger is a service which is primarily concerned with getting your
|
||||
system enrolled with a certificate authority (CA) and keeping it enrolled.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
|
||||
%if 0%{?rhel} > 0
|
||||
# Enabled by default for RHEL for bug #765600, still disabled by default for
|
||||
# Fedora pending a similar bug report there.
|
||||
@ -243,6 +254,11 @@ exit 0
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Wed Jan 10 2018 Rob Crittenden <rcritten@redhat.com> 0.79.5-3
|
||||
- Remove BR on mktemp. It is now provided by coreutils.
|
||||
- Patch to fix NSS handling of keys in sqlite databases
|
||||
- Patches to fix tests now that sqlite is the NSS default.
|
||||
|
||||
* Wed Oct 4 2017 Rob Crittenden <rcritten@redhat.com> 0.79.5-2
|
||||
- Switch BR from /usr/include/popt.h to popt-devel
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user