From 88cc77379351e43b0b748edbff536f0b3747960c Mon Sep 17 00:00:00 2001 From: songnannan Date: Tue, 14 Jan 2020 00:11:55 +0800 Subject: [PATCH] update to 113 --- ...e_integer-it-doesn-t-build-on-i686-a.patch | 72 --- 0002-Fix-command-line-parsing.patch | 73 --- ...gcc-don-t-error-on-stuff-in-includes.patch | 26 -- 0004-Fix-certficate-argument-name.patch | 39 -- ...ion-of-ascii-armor-option-in-manpage.patch | 26 -- ...ke-ascii-work-since-we-documented-it.patch | 22 - ...ient-to-also-accept-token-cert-macro.patch | 32 -- ...fy-with-the-cert-as-an-object-signer.patch | 25 -- ...sigcheck-make-certfile-actually-work.patch | 47 -- ...-make-sure-err-is-always-initialized.patch | 27 -- ...make-pesign-h-tell-you-the-file-name.patch | 26 -- 0012-Add-coverity-build-scripts.patch | 104 ----- 0013-Document-implicit-fallthrough.patch | 25 -- ...cl-each-directory-of-our-key-storage.patch | 50 --- ..._MODULE_SIGNING_ONLY-and-fix-our-arr.patch | 59 --- 0016-efikeygen-add-modsign.patch | 197 -------- ...y-even-harder-to-pick-a-reasonable-v.patch | 121 ----- 0018-show-which-db-we-re-checking.patch | 137 ------ 0019-more-about-the-time.patch | 97 ---- 0020-try-to-say-why-something-fails.patch | 419 ------------------ ...ix-race-condition-in-SEC_GetPassword.patch | 34 -- ...eate-the-socket-directory-at-runtime.patch | 27 -- ...-Better-authorization-scripts.-Again.patch | 217 --------- ...also-try-to-give-better-errors-on-EP.patch | 95 ---- 0025-certdb-fix-PRTime-printfs-for-i686.patch | 31 -- ...-Clean-up-gcc-command-lines-a-little.patch | 41 -- ...sign-users-groups-static-in-the-repo.patch | 54 --- ...ent-signer-use-the-fedora-values-unl.patch | 43 -- ...gn-error-in-kojibuilder-if-we-don-t-.patch | 39 -- pesign-0.112.tar.bz2 | Bin 90251 -> 0 bytes pesign-0.113.tar.gz | Bin 0 -> 124618 bytes pesign.spec | 50 +-- 32 files changed, 12 insertions(+), 2243 deletions(-) delete mode 100644 0001-cms-kill-generate_integer-it-doesn-t-build-on-i686-a.patch delete mode 100644 0002-Fix-command-line-parsing.patch delete mode 100644 0003-gcc-don-t-error-on-stuff-in-includes.patch delete mode 100644 0004-Fix-certficate-argument-name.patch delete mode 100644 0005-Fix-description-of-ascii-armor-option-in-manpage.patch delete mode 100644 0006-Make-ascii-work-since-we-documented-it.patch delete mode 100644 0007-Switch-pesign-client-to-also-accept-token-cert-macro.patch delete mode 100644 0008-pesigcheck-Verify-with-the-cert-as-an-object-signer.patch delete mode 100644 0009-pesigcheck-make-certfile-actually-work.patch delete mode 100644 0010-signerInfos-make-sure-err-is-always-initialized.patch delete mode 100644 0011-pesign-make-pesign-h-tell-you-the-file-name.patch delete mode 100644 0012-Add-coverity-build-scripts.patch delete mode 100644 0013-Document-implicit-fallthrough.patch delete mode 100644 0014-Actually-setfacl-each-directory-of-our-key-storage.patch delete mode 100644 0015-oid-add-SHIM_EKU_MODULE_SIGNING_ONLY-and-fix-our-arr.patch delete mode 100644 0016-efikeygen-add-modsign.patch delete mode 100644 0017-check_cert_db-try-even-harder-to-pick-a-reasonable-v.patch delete mode 100644 0018-show-which-db-we-re-checking.patch delete mode 100644 0019-more-about-the-time.patch delete mode 100644 0020-try-to-say-why-something-fails.patch delete mode 100644 0021-Fix-race-condition-in-SEC_GetPassword.patch delete mode 100644 0022-sysvinit-Create-the-socket-directory-at-runtime.patch delete mode 100644 0023-Better-authorization-scripts.-Again.patch delete mode 100644 0024-Make-the-daemon-also-try-to-give-better-errors-on-EP.patch delete mode 100644 0025-certdb-fix-PRTime-printfs-for-i686.patch delete mode 100644 0026-Clean-up-gcc-command-lines-a-little.patch delete mode 100644 0027-Make-pesign-users-groups-static-in-the-repo.patch delete mode 100644 0028-rpm-Make-the-client-signer-use-the-fedora-values-unl.patch delete mode 100644 0029-Make-macros.pesign-error-in-kojibuilder-if-we-don-t-.patch delete mode 100644 pesign-0.112.tar.bz2 create mode 100644 pesign-0.113.tar.gz diff --git a/0001-cms-kill-generate_integer-it-doesn-t-build-on-i686-a.patch b/0001-cms-kill-generate_integer-it-doesn-t-build-on-i686-a.patch deleted file mode 100644 index 0c82dcf..0000000 --- a/0001-cms-kill-generate_integer-it-doesn-t-build-on-i686-a.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 33bcca8303cad962606df3bfc6a031a9b0626375 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Thu, 21 Apr 2016 10:47:34 -0400 -Subject: [PATCH 01/29] cms: kill generate_integer(), it doesn't build on i686 - and it's unused. - -Signed-off-by: Peter Jones ---- - src/cms_common.c | 34 ---------------------------------- - src/cms_common.h | 1 - - 2 files changed, 35 deletions(-) - -diff --git a/src/cms_common.c b/src/cms_common.c -index b19bc62..6a4e6a7 100644 ---- a/src/cms_common.c -+++ b/src/cms_common.c -@@ -641,40 +641,6 @@ generate_string(cms_context *cms, SECItem *der, char *str) - return 0; - } - --static SEC_ASN1Template IntegerTemplate[] = { -- {.kind = SEC_ASN1_INTEGER, -- .offset = 0, -- .sub = NULL, -- .size = sizeof(long), -- }, -- { 0 }, --}; -- --int --generate_integer(cms_context *cms, SECItem *der, unsigned long integer) --{ -- void *ret; -- -- uint32_t u32; -- -- SECItem input = { -- .data = (void *)&integer, -- .len = sizeof(integer), -- .type = siUnsignedInteger, -- }; -- -- if (integer < 0x100000000) { -- u32 = integer & 0xffffffffUL; -- input.data = (void *)&u32; -- input.len = sizeof(u32); -- } -- -- ret = SEC_ASN1EncodeItem(cms->arena, der, &input, IntegerTemplate); -- if (ret == NULL) -- cmsreterr(-1, cms, "could not encode data"); -- return 0; --} -- - int - generate_time(cms_context *cms, SECItem *encoded, time_t when) - { -diff --git a/src/cms_common.h b/src/cms_common.h -index 7d77faf..c7d7268 100644 ---- a/src/cms_common.h -+++ b/src/cms_common.h -@@ -117,7 +117,6 @@ extern int generate_object_id(cms_context *ctx, SECItem *encoded, - SECOidTag tag); - extern int generate_empty_sequence(cms_context *ctx, SECItem *encoded); - extern int generate_time(cms_context *ctx, SECItem *encoded, time_t when); --extern int generate_integer(cms_context *cms, SECItem *der, unsigned long integer); - extern int generate_string(cms_context *cms, SECItem *der, char *str); - extern int wrap_in_set(cms_context *cms, SECItem *der, SECItem **items); - extern int wrap_in_seq(cms_context *cms, SECItem *der, --- -2.13.4 - diff --git a/0002-Fix-command-line-parsing.patch b/0002-Fix-command-line-parsing.patch deleted file mode 100644 index 9c03eeb..0000000 --- a/0002-Fix-command-line-parsing.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 5be0515dee24308fd7e270bf2e0fb5e5a7a78f32 Mon Sep 17 00:00:00 2001 -From: Julien Cristau -Date: Thu, 9 Jun 2016 14:30:37 +0200 -Subject: [PATCH 02/29] Fix command line parsing - -The gettext translation domain should be passed as .arg, not .descrip, -otherwise popt won't process any of the command line options (it stops -looping over the struct poptOption array when an entry has unset -longName, shortName and arg). - -Signed-off-by: Julien Cristau ---- - src/client.c | 2 +- - src/efikeygen.c | 2 +- - src/efisiglist.c | 2 +- - src/pesigcheck.c | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/src/client.c b/src/client.c -index 028419f..575c873 100644 ---- a/src/client.c -+++ b/src/client.c -@@ -555,7 +555,7 @@ main(int argc, char *argv[]) - - struct poptOption options[] = { - {.argInfo = POPT_ARG_INTL_DOMAIN, -- .descrip = "pesign" }, -+ .arg = "pesign" }, - {.longName = "token", - .shortName = 't', - .argInfo = POPT_ARG_STRING|POPT_ARGFLAG_SHOW_DEFAULT, -diff --git a/src/efikeygen.c b/src/efikeygen.c -index 6278849..8a515a5 100644 ---- a/src/efikeygen.c -+++ b/src/efikeygen.c -@@ -486,7 +486,7 @@ int main(int argc, char *argv[]) - poptContext optCon; - struct poptOption options[] = { - {.argInfo = POPT_ARG_INTL_DOMAIN, -- .descrip = "pesign" }, -+ .arg = "pesign" }, - /* global nss-ish things */ - {.longName = "dbdir", - .shortName = 'd', -diff --git a/src/efisiglist.c b/src/efisiglist.c -index cd3f1ae..40d6a93 100644 ---- a/src/efisiglist.c -+++ b/src/efisiglist.c -@@ -126,7 +126,7 @@ main(int argc, char *argv[]) - - struct poptOption options[] = { - {.argInfo = POPT_ARG_INTL_DOMAIN, -- .descrip = "pesign" }, -+ .arg = "pesign" }, - {.longName = "infile", - .shortName = 'i', - .argInfo = POPT_ARG_STRING, -diff --git a/src/pesigcheck.c b/src/pesigcheck.c -index 1328fe9..0d49c1a 100644 ---- a/src/pesigcheck.c -+++ b/src/pesigcheck.c -@@ -214,7 +214,7 @@ main(int argc, char *argv[]) - poptContext optCon; - struct poptOption options[] = { - {.argInfo = POPT_ARG_INTL_DOMAIN, -- .descrip = "pesign" }, -+ .arg = "pesign" }, - {.longName = "dbfile", - .shortName = 'D', - .argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_POST, --- -2.13.4 - diff --git a/0003-gcc-don-t-error-on-stuff-in-includes.patch b/0003-gcc-don-t-error-on-stuff-in-includes.patch deleted file mode 100644 index cf4e61d..0000000 --- a/0003-gcc-don-t-error-on-stuff-in-includes.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 6de291458cbab99bcc317e282c16e1523d6de9b8 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Wed, 10 Aug 2016 17:12:39 -0400 -Subject: [PATCH 03/29] gcc: don't error on stuff in includes. - -Signed-off-by: Peter Jones ---- - Make.defaults | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Make.defaults b/Make.defaults -index c97b452..3511080 100644 ---- a/Make.defaults -+++ b/Make.defaults -@@ -19,7 +19,7 @@ PKG_CONFIG = $(CROSS_COMPILE)pkg-config - CC := $(if $(filter default,$(origin CC)),$(CROSS_COMPILE)gcc,$(CC)) - CCLD := $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD)) - CFLAGS ?= -O0 -g3 -fvar-tracking -fvar-tracking-assignments \ -- -Wall -Werror -Wextra -+ -Wall -Werror -Wextra -Wno-error=cpp - AS := $(CROSS_COMPILE)as - AR := $(CROSS_COMPILE)gcc-ar - RANLIB := $(CROSS_COMPILE)gcc-ranlib --- -2.13.4 - diff --git a/0004-Fix-certficate-argument-name.patch b/0004-Fix-certficate-argument-name.patch deleted file mode 100644 index 08509ff..0000000 --- a/0004-Fix-certficate-argument-name.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b20fc54c08e8afe1365e56cacade3ec39984da8d Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 18 Apr 2017 19:00:34 -0400 -Subject: [PATCH 04/29] Fix "certficate" argument name. - -This fixes our typoed argument name by making the incorrectly spelled -version be a popt alias, and fixing the real implementation to be -spelled right in pesign.c . - -Signed-off-by: Peter Jones ---- - src/pesign.c | 2 +- - src/pesign.popt | 1 + - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/pesign.c b/src/pesign.c -index af374b6..279a17a 100644 ---- a/src/pesign.c -+++ b/src/pesign.c -@@ -438,7 +438,7 @@ main(int argc, char *argv[]) - .arg = &ctxp->outfile, - .descrip = "specify output file", - .argDescrip = "" }, -- {.longName = "certficate", -+ {.longName = "certificate", - .shortName = 'c', - .argInfo = POPT_ARG_STRING, - .arg = &certname, -diff --git a/src/pesign.popt b/src/pesign.popt -index 7b3385d..5a97748 100644 ---- a/src/pesign.popt -+++ b/src/pesign.popt -@@ -1,2 +1,3 @@ - pesign alias --cert --certificate -+pesign alias --certficate --certificate - pesign alias --daemon --daemonize --- -2.13.4 - diff --git a/0005-Fix-description-of-ascii-armor-option-in-manpage.patch b/0005-Fix-description-of-ascii-armor-option-in-manpage.patch deleted file mode 100644 index 6a5b02d..0000000 --- a/0005-Fix-description-of-ascii-armor-option-in-manpage.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7bc8e8b04c74be5c4e0ebf211affc37cf9f5db37 Mon Sep 17 00:00:00 2001 -From: Julien Cristau -Date: Mon, 27 Jun 2016 15:38:38 +0200 -Subject: [PATCH 05/29] Fix description of --ascii-armor option in manpage - -The --ascii option does not exist. ---- - src/pesign.1 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/pesign.1 b/src/pesign.1 -index 47d1aec..29ae060 100644 ---- a/src/pesign.1 -+++ b/src/pesign.1 -@@ -81,7 +81,7 @@ Export the public key specified by \-\-certificate to \fIoutkey\fR - Export the certificate specified by \-\-certificate to \fIoutcert\fR - - .TP --\fB-\-ascii\fR -+\fB-\-ascii\-armor\fR - Use ascii armoring on exported certificates. - - .TP --- -2.13.4 - diff --git a/0006-Make-ascii-work-since-we-documented-it.patch b/0006-Make-ascii-work-since-we-documented-it.patch deleted file mode 100644 index d0165f9..0000000 --- a/0006-Make-ascii-work-since-we-documented-it.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 9f411f4e797e983d2e8cb51dc5b9ab8db250c2e3 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 18 Apr 2017 19:05:40 -0400 -Subject: [PATCH 06/29] Make --ascii work, since we documented it. - -Signed-off-by: Peter Jones ---- - src/pesign.popt | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/pesign.popt b/src/pesign.popt -index 5a97748..5ae0c5c 100644 ---- a/src/pesign.popt -+++ b/src/pesign.popt -@@ -1,3 +1,4 @@ - pesign alias --cert --certificate - pesign alias --certficate --certificate - pesign alias --daemon --daemonize -+pesign alias --ascii --ascii-armor --- -2.13.4 - diff --git a/0007-Switch-pesign-client-to-also-accept-token-cert-macro.patch b/0007-Switch-pesign-client-to-also-accept-token-cert-macro.patch deleted file mode 100644 index faa78ec..0000000 --- a/0007-Switch-pesign-client-to-also-accept-token-cert-macro.patch +++ /dev/null @@ -1,32 +0,0 @@ -From d618de733865eab359890b4e677c368a133dad99 Mon Sep 17 00:00:00 2001 -From: Pat Riehecky -Date: Mon, 7 Nov 2016 11:37:08 -0600 -Subject: [PATCH 07/29] Switch pesign client to also accept token/cert macros - rather than use hard coded values - ---- - src/macros.pesign | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/macros.pesign b/src/macros.pesign -index 18e5b5e..69280e9 100644 ---- a/src/macros.pesign -+++ b/src/macros.pesign -@@ -41,11 +41,11 @@ - --certdir ${nss} -c signer %{-o} \ - rm -rf ${sattrs} ${sattrs}.sig ${nss} \ - elif [ -S /var/run/pesign/socket ]; then \ -- %{_pesign_client} -t "OpenSC Card (Fedora Signer)" \\\ -- -c "/CN=Fedora Secure Boot Signer" \\\ -+ %{_pesign_client} -t %{__pesign_token} \\\ -+ -c %{__pesign_cert} \\\ - %{-i} %{-o} %{-e} %{-s} %{-C} \ - else \ -- %{_pesign} %{__pesign_token} -c %{__pesign_cert} \\\ -+ %{_pesign} -t %{__pesign_token} -c %{__pesign_cert} \\\ - --certdir ${_pesign_nssdir} \\\ - %{-i} %{-o} %{-e} %{-s} %{-C} \ - fi \ --- -2.13.4 - diff --git a/0008-pesigcheck-Verify-with-the-cert-as-an-object-signer.patch b/0008-pesigcheck-Verify-with-the-cert-as-an-object-signer.patch deleted file mode 100644 index 2226498..0000000 --- a/0008-pesigcheck-Verify-with-the-cert-as-an-object-signer.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 2cd211bcc612ad8cb99c778461ca02a9f3e5e44b Mon Sep 17 00:00:00 2001 -From: David Michael -Date: Thu, 16 Feb 2017 15:08:30 -0800 -Subject: [PATCH 08/29] pesigcheck: Verify with the cert as an object signer - ---- - src/certdb.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/certdb.c b/src/certdb.c -index 2a08042..b7c99bb 100644 ---- a/src/certdb.c -+++ b/src/certdb.c -@@ -339,7 +339,7 @@ check_cert(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - } - /* Verify the signature */ - result = SEC_PKCS7VerifyDetachedSignatureAtTime(cinfo, -- certUsageSSLServer, -+ certUsageObjectSigner, - digest, HASH_AlgSHA256, - PR_FALSE, atTime); - if (!result) { --- -2.13.4 - diff --git a/0009-pesigcheck-make-certfile-actually-work.patch b/0009-pesigcheck-make-certfile-actually-work.patch deleted file mode 100644 index 8b77417..0000000 --- a/0009-pesigcheck-make-certfile-actually-work.patch +++ /dev/null @@ -1,47 +0,0 @@ -From e0238e2363f9668aee07b2e44a8f358e694551c0 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 24 Apr 2017 15:18:10 -0400 -Subject: [PATCH 09/29] pesigcheck: make --certfile actually work - -Signed-off-by: Peter Jones ---- - src/pesigcheck.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/src/pesigcheck.c b/src/pesigcheck.c -index 0d49c1a..d7be542 100644 ---- a/src/pesigcheck.c -+++ b/src/pesigcheck.c -@@ -130,7 +130,7 @@ check_signature(pesigcheck_context *ctx) - cert_iter iter; - - generate_digest(ctx->cms_ctx, ctx->inpe, 1); -- -+ - if (check_db_hash(DBX, ctx) == FOUND) - return -1; - -@@ -225,6 +225,11 @@ main(int argc, char *argv[]) - .argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_POST, - .arg = (void *)callback, - .descrip = (void *)ctxp }, -+ {.longName = "certfile", -+ .shortName = 'c', -+ .argInfo = POPT_ARG_CALLBACK|POPT_CBFLAG_POST, -+ .arg = (void *)callback, -+ .descrip = (void *)ctxp }, - {.longName = "in", - .shortName = 'i', - .argInfo = POPT_ARG_STRING, -@@ -258,7 +263,7 @@ main(int argc, char *argv[]) - .shortName = 'c', - .argInfo = POPT_ARG_STRING, - .arg = &certfile, -- .descrip = "the certificate (in DER form) for verification ", -+ .descrip = "import certfile (in DER encoding) for allowed certificate", - .argDescrip = "" }, - POPT_AUTOALIAS - POPT_AUTOHELP --- -2.13.4 - diff --git a/0010-signerInfos-make-sure-err-is-always-initialized.patch b/0010-signerInfos-make-sure-err-is-always-initialized.patch deleted file mode 100644 index 08d1da7..0000000 --- a/0010-signerInfos-make-sure-err-is-always-initialized.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 799808b265ac6f82fa1268fd696d70357acce69c Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 25 Apr 2017 16:15:07 -0400 -Subject: [PATCH 10/29] signerInfos: make sure err is always initialized - -Signed-off-by: Peter Jones ---- - src/signed_data.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/signed_data.c b/src/signed_data.c -index 721db90..9e0af23 100644 ---- a/src/signed_data.c -+++ b/src/signed_data.c -@@ -132,7 +132,8 @@ int - generate_signerInfo_list(cms_context *cms, SpcSignerInfo ***signerInfo_list_p, SignerInfoType type) - { - SpcSignerInfo **signerInfo_list; -- int err, rc; -+ int err = 0; -+ int rc; - - if (!signerInfo_list_p) - return -1; --- -2.13.4 - diff --git a/0011-pesign-make-pesign-h-tell-you-the-file-name.patch b/0011-pesign-make-pesign-h-tell-you-the-file-name.patch deleted file mode 100644 index 3e15617..0000000 --- a/0011-pesign-make-pesign-h-tell-you-the-file-name.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 868b42b338d919917ea31cfbf0f96e9586947eaf Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 25 Apr 2017 16:23:36 -0400 -Subject: [PATCH 11/29] pesign: make "pesign -h" tell you the file name. - -Signed-off-by: Peter Jones ---- - src/pesign.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/pesign.c b/src/pesign.c -index 279a17a..5879cfc 100644 ---- a/src/pesign.c -+++ b/src/pesign.c -@@ -387,7 +387,7 @@ print_digest(pesign_context *pctx) - if (!ctx) - return; - -- printf("hash: "); -+ printf("%s ", pctx->infile); - int j = ctx->selected_digest; - for (unsigned int i = 0; i < ctx->digests[j].pe_digest->len; i++) - printf("%02x", --- -2.13.4 - diff --git a/0012-Add-coverity-build-scripts.patch b/0012-Add-coverity-build-scripts.patch deleted file mode 100644 index f3f0a89..0000000 --- a/0012-Add-coverity-build-scripts.patch +++ /dev/null @@ -1,104 +0,0 @@ -From 95327e6d9bd4f70980acd8fd6c9524265990dc4d Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Wed, 10 May 2017 10:49:57 -0400 -Subject: [PATCH 12/29] Add coverity build scripts - -Signed-off-by: Peter Jones ---- - .gitignore | 1 + - Make.coverity | 37 +++++++++++++++++++++++++++++++++++++ - Make.defaults | 2 ++ - Make.rules | 4 ++++ - Makefile | 1 + - 5 files changed, 45 insertions(+) - create mode 100644 Make.coverity - -diff --git a/.gitignore b/.gitignore -index 1635ba2..847e172 100644 ---- a/.gitignore -+++ b/.gitignore -@@ -12,3 +12,4 @@ - *.tar.* - *.rpm - core.* -+cov-int -diff --git a/Make.coverity b/Make.coverity -new file mode 100644 -index 0000000..b80b091 ---- /dev/null -+++ b/Make.coverity -@@ -0,0 +1,37 @@ -+include $(TOPDIR)/Make.version -+include $(TOPDIR)/Make.rules -+include $(TOPDIR)/Make.defaults -+ -+COV_EMAIL=$(call get-config,coverity.email) -+COV_TOKEN=$(call get-config,coverity.token) -+COV_URL=$(call get-config,coverity.url) -+COV_FILE=$(NAME)-coverity-$(VERSION)-$(COMMIT_ID).tar.bz2 -+ -+cov-int : clean -+ cov-build --dir cov-int make all -+ -+cov-clean : -+ @rm -vf $(NAME)-coverity-*.tar.* -+ @if [[ -d cov-int ]]; then rm -rf cov-int && echo "removed 'cov-int'"; fi -+ -+cov-file : | $(COV_FILE) -+ -+$(COV_FILE) : cov-int -+ tar caf $@ cov-int -+ -+cov-upload : -+ @if [[ -n "$(COV_URL)" ]] && \ -+ [[ -n "$(COV_TOKEN)" ]] && \ -+ [[ -n "$(COV_EMAIL)" ]] ; \ -+ then \ -+ echo curl --form token=$(COV_TOKEN) --form email="$(COV_EMAIL)" --form file=@"$(COV_FILE)" --form version=$(VERSION).1 --form description="$(COMMIT_ID)" "$(COV_URL)" ; \ -+ curl --form token=$(COV_TOKEN) --form email="$(COV_EMAIL)" --form file=@"$(COV_FILE)" --form version=$(VERSION).1 --form description="$(COMMIT_ID)" "$(COV_URL)" ; \ -+ else \ -+ echo Coverity output is in $(COV_FILE) ; \ -+ fi -+ -+coverity : cov-file cov-upload -+ -+clean : | cov-clean -+ -+.PHONY : coverity cov-upload cov-clean cov-file -diff --git a/Make.defaults b/Make.defaults -index 3511080..39b78f0 100644 ---- a/Make.defaults -+++ b/Make.defaults -@@ -1,3 +1,5 @@ -+NAME = pesign -+COMMIT_ID ?= $(shell git log -1 --pretty=%H 2>/dev/null || echo master) - prefix ?= /usr/ - prefix := $(abspath $(prefix))/ - libdir ?= $(prefix)lib64/ -diff --git a/Make.rules b/Make.rules -index af5ecfe..5e3c83d 100644 ---- a/Make.rules -+++ b/Make.rules -@@ -79,3 +79,7 @@ endef - - $(TOPDIR)/libdpe/%.a $(TOPDIR)/libdpe/% : - $(MAKE) -C $(TOPDIR)/libdpe $(notdir $@) -+ -+define get-config = -+$(shell git config --local --get "$(NAME).$(1)") -+endef -diff --git a/Makefile b/Makefile -index db8eb7e..ca1a359 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,6 +4,7 @@ TOPDIR = $(realpath .) - include $(TOPDIR)/Make.version - include $(TOPDIR)/Make.rules - include $(TOPDIR)/Make.defaults -+include $(TOPDIR)/Make.coverity - - SUBDIRS := include libdpe src - --- -2.13.4 - diff --git a/0013-Document-implicit-fallthrough.patch b/0013-Document-implicit-fallthrough.patch deleted file mode 100644 index 3731a3f..0000000 --- a/0013-Document-implicit-fallthrough.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 4b9e7cf3e869de36daf2ea705b9efef55ae87ef8 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Sat, 8 Jul 2017 16:31:18 -0400 -Subject: [PATCH 13/29] Document implicit fallthrough. - -Signed-off-by: Peter Jones ---- - src/authvar.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/authvar.c b/src/authvar.c -index ad659ca..03e0c47 100644 ---- a/src/authvar.c -+++ b/src/authvar.c -@@ -511,6 +511,7 @@ main(int argc, char *argv[]) - case IMPORT|SET: - case IMPORT|SIGN|SET: - fprintf(stderr, "authvar: not implemented\n"); -+ /* fallthrough. */ - case IMPORT|SIGN|EXPORT: - default: - fprintf(stderr, "authvar: invalid flags: "); --- -2.13.4 - diff --git a/0014-Actually-setfacl-each-directory-of-our-key-storage.patch b/0014-Actually-setfacl-each-directory-of-our-key-storage.patch deleted file mode 100644 index 4b62cb3..0000000 --- a/0014-Actually-setfacl-each-directory-of-our-key-storage.patch +++ /dev/null @@ -1,50 +0,0 @@ -From a95e28e5cb10d417c81c8720e8521eb63793da37 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 16 May 2016 15:25:53 -0400 -Subject: [PATCH 14/29] Actually setfacl /each/ directory of our key storage. - -Signed-off-by: Peter Jones ---- - src/pesign-authorize-groups | 6 +++--- - src/pesign-authorize-users | 6 +++--- - 2 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/src/pesign-authorize-groups b/src/pesign-authorize-groups -index a4f895e..cf51fb6 100644 ---- a/src/pesign-authorize-groups -+++ b/src/pesign-authorize-groups -@@ -18,10 +18,10 @@ if [ -r /etc/pesign/groups ]; then - setfacl -m g:${group}:rw /var/run/pesign/socket - fi - fi -- for x in /etc/pki/pesign* ; do -+ for x in /etc/pki/pesign*/ ; do - if [ -d ${x} ]; then -- setfacl -m g:${group}:rx /etc/pki/pesign -- for y in ${x}/{cert8,key3,secmod}.db ; do -+ setfacl -m g:${group}:rx ${x} -+ for y in ${x}{cert8,key3,secmod}.db ; do - setfacl -m g:${group}:rw ${y} - done - fi -diff --git a/src/pesign-authorize-users b/src/pesign-authorize-users -index 8b9a885..940138e 100644 ---- a/src/pesign-authorize-users -+++ b/src/pesign-authorize-users -@@ -18,10 +18,10 @@ if [ -r /etc/pesign/users ]; then - setfacl -m g:${username}:rw /var/run/pesign/socket - fi - fi -- for x in /etc/pki/pesign* ; do -+ for x in /etc/pki/pesign*/ ; do - if [ -d ${x} ]; then -- setfacl -m g:${username}:rx /etc/pki/pesign -- for y in ${x}/{cert8,key3,secmod}.db ; do -+ setfacl -m g:${username}:rx ${x} -+ for y in ${x}{cert8,key3,secmod}.db ; do - setfacl -m g:${username}:rw ${y} - done - fi --- -2.13.4 - diff --git a/0015-oid-add-SHIM_EKU_MODULE_SIGNING_ONLY-and-fix-our-arr.patch b/0015-oid-add-SHIM_EKU_MODULE_SIGNING_ONLY-and-fix-our-arr.patch deleted file mode 100644 index d5428b5..0000000 --- a/0015-oid-add-SHIM_EKU_MODULE_SIGNING_ONLY-and-fix-our-arr.patch +++ /dev/null @@ -1,59 +0,0 @@ -From a3cc2ad5d49ed61187527281da351e80d8f76a89 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 22 Aug 2016 13:31:38 -0400 -Subject: [PATCH 15/29] oid: add SHIM_EKU_MODULE_SIGNING_ONLY and fix our array - indices. - -That was all kinds of wrong. - -Signed-off-by: Peter Jones ---- - src/oid.c | 10 +++++++--- - src/oid.h | 1 + - 2 files changed, 8 insertions(+), 3 deletions(-) - -diff --git a/src/oid.c b/src/oid.c -index 9d8154f..7037e1e 100644 ---- a/src/oid.c -+++ b/src/oid.c -@@ -33,6 +33,7 @@ static uint8_t oiddata[] = { - 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x0f, - 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x02, 0x01, 0x15, - 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0x37, 0x15, 0x01, -+ 0x2b, 0x06, 0x01, 0x04, 0x01, 0x92, 0x08, 0x10, 0x01, 0x02, - }; - - #define OID(num, desc_s, oidtype, length, value) \ -@@ -53,11 +54,14 @@ static struct { - OID(SPC_STATEMENT_TYPE_OBJID, "Statement Type", siDEROID, 10, - &oiddata[10]), - OID(SPC_PE_IMAGE_DATA_OBJID, "PE Image Data", siDEROID, 10, -- &oiddata[30]), -+ &oiddata[20]), - OID(SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID, "Individual Key", siDEROID, -- 10, &oiddata[40]), -+ 10, &oiddata[30]), - OID(szOID_CERTSRV_CA_VERSION, "Certification server CA version", -- siAsciiString, 9, &oiddata[50]), -+ siAsciiString, 9, &oiddata[40]), -+ OID(SHIM_EKU_MODULE_SIGNING_ONLY, -+ "Certificate is used for kernel modules only", siDEROID, 10, -+ &oiddata[49]), - { .oid = END_OID_LIST } - }; - -diff --git a/src/oid.h b/src/oid.h -index 599f49d..0e00781 100644 ---- a/src/oid.h -+++ b/src/oid.h -@@ -25,6 +25,7 @@ typedef enum { - SPC_PE_IMAGE_DATA_OBJID, /* 1.3.6.1.4.1.311.2.1.15 */ - SPC_INDIVIDUAL_SP_KEY_PURPOSE_OBJID, /* 1.3.6.1.4.1.311.2.1.21 */ - szOID_CERTSRV_CA_VERSION, /* 1.3.6.1.4.1.311.21.1 */ -+ SHIM_EKU_MODULE_SIGNING_ONLY, /* 1.3.6.1.4.1.2312.16.1.2 */ - END_OID_LIST - } ms_oid_t; - --- -2.13.4 - diff --git a/0016-efikeygen-add-modsign.patch b/0016-efikeygen-add-modsign.patch deleted file mode 100644 index 8324334..0000000 --- a/0016-efikeygen-add-modsign.patch +++ /dev/null @@ -1,197 +0,0 @@ -From 9b4b12928c0450ac69d83293e179eec439465c03 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 22 Aug 2016 13:43:56 -0400 -Subject: [PATCH 16/29] efikeygen: add --modsign - ---- - src/cms_common.c | 29 ++++++++++++++++++++++++++++ - src/cms_common.h | 1 + - src/efikeygen.c | 59 ++++++++++++++++++++++++++++++++++++++++++++------------ - 3 files changed, 77 insertions(+), 12 deletions(-) - -diff --git a/src/cms_common.c b/src/cms_common.c -index 6a4e6a7..2df2cfe 100644 ---- a/src/cms_common.c -+++ b/src/cms_common.c -@@ -715,6 +715,35 @@ make_context_specific(cms_context *cms, int ctxt, SECItem *encoded, - return 0; - } - -+static SEC_ASN1Template EKUOidSequence[] = { -+ { -+ .kind = SEC_ASN1_OBJECT_ID, -+ .offset = 0, -+ .sub = &SEC_AnyTemplate, -+ .size = sizeof (SECItem), -+ }, -+ { 0 } -+}; -+ -+int -+make_eku_oid(cms_context *cms, SECItem *encoded, SECOidTag oid_tag) -+{ -+ void *rv; -+ SECOidData *oid_data; -+ -+ oid_data = SECOID_FindOIDByTag(oid_tag); -+ if (!oid_data) -+ cmsreterr(-1, cms, "could not encode eku oid data"); -+ -+ rv = SEC_ASN1EncodeItem(cms->arena, encoded, &oid_data->oid, -+ EKUOidSequence); -+ if (rv == NULL) -+ cmsreterr(-1, cms, "could not encode eku oid data"); -+ -+ encoded->type = siBuffer; -+ return 0; -+} -+ - int - generate_octet_string(cms_context *cms, SECItem *encoded, SECItem *original) - { -diff --git a/src/cms_common.h b/src/cms_common.h -index c7d7268..7a31273 100644 ---- a/src/cms_common.h -+++ b/src/cms_common.h -@@ -123,6 +123,7 @@ extern int wrap_in_seq(cms_context *cms, SECItem *der, - SECItem *items, int num_items); - extern int make_context_specific(cms_context *cms, int ctxt, SECItem *encoded, - SECItem *original); -+extern int make_eku_oid(cms_context *cms, SECItem *encoded, SECOidTag oid_tag); - extern int generate_validity(cms_context *cms, SECItem *der, time_t start, - time_t end); - extern int generate_common_name(cms_context *cms, SECItem *der, char *cn); -diff --git a/src/efikeygen.c b/src/efikeygen.c -index 8a515a5..9390578 100644 ---- a/src/efikeygen.c -+++ b/src/efikeygen.c -@@ -49,6 +49,7 @@ - #include - - #include "cms_common.h" -+#include "oid.h" - #include "util.h" - - typedef struct { -@@ -249,20 +250,34 @@ add_basic_constraints(cms_context *cms, void *extHandle) - } - - static int --add_extended_key_usage(cms_context *cms, void *extHandle) -+add_extended_key_usage(cms_context *cms, int modsign_only, void *extHandle) - { -- SECItem value = { -- .data = (unsigned char *)"\x30\x0a\x06\x08\x2b\x06\x01" -- "\x05\x05\x07\x03\x03", -- .len = 12, -- .type = siBuffer -- }; -+ SECItem values[2]; -+ SECItem wrapped = { 0 }; -+ SECStatus status; -+ SECOidTag tag; -+ int rc; -+ -+ if (modsign_only < 1 || modsign_only > 2) -+ cmsreterr(-1, cms, "could not encode extended key usage"); - -+ rc = make_eku_oid(cms, &values[0], SEC_OID_EXT_KEY_USAGE_CODE_SIGN); -+ if (rc < 0) -+ cmsreterr(-1, cms, "could not encode extended key usage"); -+ -+ tag = find_ms_oid_tag(SHIM_EKU_MODULE_SIGNING_ONLY); -+ printf("tag: %d\n", tag); -+ rc = make_eku_oid(cms, &values[1], tag); -+ if (rc < 0) -+ cmsreterr(-1, cms, "could not encode extended key usage"); -+ -+ rc = wrap_in_seq(cms, &wrapped, values, modsign_only); -+ if (rc < 0) -+ cmsreterr(-1, cms, "could not encode extended key usage"); - -- SECStatus status; - - status = CERT_AddExtension(extHandle, SEC_OID_X509_EXT_KEY_USAGE, -- &value, PR_FALSE, PR_TRUE); -+ &wrapped, PR_FALSE, PR_TRUE); - if (status != SECSuccess) - cmsreterr(-1, cms, "could not encode extended key usage"); - -@@ -294,7 +309,7 @@ static int - add_extensions_to_crq(cms_context *cms, CERTCertificateRequest *crq, - int is_ca, int is_self_signed, SECKEYPublicKey *pubkey, - SECKEYPublicKey *spubkey, -- char *url) -+ char *url, int modsign_only) - { - void *mark = PORT_ArenaMark(cms->arena); - -@@ -319,7 +334,7 @@ add_extensions_to_crq(cms_context *cms, CERTCertificateRequest *crq, - if (rc < 0) - cmsreterr(-1, cms, "could not generate certificate extensions"); - -- rc = add_extended_key_usage(cms, extHandle); -+ rc = add_extended_key_usage(cms, modsign_only, extHandle); - if (rc < 0) - cmsreterr(-1, cms, "could not generate certificate extensions"); - -@@ -469,6 +484,7 @@ int main(int argc, char *argv[]) - { - int is_ca = 0; - int is_self_signed = -1; -+ int modsign_only = 0; - char *tokenname = "NSS Certificate DB"; - char *signer = NULL; - char *nickname = NULL; -@@ -522,6 +538,18 @@ int main(int argc, char *argv[]) - .descrip = "Generate a self-signed certificate" }, - - /* stuff about the generated key */ -+ {.longName = "kernel", -+ .shortName = 'k', -+ .argInfo = POPT_ARG_VAL|POPT_ARGFLAG_OR, -+ .arg = &modsign_only, -+ .val = 1, -+ .descrip = "Generate a kernel-signing certificate" }, -+ {.longName = "module", -+ .shortName = 'm', -+ .argInfo = POPT_ARG_VAL|POPT_ARGFLAG_OR, -+ .arg = &modsign_only, -+ .val = 2, -+ .descrip = "Generate a module-signing certificate" }, - {.longName = "nickname", - .shortName = 'n', - .argInfo = POPT_ARG_STRING, -@@ -628,6 +656,9 @@ int main(int argc, char *argv[]) - liberr(1, "could not allocate cms context"); - } - -+ if (modsign_only < 1 || modsign_only > 2) -+ errx(1, "either --kernel or --module must be used"); -+ - SECStatus status = NSS_InitReadWrite(dbdir); - if (status != SECSuccess) - nsserr(1, "could not initialize NSS"); -@@ -639,6 +670,10 @@ int main(int argc, char *argv[]) - SECKEYPublicKey *pubkey = NULL; - SECKEYPrivateKey *privkey = NULL; - -+ status = register_oids(cms); -+ if (status != SECSuccess) -+ nsserr(1, "Could not register OIDs"); -+ - PK11SlotInfo *slot = NULL; - if (pubfile) { - rc = get_pubkey_from_file(pubfile, &pubkey); -@@ -713,7 +748,7 @@ int main(int argc, char *argv[]) - crq = CERT_CreateCertificateRequest(name, spki, &attributes); - - rc = add_extensions_to_crq(cms, crq, is_ca, is_self_signed, pubkey, -- spubkey, url); -+ spubkey, url, modsign_only); - if (rc < 0) - exit(1); - --- -2.13.4 - diff --git a/0017-check_cert_db-try-even-harder-to-pick-a-reasonable-v.patch b/0017-check_cert_db-try-even-harder-to-pick-a-reasonable-v.patch deleted file mode 100644 index acebc3a..0000000 --- a/0017-check_cert_db-try-even-harder-to-pick-a-reasonable-v.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 0456758e0c0873d1251bdf77d27f0f6175cbf289 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 25 Apr 2017 16:25:02 -0400 -Subject: [PATCH 17/29] check_cert_db(): try even harder to pick a reasonable - validation time. - -Signed-off-by: Peter Jones ---- - src/certdb.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------- - 1 file changed, 66 insertions(+), 9 deletions(-) - -diff --git a/src/certdb.c b/src/certdb.c -index b7c99bb..1a4baf1 100644 ---- a/src/certdb.c -+++ b/src/certdb.c -@@ -250,12 +250,53 @@ check_db_hash(db_specifier which, pesigcheck_context *ctx) - return check_db(which, ctx, check_hash, NULL, 0); - } - --static PRTime --determine_reasonable_time(CERTCertificate *cert) -+static void -+find_cert_times(SEC_PKCS7ContentInfo *cinfo, -+ PRTime *notBefore, PRTime *notAfter) - { -- PRTime notBefore, notAfter; -- CERT_GetCertTimes(cert, ¬Before, ¬After); -- return notBefore; -+ CERTCertDBHandle *defaultdb, *certdb; -+ SEC_PKCS7SignedData *sdp; -+ CERTCertificate **certs = NULL; -+ SECItem **rawcerts; -+ int i, certcount; -+ SECStatus rv; -+ -+ if (cinfo->contentTypeTag->offset != SEC_OID_PKCS7_SIGNED_DATA) { -+err: -+ *notBefore = 0; -+ *notAfter = 0x7fffffffffffffff; -+ return; -+ } -+ -+ sdp = cinfo->content.signedData; -+ rawcerts = sdp->rawCerts; -+ -+ defaultdb = CERT_GetDefaultCertDB(); -+ -+ certdb = defaultdb; -+ if (certdb == NULL) -+ goto err; -+ -+ certcount = 0; -+ if (rawcerts != NULL) { -+ for (; rawcerts[certcount] != NULL; certcount++) -+ ; -+ } -+ rv = CERT_ImportCerts(certdb, certUsageObjectSigner, certcount, -+ rawcerts, &certs, PR_FALSE, PR_FALSE, NULL); -+ if (rv != SECSuccess) -+ goto err; -+ -+ for (i = 0; i < certcount; i++) { -+ PRTime nb = 0, na = 0x7fffffffffff; -+ CERT_GetCertTimes(certs[i], &nb, &na); -+ if (*notBefore < nb) -+ *notBefore = nb; -+ if (*notAfter > na) -+ *notAfter = na; -+ } -+ -+ CERT_DestroyCertArray(certs, certcount); - } - - static db_status -@@ -271,6 +312,8 @@ check_cert(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - PRBool result; - SECStatus rv; - db_status status = NOT_FOUND; -+ PRTime earlyNow = 0, lateNow = 0x7fffffffffffffff; -+ PRTime notBefore = 0, notAfter = 0x7fffffffffffffff; - - efi_guid_t efi_x509 = efi_guid_x509_cert; - -@@ -327,16 +370,30 @@ check_cert(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - } - cert->timeOK = PR_TRUE; - -+ find_cert_times(cinfo, ¬Before, ¬After); -+ if (earlyNow < notBefore) -+ earlyNow = notBefore; -+ if (lateNow > notAfter) -+ lateNow = notAfter; -+ - SECItem *eTime; - PRTime atTime; - // atTime = determine_reasonable_time(cert); - eTime = SEC_PKCS7GetSigningTime(cinfo); - if (eTime != NULL) { -- if (DER_DecodeTimeChoice (&atTime, eTime) != SECSuccess) -- atTime = determine_reasonable_time(cert); -- } else { -- atTime = determine_reasonable_time(cert); -+ if (DER_DecodeTimeChoice (&atTime, eTime) == SECSuccess) { -+ if (earlyNow < atTime) -+ earlyNow = atTime; -+ if (lateNow > atTime) -+ lateNow = atTime; -+ } - } -+ -+ if (lateNow < earlyNow) -+ printf("Impossible time constraints: %ld <= %ld\n", -+ earlyNow / 1000000, lateNow / 1000000); -+ atTime = earlyNow / 2 + lateNow / 2; -+ - /* Verify the signature */ - result = SEC_PKCS7VerifyDetachedSignatureAtTime(cinfo, - certUsageObjectSigner, --- -2.13.4 - diff --git a/0018-show-which-db-we-re-checking.patch b/0018-show-which-db-we-re-checking.patch deleted file mode 100644 index 2b92f83..0000000 --- a/0018-show-which-db-we-re-checking.patch +++ /dev/null @@ -1,137 +0,0 @@ -From 01b89fb7a191f4639a93c5a7c47a80752118ba95 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 25 Apr 2017 16:58:50 -0400 -Subject: [PATCH 18/29] show which db we're checking - ---- - src/certdb.c | 35 ++++++++++++++++++++++++++++++++++- - src/pesigcheck_context.c | 2 ++ - src/pesigcheck_context.h | 1 + - 3 files changed, 37 insertions(+), 1 deletion(-) - -diff --git a/src/certdb.c b/src/certdb.c -index 1a4baf1..673e074 100644 ---- a/src/certdb.c -+++ b/src/certdb.c -@@ -18,6 +18,7 @@ - */ - - #include -+#include - #include - #include - #include -@@ -42,17 +43,33 @@ add_db_file(pesigcheck_context *ctx, db_specifier which, const char *dbfile, - return -1; - - db->type = type; -- - db->fd = open(dbfile, O_RDONLY); - if (db->fd < 0) { - save_errno(free(db)); - return -1; - } - -+ char *path = strdup(dbfile); -+ if (!path) { -+ save_errno(close(db->fd); -+ free(db)); -+ return -1; -+ } -+ -+ db->path = basename(path); -+ db->path = strdup(db->path); -+ free(path); -+ if (!db->path) { -+ save_errno(close(db->fd); -+ free(db)); -+ return -1; -+ } -+ - struct stat sb; - int rc = fstat(db->fd, &sb); - if (rc < 0) { - save_errno(close(db->fd); -+ free(db->path); - free(db)); - return -1; - } -@@ -65,6 +82,7 @@ add_db_file(pesigcheck_context *ctx, db_specifier which, const char *dbfile, - rc = read_file(db->fd, (char **)&db->map, &sz); - if (rc < 0) { - save_errno(close(db->fd); -+ free(db->path); - free(db)); - return -1; - } -@@ -133,6 +151,7 @@ add_cert_file(pesigcheck_context *ctx, const char *filename) - #define DB_PATH "/sys/firmware/efi/efivars/db-d719b2cb-3d3a-4596-a3bc-dad00e67656f" - #define MOK_PATH "/sys/firmware/efi/efivars/MokListRT-605dab50-e046-4300-abb6-3dd810dd8b23" - #define DBX_PATH "/sys/firmware/efi/efivars/dbx-d719b2cb-3d3a-4596-a3bc-dad00e67656f" -+#define MOKX_PATH "/sys/firmware/efi/efivars/MokListXRT-605dab50-e046-4300-abb6-3dd810dd8b23" - - void - init_cert_db(pesigcheck_context *ctx, int use_system_dbs) -@@ -167,6 +186,18 @@ init_cert_db(pesigcheck_context *ctx, int use_system_dbs) - "database \"%s\": %m\n", DBX_PATH); - exit(1); - } -+ -+ rc = add_db_file(ctx, DBX, MOKX_PATH, DB_EFIVAR); -+ if (rc < 0 && errno != ENOENT) { -+ fprintf(stderr, "pesigcheck: Could not add key database " -+ "\"%s\": %m\n", MOKX_PATH); -+ exit(1); -+ } -+ -+ if (ctx->dbx == NULL) { -+ fprintf(stderr, "pesigcheck: warning: " -+ "No key recovation database available\n"); -+ } - } - - typedef db_status (*checkfn)(pesigcheck_context *ctx, SECItem *sig, -@@ -187,6 +218,8 @@ check_db(db_specifier which, pesigcheck_context *ctx, checkfn check, - sig.type = siBuffer; - - while (dbl) { -+ printf("Searching %s %s\n", which == DB ? "db" : "dbx", -+ dbl->path); - EFI_SIGNATURE_LIST *certlist; - EFI_SIGNATURE_DATA *cert; - size_t dbsize = dbl->datalen; -diff --git a/src/pesigcheck_context.c b/src/pesigcheck_context.c -index b934cbe..5a355b1 100644 ---- a/src/pesigcheck_context.c -+++ b/src/pesigcheck_context.c -@@ -87,6 +87,7 @@ pesigcheck_context_fini(pesigcheck_context *ctx) - munmap(db->map, db->size); - close(db->fd); - ctx->db = db->next; -+ free(db->path); - free(db); - } - while (ctx->dbx) { -@@ -95,6 +96,7 @@ pesigcheck_context_fini(pesigcheck_context *ctx) - if (db->type == DB_CERT) - free(db->data); - munmap(db->map, db->size); -+ free(db->path); - close(db->fd); - ctx->dbx = db->next; - free(db); -diff --git a/src/pesigcheck_context.h b/src/pesigcheck_context.h -index 1b916e3..7b5cc89 100644 ---- a/src/pesigcheck_context.h -+++ b/src/pesigcheck_context.h -@@ -34,6 +34,7 @@ typedef enum { - - struct dblist { - db_f_type type; -+ char *path; - int fd; - struct dblist *next; - size_t size; --- -2.13.4 - diff --git a/0019-more-about-the-time.patch b/0019-more-about-the-time.patch deleted file mode 100644 index 2570bf8..0000000 --- a/0019-more-about-the-time.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 713e61448a6ffa3e6029a7c89fad61b8cb08c9ff Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 25 Apr 2017 17:00:46 -0400 -Subject: [PATCH 19/29] more about the time - ---- - src/certdb.c | 59 +++++++++++++++++++++++++++++++++-------------------------- - 1 file changed, 33 insertions(+), 26 deletions(-) - -diff --git a/src/certdb.c b/src/certdb.c -index 673e074..1078a8a 100644 ---- a/src/certdb.c -+++ b/src/certdb.c -@@ -345,8 +345,10 @@ check_cert(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - PRBool result; - SECStatus rv; - db_status status = NOT_FOUND; -+ PRTime atTime = PR_Now(); -+ SECItem *eTime; - PRTime earlyNow = 0, lateNow = 0x7fffffffffffffff; -- PRTime notBefore = 0, notAfter = 0x7fffffffffffffff; -+ PRTime notBefore, notAfter; - - efi_guid_t efi_x509 = efi_guid_x509_cert; - -@@ -358,6 +360,36 @@ check_cert(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - if (!cinfo) - goto out; - -+ notBefore = earlyNow; -+ notAfter = lateNow; -+ find_cert_times(cinfo, ¬Before, ¬After); -+ if (earlyNow < notBefore) -+ earlyNow = notBefore; -+ if (lateNow > notAfter) -+ lateNow = notAfter; -+ -+ // atTime = determine_reasonable_time(cert); -+ eTime = SEC_PKCS7GetSigningTime(cinfo); -+ if (eTime != NULL) { -+ if (DER_DecodeTimeChoice (&atTime, eTime) == SECSuccess) { -+ if (earlyNow < atTime) -+ earlyNow = atTime; -+ if (lateNow > atTime) -+ lateNow = atTime; -+ } -+ } -+ -+ if (lateNow < earlyNow) -+ printf("Signature has impossible time constraint: %ld <= %ld\n", -+ earlyNow / 1000000, lateNow / 1000000); -+ atTime = earlyNow / 2 + lateNow / 2; -+ -+ -+ cinfo = SEC_PKCS7DecodeItem(pkcs7sig, NULL, NULL, NULL, NULL, NULL, -+ NULL, NULL); -+ if (!cinfo) -+ goto out; -+ - /* Generate the digest of contentInfo */ - /* XXX support only sha256 for now */ - digest = SECITEM_AllocItem(NULL, NULL, 32); -@@ -401,31 +433,6 @@ check_cert(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - PORT_ErrorToString(PORT_GetError())); - goto out; - } -- cert->timeOK = PR_TRUE; -- -- find_cert_times(cinfo, ¬Before, ¬After); -- if (earlyNow < notBefore) -- earlyNow = notBefore; -- if (lateNow > notAfter) -- lateNow = notAfter; -- -- SECItem *eTime; -- PRTime atTime; -- // atTime = determine_reasonable_time(cert); -- eTime = SEC_PKCS7GetSigningTime(cinfo); -- if (eTime != NULL) { -- if (DER_DecodeTimeChoice (&atTime, eTime) == SECSuccess) { -- if (earlyNow < atTime) -- earlyNow = atTime; -- if (lateNow > atTime) -- lateNow = atTime; -- } -- } -- -- if (lateNow < earlyNow) -- printf("Impossible time constraints: %ld <= %ld\n", -- earlyNow / 1000000, lateNow / 1000000); -- atTime = earlyNow / 2 + lateNow / 2; - - /* Verify the signature */ - result = SEC_PKCS7VerifyDetachedSignatureAtTime(cinfo, --- -2.13.4 - diff --git a/0020-try-to-say-why-something-fails.patch b/0020-try-to-say-why-something-fails.patch deleted file mode 100644 index 96bdd60..0000000 --- a/0020-try-to-say-why-something-fails.patch +++ /dev/null @@ -1,419 +0,0 @@ -From 81583146602bba96728fa7544c8e856b32c22ee4 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 25 Apr 2017 17:01:13 -0400 -Subject: [PATCH 20/29] try to say why something fails - -Signed-off-by: Peter Jones ---- - src/certdb.c | 15 ++- - src/certdb.h | 2 +- - src/pesigcheck.c | 244 ++++++++++++++++++++++++++++++++++++++++++----- - src/pesigcheck_context.h | 1 + - 4 files changed, 233 insertions(+), 29 deletions(-) - -diff --git a/src/certdb.c b/src/certdb.c -index 1078a8a..fae80af 100644 ---- a/src/certdb.c -+++ b/src/certdb.c -@@ -205,7 +205,7 @@ typedef db_status (*checkfn)(pesigcheck_context *ctx, SECItem *sig, - - static db_status - check_db(db_specifier which, pesigcheck_context *ctx, checkfn check, -- void *data, ssize_t datalen) -+ void *data, ssize_t datalen, SECItem *match) - { - SECItem pkcs7sig, sig; - dblist *dbl = which == DB ? ctx->db : ctx->dbx; -@@ -241,8 +241,12 @@ check_db(db_specifier which, pesigcheck_context *ctx, checkfn check, - found = check(ctx, &sig, - &certlist->SignatureType, - &pkcs7sig); -- if (found == FOUND) -+ if (found == FOUND) { -+ if (match) -+ memcpy(match, &sig, -+ sizeof(sig)); - return FOUND; -+ } - cert = (EFI_SIGNATURE_DATA *)((uint8_t *)cert + - certlist->SignatureSize); - } -@@ -280,7 +284,7 @@ check_hash(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - db_status - check_db_hash(db_specifier which, pesigcheck_context *ctx) - { -- return check_db(which, ctx, check_hash, NULL, 0); -+ return check_db(which, ctx, check_hash, NULL, 0, NULL); - } - - static void -@@ -459,7 +463,8 @@ out: - } - - db_status --check_db_cert(db_specifier which, pesigcheck_context *ctx, void *data, ssize_t datalen) -+check_db_cert(db_specifier which, pesigcheck_context *ctx, -+ void *data, ssize_t datalen, SECItem *match) - { -- return check_db(which, ctx, check_cert, data, datalen); -+ return check_db(which, ctx, check_cert, data, datalen, match); - } -diff --git a/src/certdb.h b/src/certdb.h -index ccf3c87..8402299 100644 ---- a/src/certdb.h -+++ b/src/certdb.h -@@ -43,7 +43,7 @@ typedef struct { - - extern db_status check_db_hash(db_specifier which, pesigcheck_context *ctx); - extern db_status check_db_cert(db_specifier which, pesigcheck_context *ctx, -- void *data, ssize_t datalen); -+ void *data, ssize_t datalen, SECItem *match); - - extern void init_cert_db(pesigcheck_context *ctx, int use_system_dbs); - extern int add_cert_db(pesigcheck_context *ctx, const char *filename); -diff --git a/src/pesigcheck.c b/src/pesigcheck.c -index d7be542..c8e1086 100644 ---- a/src/pesigcheck.c -+++ b/src/pesigcheck.c -@@ -17,7 +17,9 @@ - * Author(s): Peter Jones - */ - -+#include - #include -+#include - #include - #include - #include -@@ -88,7 +90,8 @@ check_inputs(pesigcheck_context *ctx) - } - - static int --cert_matches_digest(pesigcheck_context *ctx, void *data, ssize_t datalen) -+cert_matches_digest(pesigcheck_context *ctx, void *data, ssize_t datalen, -+ SECItem *digest_out) - { - SECItem sig, *pe_digest, *content; - uint8_t *digest; -@@ -109,6 +112,12 @@ cert_matches_digest(pesigcheck_context *ctx, void *data, ssize_t datalen) - pe_digest = ctx->cms_ctx->digests[0].pe_digest; - content = cinfo->content.signedData->contentInfo.content.data; - digest = content->data + content->len - pe_digest->len; -+ if (digest_out) { -+ digest_out->data = malloc(pe_digest->len); -+ digest_out->len = pe_digest->len; -+ digest_out->type = pe_digest->type; -+ memcpy(digest_out->data, digest, pe_digest->len); -+ } - if (memcmp(pe_digest->data, digest, pe_digest->len) != 0) - goto out; - -@@ -120,22 +129,149 @@ out: - return ret; - } - -+struct reason { -+ enum { -+ WHITELISTED = 0, -+ INVALID = 1, -+ BLACKLISTED = 2, -+ NO_WHITELIST = 3, -+ } reason; -+ enum { -+ NONE = 0, -+ DIGEST = 1, -+ SIGNATURE = 2, -+ } type; -+ union { -+ struct { -+ SECItem digest; -+ }; -+ struct { -+ SECItem sig; -+ SECItem db_cert; -+ }; -+ }; -+}; -+ -+static void -+print_digest(SECItem *digest) -+{ -+ char buf[digest->len * 2 + 2]; -+ -+ for (unsigned int i = 0; i < digest->len; i++) -+ snprintf(buf + i * 2, digest->len * 2, "%02x", -+ digest->data[i]); -+ buf[digest->len * 2] = '\0'; -+ printf("%s\n", buf); -+} -+ -+static void -+print_certificate(SECItem *cert) -+{ -+ printf("put a breakpoint at %s:%d\n", __FILE__, __LINE__); -+ printf("cert: %p\n", cert); -+} -+ -+static void -+print_signatures(SECItem *database_cert, SECItem *signature) -+{ -+ printf("put a breakpoint at %s:%d\n", __FILE__, __LINE__); -+ print_certificate(database_cert); -+ print_certificate(signature); -+} -+ -+static void -+print_reason(struct reason *reason) -+{ -+ switch (reason->reason) { -+ case WHITELISTED: -+ printf("Whitelist entry: "); -+ if (reason->type == DIGEST) -+ print_digest(&reason->digest); -+ else if (reason->type == SIGNATURE) -+ print_signatures(&reason->sig, &reason->db_cert); -+ else -+ errx(1, "Unknown data type %d\n", reason->type); -+ break; -+ case INVALID: -+ if (reason->type == DIGEST) { -+ printf("Invalid digest: "); -+ print_digest(&reason->digest); -+ } else if (reason->type == SIGNATURE) { -+ printf("Invalid signature: "); -+ print_signatures(&reason->sig, &reason->db_cert); -+ } else { -+ errx(1, "Unknown data type %d\n", reason->type); -+ } -+ break; -+ case BLACKLISTED: -+ if (reason->type == DIGEST) { -+ printf("Invalid digest: "); -+ print_digest(&reason->digest); -+ } else if (reason->type == SIGNATURE) { -+ printf("Invalid signature: "); -+ print_signatures(&reason->sig, &reason->db_cert); -+ } else { -+ errx(1, "Unknown data type %d\n", reason->type); -+ } -+ break; -+ case NO_WHITELIST: -+ if (reason->type == NONE) -+ printf("No matching whitelist entry.\n"); -+ else -+ errx(1, "Invalid data type %d\n", reason->type); -+ break; -+ default: -+ errx(1, "Unknown reason type %d\n", reason->reason); -+ break; -+ } -+} -+ -+static void -+get_digest(pesigcheck_context *ctx, SECItem *digest) -+{ -+ struct cms_context *cms = ctx->cms_ctx; -+ struct digest *cms_digest = &cms->digests[cms->selected_digest]; -+ -+ memcpy(digest, cms_digest->pe_digest, sizeof (*digest)); -+} -+ - static int --check_signature(pesigcheck_context *ctx) -+check_signature(pesigcheck_context *ctx, int *nreasons, -+ struct reason **reasons) - { -- int has_valid_cert = 0; -- int has_invalid_cert = 0; -+ bool has_valid_cert = false; -+ bool is_invalid = false; -+ struct reason *reasonps = NULL, *reason; -+ int num_reasons = 16; -+ int nreason = 0; - int rc = 0; -+ int ret = -1; - - cert_iter iter; - -+ reasonps = calloc(sizeof(struct reason), 512); -+ if (!reasonps) -+ err(1, "check_signature"); -+ - generate_digest(ctx->cms_ctx, ctx->inpe, 1); - -- if (check_db_hash(DBX, ctx) == FOUND) -- return -1; -+ if (check_db_hash(DBX, ctx) == FOUND) { -+ reason = &reasonps[nreason]; -+ reason->reason = BLACKLISTED; -+ reason->type = DIGEST; -+ get_digest(ctx, &reason->digest); -+ reason += 1; -+ is_invalid = true; -+ } - -- if (check_db_hash(DB, ctx) == FOUND) -- has_valid_cert = 1; -+ if (check_db_hash(DB, ctx) == FOUND) { -+ reason = &reasonps[nreason]; -+ reason->reason = WHITELISTED; -+ reason->type = DIGEST; -+ get_digest(ctx, &reason->digest); -+ nreason += 1; -+ has_valid_cert = true; -+ } - - rc = cert_iter_init(&iter, ctx->inpe); - if (rc < 0) -@@ -145,32 +281,81 @@ check_signature(pesigcheck_context *ctx) - ssize_t datalen; - - while (1) { -+ /* -+ * Make sure we always have enough for this iteration of the -+ * loop, plus one "NO_WHITELIST" entry at the end. -+ */ -+ if (nreason >= num_reasons - 4) { -+ struct reason *new_reasons; -+ -+ num_reasons += 16; -+ -+ new_reasons = calloc(sizeof(struct reason), num_reasons); -+ if (!new_reasons) -+ err(1, "check_signature"); -+ reasonps = new_reasons; -+ } -+ - rc = next_cert(&iter, &data, &datalen); - if (rc <= 0) - break; - -- if (cert_matches_digest(ctx, data, datalen) < 0) { -- has_invalid_cert = 1; -- break; -+ reason = &reasonps[nreason]; -+ if (cert_matches_digest(ctx, data, datalen, -+ &reason->digest) < 0) { -+ reason->reason = INVALID; -+ reason->type = DIGEST; -+ nreason += 1; -+ is_invalid = true; - } - -- if (check_db_cert(DBX, ctx, data, datalen) == FOUND) { -- has_invalid_cert = 1; -- break; -+ reason = &reasonps[nreason]; -+ if (check_db_cert(DBX, ctx, data, datalen, -+ &reason->db_cert) == FOUND) { -+ reason->reason = INVALID; -+ reason->type = SIGNATURE; -+ reason->sig.data = data; -+ reason->sig.len = datalen; -+ reason->type = siBuffer; -+ nreason += 1; -+ is_invalid = true; - } - -- if (check_db_cert(DB, ctx, data, datalen) == FOUND) -- has_valid_cert = 1; -+ reason = &reasonps[nreason]; -+ if (check_db_cert(DB, ctx, data, datalen, -+ &reason->db_cert) == FOUND) { -+ reason->reason = WHITELISTED; -+ reason->type = SIGNATURE; -+ reason->sig.data = data; -+ reason->sig.len = datalen; -+ reason->type = siBuffer; -+ nreason += 1; -+ has_valid_cert = true; -+ } - } - - err: -- if (has_invalid_cert) -- return -1; -+ if (has_valid_cert != true) { -+ if (is_invalid != true) { -+ reason = &reasonps[nreason]; -+ reason->reason = NO_WHITELIST; -+ reason->type = NONE; -+ nreason += 1; -+ } -+ is_invalid = true; -+ } - -- if (has_valid_cert) -- return 0; -+ if (is_invalid == false) -+ ret = 0; - -- return -1; -+ if (nreasons && reasons) { -+ *nreasons = nreason; -+ *reasons = reasonps; -+ } else { -+ free(reasonps); -+ } -+ -+ return ret; - } - - void -@@ -204,6 +389,9 @@ main(int argc, char *argv[]) - - pesigcheck_context ctx, *ctxp = &ctx; - -+ struct reason *reasons = NULL; -+ int nreasons = 0; -+ - char *dbfile = NULL; - char *dbxfile = NULL; - char *certfile = NULL; -@@ -242,6 +430,12 @@ main(int argc, char *argv[]) - .arg = &ctx.quiet, - .val = 1, - .descrip = "return only; no text output." }, -+ {.longName = "verbose", -+ .shortName = 'v', -+ .argInfo = POPT_BIT_SET, -+ .arg = &ctx.verbose, -+ .val = 1, -+ .descrip = "print reasons for success and failure." }, - {.longName = "no-system-db", - .shortName = 'n', - .argInfo = POPT_ARG_INT, -@@ -308,12 +502,16 @@ main(int argc, char *argv[]) - exit(1); - } - -- rc = check_signature(ctxp); -+ rc = check_signature(ctxp, &nreasons, &reasons); - -- close_input(ctxp); -+ if (!ctx.quiet && ctx.verbose) { -+ for (int i = 0; i < nreasons; i++) -+ print_reason(&reasons[i]); -+ } - if (!ctx.quiet) - printf("pesigcheck: \"%s\" is %s.\n", ctx.infile, - rc >= 0 ? "valid" : "invalid"); -+ close_input(ctxp); - pesigcheck_context_fini(&ctx); - - NSS_Shutdown(); -diff --git a/src/pesigcheck_context.h b/src/pesigcheck_context.h -index 7b5cc89..aec415e 100644 ---- a/src/pesigcheck_context.h -+++ b/src/pesigcheck_context.h -@@ -61,6 +61,7 @@ typedef struct pesigcheck_context { - Pe *inpe; - - int quiet; -+ int verbose; - - hashlist *hashes; - --- -2.13.4 - diff --git a/0021-Fix-race-condition-in-SEC_GetPassword.patch b/0021-Fix-race-condition-in-SEC_GetPassword.patch deleted file mode 100644 index 3088923..0000000 --- a/0021-Fix-race-condition-in-SEC_GetPassword.patch +++ /dev/null @@ -1,34 +0,0 @@ -From a40c584691ae071e93e8adf4e5c05bcd90c68159 Mon Sep 17 00:00:00 2001 -From: Julien Cristau -Date: Sat, 6 May 2017 22:45:34 +0200 -Subject: [PATCH 21/29] Fix race condition in SEC_GetPassword - -A side effect of echoOff is to discard unread input, so if we print the -prompt before echoOff, the user (or process) at the other end might -react to it by writing the password in between those steps, which is -then discarded. This bit me when trying to drive pesign with an expect -script. - -Signed-off-by: Julien Cristau ---- - src/password.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/password.c b/src/password.c -index cd1c07e..d4eae0d 100644 ---- a/src/password.c -+++ b/src/password.c -@@ -71,9 +71,9 @@ static char *SEC_GetPassword(FILE *input, FILE *output, char *prompt, - for (;;) { - /* Prompt for password */ - if (isTTY) { -+ echoOff(infd); - fprintf(output, "%s", prompt); - fflush (output); -- echoOff(infd); - } - - fgets ( phrase, sizeof(phrase), input); --- -2.13.4 - diff --git a/0022-sysvinit-Create-the-socket-directory-at-runtime.patch b/0022-sysvinit-Create-the-socket-directory-at-runtime.patch deleted file mode 100644 index 06980ee..0000000 --- a/0022-sysvinit-Create-the-socket-directory-at-runtime.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 27afa5a4ea8de1679603f5871935096280d0b12e Mon Sep 17 00:00:00 2001 -From: David Michael -Date: Tue, 13 Jun 2017 13:20:16 -0700 -Subject: [PATCH 22/29] sysvinit: Create the socket directory at runtime - -This better supports non-systemd configurations with tmpfs on /run. ---- - src/pesign.sysvinit.in | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/pesign.sysvinit.in b/src/pesign.sysvinit.in -index d8fffca..dc508d8 100644 ---- a/src/pesign.sysvinit.in -+++ b/src/pesign.sysvinit.in -@@ -20,6 +20,9 @@ RETVAL=0 - - start(){ - echo -n "Starting pesign: " -+ mkdir /var/run/pesign 2>/dev/null && -+ chown pesign:pesign /var/run/pesign && -+ chmod 0770 /var/run/pesign - daemon /usr/bin/pesign --daemonize - RETVAL=$? - echo --- -2.13.4 - diff --git a/0023-Better-authorization-scripts.-Again.patch b/0023-Better-authorization-scripts.-Again.patch deleted file mode 100644 index c778c94..0000000 --- a/0023-Better-authorization-scripts.-Again.patch +++ /dev/null @@ -1,217 +0,0 @@ -From 31560e2784722b986b8a73cc28e3510870180b07 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 8 Aug 2017 15:44:44 -0400 -Subject: [PATCH 23/29] Better authorization scripts. Again. - -Signed-off-by: Peter Jones ---- - src/Makefile | 12 ++++++---- - src/pesign-authorize | 56 +++++++++++++++++++++++++++++++++++++++++++++ - src/pesign-authorize-groups | 30 ------------------------ - src/pesign-authorize-users | 30 ------------------------ - src/pesign.service.in | 3 +-- - src/pesign.sysvinit.in | 3 +-- - 6 files changed, 65 insertions(+), 69 deletions(-) - create mode 100755 src/pesign-authorize - delete mode 100644 src/pesign-authorize-groups - delete mode 100644 src/pesign-authorize-users - -diff --git a/src/Makefile b/src/Makefile -index 654b792..84ad130 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -7,7 +7,7 @@ include $(TOPDIR)/Make.defaults - - BINTARGETS=authvar client efikeygen efisiglist pesigcheck pesign - SVCTARGETS=pesign.sysvinit pesign.service --TARGETS=$(BINTARGETS) $(SVCTARGETS) -+TARGETS=$(BINTARGETS) $(SVCTARGETS) pesign-users pesign-groups - - all : deps $(TARGETS) - -@@ -65,6 +65,9 @@ install_sysvinit: pesign.sysvinit - $(INSTALL) -d -m 755 $(INSTALLROOT)/etc/rc.d/init.d/ - $(INSTALL) -m 755 pesign.sysvinit $(INSTALLROOT)/etc/rc.d/init.d/pesign - -+pesign-users pesign-groups : -+ echo pesign > $@ -+ - install : - $(INSTALL) -d -m 700 $(INSTALLROOT)/etc/pki/pesign/ - $(INSTALL) -d -m 700 $(INSTALLROOT)/etc/pki/pesign-rh-test/ -@@ -88,10 +91,9 @@ install : - $(INSTALL) -d -m 755 $(INSTALLROOT)/etc/rpm/ - $(INSTALL) -m 644 macros.pesign $(INSTALLROOT)/etc/rpm/ - $(INSTALL) -d -m 755 $(INSTALLROOT)$(libexecdir)/pesign/ -- $(INSTALL) -m 750 pesign-authorize-users $(INSTALLROOT)$(libexecdir)/pesign/ -- $(INSTALL) -m 750 pesign-authorize-groups $(INSTALLROOT)$(libexecdir)/pesign/ -+ $(INSTALL) -m 750 pesign-authorize $(INSTALLROOT)$(libexecdir)/pesign/ - $(INSTALL) -d -m 700 $(INSTALLROOT)/etc/pesign -- $(INSTALL) -m 600 /dev/null $(INSTALLROOT)/etc/pesign/users -- $(INSTALL) -m 600 /dev/null $(INSTALLROOT)/etc/pesign/groups -+ $(INSTALL) -m 600 pesign-users $(INSTALLROOT)/etc/pesign/users -+ $(INSTALL) -m 600 pesign-groups $(INSTALLROOT)/etc/pesign/groups - - .PHONY: all deps clean install -diff --git a/src/pesign-authorize b/src/pesign-authorize -new file mode 100755 -index 0000000..a496f60 ---- /dev/null -+++ b/src/pesign-authorize -@@ -0,0 +1,56 @@ -+#!/bin/bash -+set -e -+set -u -+ -+# -+# With /run/pesign/socket on tmpfs, a simple way of restoring the -+# acls for specific users is useful -+# -+# Compare to: http://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/bkernel/tasks/main.yml?id=17198dadebf59d8090b7ed621bc8ab22152d2eb6 -+# -+ -+# License: GPLv2 -+declare -a fileusers=() -+declare -a dirusers=() -+for user in $(cat /etc/pesign/users); do -+ dirusers[${#dirusers[@]}]=-m -+ dirusers[${#dirusers[@]}]="u:$user:rwx" -+ fileusers[${#fileusers[@]}]=-m -+ fileusers[${#fileusers[@]}]="u:$user:rw" -+done -+ -+declare -a filegroups=() -+declare -a dirgroups=() -+for group in $(cat /etc/pesign/groups); do -+ dirgroups[${#dirgroups[@]}]=-m -+ dirgroups[${#dirgroups[@]}]="g:$group:rwx" -+ filegroups[${#filegroups[@]}]=-m -+ filegroups[${#filegroups[@]}]="g:$group:rw" -+done -+ -+update_subdir() { -+ subdir=$1 && shift -+ -+ setfacl -bk "${subdir}" -+ setfacl "${dirusers[@]}" "${dirgroups[@]}" "${subdir}" -+ for x in "${subdir}"* ; do -+ if [ -d "${x}" ]; then -+ setfacl -bk ${x} -+ setfacl "${dirusers[@]}" "${dirgroups[@]}" ${x} -+ update_subdir "${x}/" -+ elif [ -e "${x}" ]; then -+ setfacl -bk ${x} -+ setfacl "${fileusers[@]}" "${filegroups[@]}" ${x} -+ else -+ :; -+ fi -+ done -+} -+ -+for x in /var/run/pesign/ /etc/pki/pesign*/ ; do -+ if [ -d "${x}" ]; then -+ update_subdir "${x}" -+ else -+ :; -+ fi -+done -diff --git a/src/pesign-authorize-groups b/src/pesign-authorize-groups -deleted file mode 100644 -index cf51fb6..0000000 ---- a/src/pesign-authorize-groups -+++ /dev/null -@@ -1,30 +0,0 @@ --#!/bin/bash --set -e -- --# --# With /run/pesign/socket on tmpfs, a simple way of restoring the --# acls for specific groups is useful --# --# Compare to: http://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/bkernel/tasks/main.yml?id=17198dadebf59d8090b7ed621bc8ab22152d2eb6 --# -- --# License: GPLv2 -- --if [ -r /etc/pesign/groups ]; then -- for group in $(cat /etc/pesign/groups); do -- if [ -d /var/run/pesign ]; then -- setfacl -m g:${group}:rx /var/run/pesign -- if [ -e /var/run/pesign/socket ]; then -- setfacl -m g:${group}:rw /var/run/pesign/socket -- fi -- fi -- for x in /etc/pki/pesign*/ ; do -- if [ -d ${x} ]; then -- setfacl -m g:${group}:rx ${x} -- for y in ${x}{cert8,key3,secmod}.db ; do -- setfacl -m g:${group}:rw ${y} -- done -- fi -- done -- done --fi -diff --git a/src/pesign-authorize-users b/src/pesign-authorize-users -deleted file mode 100644 -index 940138e..0000000 ---- a/src/pesign-authorize-users -+++ /dev/null -@@ -1,30 +0,0 @@ --#!/bin/bash --set -e -- --# --# With /run/pesign/socket on tmpfs, a simple way of restoring the --# acls for specific users is useful --# --# Compare to: http://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/bkernel/tasks/main.yml?id=17198dadebf59d8090b7ed621bc8ab22152d2eb6 --# -- --# License: GPLv2 -- --if [ -r /etc/pesign/users ]; then -- for username in $(cat /etc/pesign/users); do -- if [ -d /var/run/pesign ]; then -- setfacl -m g:${username}:rx /var/run/pesign -- if [ -e /var/run/pesign/socket ]; then -- setfacl -m g:${username}:rw /var/run/pesign/socket -- fi -- fi -- for x in /etc/pki/pesign*/ ; do -- if [ -d ${x} ]; then -- setfacl -m g:${username}:rx ${x} -- for y in ${x}{cert8,key3,secmod}.db ; do -- setfacl -m g:${username}:rw ${y} -- done -- fi -- done -- done --fi -diff --git a/src/pesign.service.in b/src/pesign.service.in -index aaa408e..c75a000 100644 ---- a/src/pesign.service.in -+++ b/src/pesign.service.in -@@ -6,5 +6,4 @@ PrivateTmp=true - Type=forking - PIDFile=/var/run/pesign.pid - ExecStart=/usr/bin/pesign --daemonize --ExecStartPost=@@LIBEXECDIR@@/pesign/pesign-authorize-users --ExecStartPost=@@LIBEXECDIR@@/pesign/pesign-authorize-groups -+ExecStartPost=@@LIBEXECDIR@@/pesign/pesign-authorize -diff --git a/src/pesign.sysvinit.in b/src/pesign.sysvinit.in -index dc508d8..b0e0f84 100644 ---- a/src/pesign.sysvinit.in -+++ b/src/pesign.sysvinit.in -@@ -27,8 +27,7 @@ start(){ - RETVAL=$? - echo - touch /var/lock/subsys/pesign -- @@LIBEXECDIR@@/pesign/pesign-authorize-users -- @@LIBEXECDIR@@/pesign/pesign-authorize-groups -+ @@LIBEXECDIR@@/pesign/pesign-authorize - } - - stop(){ --- -2.13.4 - diff --git a/0024-Make-the-daemon-also-try-to-give-better-errors-on-EP.patch b/0024-Make-the-daemon-also-try-to-give-better-errors-on-EP.patch deleted file mode 100644 index 8f4a380..0000000 --- a/0024-Make-the-daemon-also-try-to-give-better-errors-on-EP.patch +++ /dev/null @@ -1,95 +0,0 @@ -From a7b0f7e1ce2de1acea9a8c286a0ff3dd9bc245cb Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 8 Aug 2017 17:28:19 -0400 -Subject: [PATCH 24/29] Make the daemon also try to give better errors on - -EPERM etc. - -Basically 6796e5f but also for the daemon. This also tries to fix them -up to save errno better, for more accurate reporting. - -Signed-off-by: Peter Jones ---- - src/daemon.c | 27 +++++++++++++++++++++++++-- - src/pesign.c | 8 ++++++-- - 2 files changed, 31 insertions(+), 4 deletions(-) - -diff --git a/src/daemon.c b/src/daemon.c -index 7f694b2..942d576 100644 ---- a/src/daemon.c -+++ b/src/daemon.c -@@ -19,6 +19,7 @@ - - #include - #include -+#include - #include - #include - #include -@@ -1104,10 +1105,32 @@ daemonize(cms_context *cms_ctx, char *certdir, int do_fork) - "pesignd starting (pid %d)", ctx.pid); - - SECStatus status = NSS_Init(certdir); -+ int error = errno; - if (status != SECSuccess) { -+ char *globpattern = NULL; -+ rc = asprintf(&globpattern, "%s/cert*.db", -+ certdir); -+ if (rc > 0) { -+ glob_t globbuf; -+ memset(&globbuf, 0, sizeof(globbuf)); -+ rc = glob(globpattern, GLOB_ERR, NULL, -+ &globbuf); -+ if (rc != 0) { -+ errno = error; -+ ctx.backup_cms->log(ctx.backup_cms, -+ ctx.priority|LOG_NOTICE, -+ "Could not open NSS database (\"%s\"): %m", -+ PORT_ErrorToString(PORT_GetError())); -+ exit(1); -+ } -+ } -+ } -+ if (status != SECSuccess) { -+ errno = error; - ctx.backup_cms->log(ctx.backup_cms, ctx.priority|LOG_NOTICE, -- "Could not initialize nss: %s\n", -- PORT_ErrorToString(PORT_GetError())); -+ "Could not initialize nss.\n" -+ "NSS says \"%s\" errno says \"%m\"\n", -+ PORT_ErrorToString(PORT_GetError())); - exit(1); - } - -diff --git a/src/pesign.c b/src/pesign.c -index 5879cfc..6ceda34 100644 ---- a/src/pesign.c -+++ b/src/pesign.c -@@ -660,10 +660,12 @@ main(int argc, char *argv[]) - - if (!daemon) { - SECStatus status; -+ int error; - if (need_db) { - status = NSS_Init(certdir); - if (status != SECSuccess) { - char *globpattern = NULL; -+ error = errno; - rc = asprintf(&globpattern, "%s/cert*.db", - certdir); - if (rc > 0) { -@@ -680,8 +682,10 @@ main(int argc, char *argv[]) - } else - status = NSS_NoDB_Init(NULL); - if (status != SECSuccess) { -- errx(1, "Could not initialize nss. NSS says \"%s\" errno says \"%m\"\n", -- PORT_ErrorToString(PORT_GetError())); -+ errno = error; -+ errx(1, "Could not initialize nss.\n" -+ "NSS says \"%s\" errno says \"%m\"\n", -+ PORT_ErrorToString(PORT_GetError())); - } - - status = register_oids(ctxp->cms_ctx); --- -2.13.4 - diff --git a/0025-certdb-fix-PRTime-printfs-for-i686.patch b/0025-certdb-fix-PRTime-printfs-for-i686.patch deleted file mode 100644 index 0fc2ad8..0000000 --- a/0025-certdb-fix-PRTime-printfs-for-i686.patch +++ /dev/null @@ -1,31 +0,0 @@ -From bc1043bf2b428971e29a61a341da9a57595bada5 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Wed, 9 Aug 2017 17:40:33 -0400 -Subject: [PATCH 25/29] certdb: fix PRTime printfs for i686 - -Signed-off-by: Peter Jones ---- - src/certdb.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/src/certdb.c b/src/certdb.c -index fae80af..29c9502 100644 ---- a/src/certdb.c -+++ b/src/certdb.c -@@ -384,11 +384,10 @@ check_cert(pesigcheck_context *ctx, SECItem *sig, efi_guid_t *sigtype, - } - - if (lateNow < earlyNow) -- printf("Signature has impossible time constraint: %ld <= %ld\n", -- earlyNow / 1000000, lateNow / 1000000); -+ printf("Signature has impossible time constraint: %lld <= %lld\n", -+ earlyNow / 1000000LL, lateNow / 1000000LL); - atTime = earlyNow / 2 + lateNow / 2; - -- - cinfo = SEC_PKCS7DecodeItem(pkcs7sig, NULL, NULL, NULL, NULL, NULL, - NULL, NULL); - if (!cinfo) --- -2.13.4 - diff --git a/0026-Clean-up-gcc-command-lines-a-little.patch b/0026-Clean-up-gcc-command-lines-a-little.patch deleted file mode 100644 index 928d62d..0000000 --- a/0026-Clean-up-gcc-command-lines-a-little.patch +++ /dev/null @@ -1,41 +0,0 @@ -From a44115c9b4f43a1a7219f897bd33555e653d2e20 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Thu, 10 Aug 2017 10:02:38 -0400 -Subject: [PATCH 26/29] Clean up gcc command lines a little - -Signed-off-by: Peter Jones ---- - Make.defaults | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -diff --git a/Make.defaults b/Make.defaults -index 39b78f0..b6c0381 100644 ---- a/Make.defaults -+++ b/Make.defaults -@@ -20,8 +20,7 @@ CROSS_COMPILE ?= $(bindir) - PKG_CONFIG = $(CROSS_COMPILE)pkg-config - CC := $(if $(filter default,$(origin CC)),$(CROSS_COMPILE)gcc,$(CC)) - CCLD := $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD)) --CFLAGS ?= -O0 -g3 -fvar-tracking -fvar-tracking-assignments \ -- -Wall -Werror -Wextra -Wno-error=cpp -+CFLAGS ?= -O0 -g3 -fvar-tracking -fvar-tracking-assignments -Wno-error=cpp - AS := $(CROSS_COMPILE)as - AR := $(CROSS_COMPILE)gcc-ar - RANLIB := $(CROSS_COMPILE)gcc-ranlib -@@ -36,10 +35,10 @@ ARCH := $(shell uname -m | sed s,i[3456789]86,ia32,) - - SOFLAGS = -shared - clang_cflags = --gcc_cflags = -Wmaybe-uninitialized -+gcc_cflags = -Wmaybe-uninitialized -grecord-gcc-switches - cflags = $(CFLAGS) $(ARCH3264) \ -- -Wall -Werror -Wno-cpp -Wsign-compare -Wno-unused-result \ -- -Wno-unused-function\ -+ -Wall -Werror -Wextra -Wsign-compare -Wno-unused-result \ -+ -Wno-unused-function -Wsign-compare \ - -std=gnu11 -fshort-wchar -fPIC -flto -fno-strict-aliasing \ - -fno-merge-constants -fkeep-inline-functions \ - -D_GNU_SOURCE -DCONFIG_$(ARCH) -I${TOPDIR}/include \ --- -2.13.4 - diff --git a/0027-Make-pesign-users-groups-static-in-the-repo.patch b/0027-Make-pesign-users-groups-static-in-the-repo.patch deleted file mode 100644 index 4131de3..0000000 --- a/0027-Make-pesign-users-groups-static-in-the-repo.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a133d051c3f8acf3e058e92711eb528c3c0f41f9 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Thu, 10 Aug 2017 10:03:37 -0400 -Subject: [PATCH 27/29] Make pesign-{users,groups} static in the repo. - -Signed-off-by: Peter Jones ---- - src/Makefile | 5 +---- - src/pesign-groups | 1 + - src/pesign-users | 1 + - 3 files changed, 3 insertions(+), 4 deletions(-) - create mode 100644 src/pesign-groups - create mode 100644 src/pesign-users - -diff --git a/src/Makefile b/src/Makefile -index 84ad130..7d68fa1 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -7,7 +7,7 @@ include $(TOPDIR)/Make.defaults - - BINTARGETS=authvar client efikeygen efisiglist pesigcheck pesign - SVCTARGETS=pesign.sysvinit pesign.service --TARGETS=$(BINTARGETS) $(SVCTARGETS) pesign-users pesign-groups -+TARGETS=$(BINTARGETS) $(SVCTARGETS) - - all : deps $(TARGETS) - -@@ -65,9 +65,6 @@ install_sysvinit: pesign.sysvinit - $(INSTALL) -d -m 755 $(INSTALLROOT)/etc/rc.d/init.d/ - $(INSTALL) -m 755 pesign.sysvinit $(INSTALLROOT)/etc/rc.d/init.d/pesign - --pesign-users pesign-groups : -- echo pesign > $@ -- - install : - $(INSTALL) -d -m 700 $(INSTALLROOT)/etc/pki/pesign/ - $(INSTALL) -d -m 700 $(INSTALLROOT)/etc/pki/pesign-rh-test/ -diff --git a/src/pesign-groups b/src/pesign-groups -new file mode 100644 -index 0000000..7f57cc5 ---- /dev/null -+++ b/src/pesign-groups -@@ -0,0 +1 @@ -+pesign -diff --git a/src/pesign-users b/src/pesign-users -new file mode 100644 -index 0000000..7f57cc5 ---- /dev/null -+++ b/src/pesign-users -@@ -0,0 +1 @@ -+pesign --- -2.13.4 - diff --git a/0028-rpm-Make-the-client-signer-use-the-fedora-values-unl.patch b/0028-rpm-Make-the-client-signer-use-the-fedora-values-unl.patch deleted file mode 100644 index ad9da8d..0000000 --- a/0028-rpm-Make-the-client-signer-use-the-fedora-values-unl.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 025eb8aea94761fdc45507b6192aafdef80d4842 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Wed, 9 Aug 2017 17:31:31 -0400 -Subject: [PATCH 28/29] rpm: Make the client signer use the fedora values - unless overridden - -Signed-off-by: Peter Jones ---- - src/macros.pesign | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -diff --git a/src/macros.pesign b/src/macros.pesign -index 69280e9..22a3ee6 100644 ---- a/src/macros.pesign -+++ b/src/macros.pesign -@@ -9,6 +9,9 @@ - %__pesign_token %{nil}%{?pe_signing_token:-t "%{pe_signing_token}"} - %__pesign_cert %{!?pe_signing_cert:"Red Hat Test Certificate"}%{?pe_signing_cert:"%{pe_signing_cert}"} - -+%__pesign_client_token %{!?pe_signing_token:"Fedora Signer (OpenSC Card)"}%{?pe_signing_token:"%{pe_signing_token}} -+%__pesign_client_cert %{!?pe_signing_cert:"/CN=Fedora Secure Boot Signer"}%{?pe_signing_cert:"%{pe_signing_cert}} -+ - %_pesign /usr/bin/pesign - %_pesign_client /usr/bin/pesign-client - -@@ -41,11 +44,11 @@ - --certdir ${nss} -c signer %{-o} \ - rm -rf ${sattrs} ${sattrs}.sig ${nss} \ - elif [ -S /var/run/pesign/socket ]; then \ -- %{_pesign_client} -t %{__pesign_token} \\\ -- -c %{__pesign_cert} \\\ -+ %{_pesign_client} -t %{__pesign_client_token} \\\ -+ -c %{__pesign_client_cert} \\\ - %{-i} %{-o} %{-e} %{-s} %{-C} \ - else \ -- %{_pesign} -t %{__pesign_token} -c %{__pesign_cert} \\\ -+ %{_pesign} %{__pesign_token} -c %{__pesign_cert} \\\ - --certdir ${_pesign_nssdir} \\\ - %{-i} %{-o} %{-e} %{-s} %{-C} \ - fi \ --- -2.13.4 - diff --git a/0029-Make-macros.pesign-error-in-kojibuilder-if-we-don-t-.patch b/0029-Make-macros.pesign-error-in-kojibuilder-if-we-don-t-.patch deleted file mode 100644 index 753afe8..0000000 --- a/0029-Make-macros.pesign-error-in-kojibuilder-if-we-don-t-.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 86a6b02e4b95ab3629446e71895cc5e57ad4482f Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Mon, 14 Aug 2017 11:37:43 -0400 -Subject: [PATCH 29/29] Make macros.pesign error in kojibuilder if we don't - have perms on the socket - ---- - src/macros.pesign | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/src/macros.pesign b/src/macros.pesign -index 22a3ee6..1665b4c 100644 ---- a/src/macros.pesign -+++ b/src/macros.pesign -@@ -43,6 +43,21 @@ - %{_pesign} -R ${sattrs}.sig -I ${sattrs} %{-i} \\\ - --certdir ${nss} -c signer %{-o} \ - rm -rf ${sattrs} ${sattrs}.sig ${nss} \ -+ elif [ "%{vendor}" == "Fedora Project" -a \\\ -+ "$(id -un)" == "mockbuild" -a \\\ -+ "$(uname -m)" == "x86_64" ] && \\\ -+ grep -q ID=fedora /etc/os-release && \\\ -+ [[ "%{_buildhost}" =~ ^bkernel.* ]] && \\\ -+ ! [ -S /var/run/pesign/socket ]; then \ -+ echo "No socket even though this is %{_buildhost}" \ -+ ls -ld /var/run/pesign || : \ -+ getfacl /var/run/pesign || : \ -+ ls -l /var/run/pesign/socket || : \ -+ getfacl /var/run/pesign/socket || : \ -+ echo =========== env ============== \ -+ set \ -+ echo =========== env ============== \ -+ exit 1 \ - elif [ -S /var/run/pesign/socket ]; then \ - %{_pesign_client} -t %{__pesign_client_token} \\\ - -c %{__pesign_client_cert} \\\ --- -2.13.4 - diff --git a/pesign-0.112.tar.bz2 b/pesign-0.112.tar.bz2 deleted file mode 100644 index 61f3b26fc3bec2cdd8be329d10d00ff373adfa1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90251 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 &ps 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 GHLSp3`I`{{ diff --git a/pesign-0.113.tar.gz b/pesign-0.113.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a7da586a5f9c02c36e6a885cbd93ab42992b2d21 GIT binary patch literal 124618 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 z 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 4.9.2-1 BuildRequires: nss-devel >= 3.13.6-1 efivar-devel >= 31-1 libuuid-devel tar xz -BuildRequires: python3-rpm-macros python3 systemd - -Patch0001: 0001-cms-kill-generate_integer-it-doesn-t-build-on-i686-a.patch -Patch0002: 0002-Fix-command-line-parsing.patch -Patch0003: 0003-gcc-don-t-error-on-stuff-in-includes.patch -Patch0004: 0004-Fix-certficate-argument-name.patch -Patch0005: 0005-Fix-description-of-ascii-armor-option-in-manpage.patch -Patch0006: 0006-Make-ascii-work-since-we-documented-it.patch -Patch0007: 0007-Switch-pesign-client-to-also-accept-token-cert-macro.patch -Patch0008: 0008-pesigcheck-Verify-with-the-cert-as-an-object-signer.patch -Patch0009: 0009-pesigcheck-make-certfile-actually-work.patch -Patch0010: 0010-signerInfos-make-sure-err-is-always-initialized.patch -Patch0011: 0011-pesign-make-pesign-h-tell-you-the-file-name.patch -Patch0012: 0012-Add-coverity-build-scripts.patch -Patch0013: 0013-Document-implicit-fallthrough.patch -Patch0014: 0014-Actually-setfacl-each-directory-of-our-key-storage.patch -Patch0015: 0015-oid-add-SHIM_EKU_MODULE_SIGNING_ONLY-and-fix-our-arr.patch -Patch0016: 0016-efikeygen-add-modsign.patch -Patch0017: 0017-check_cert_db-try-even-harder-to-pick-a-reasonable-v.patch -Patch0018: 0018-show-which-db-we-re-checking.patch -Patch0019: 0019-more-about-the-time.patch -Patch0020: 0020-try-to-say-why-something-fails.patch -Patch0021: 0021-Fix-race-condition-in-SEC_GetPassword.patch -Patch0022: 0022-sysvinit-Create-the-socket-directory-at-runtime.patch -Patch0023: 0023-Better-authorization-scripts.-Again.patch -Patch0024: 0024-Make-the-daemon-also-try-to-give-better-errors-on-EP.patch -Patch0025: 0025-certdb-fix-PRTime-printfs-for-i686.patch -Patch0026: 0026-Clean-up-gcc-command-lines-a-little.patch -Patch0027: 0027-Make-pesign-users-groups-static-in-the-repo.patch -Patch0028: 0028-rpm-Make-the-client-signer-use-the-fedora-values-unl.patch -Patch0029: 0029-Make-macros.pesign-error-in-kojibuilder-if-we-don-t-.patch +BuildRequires: python3-rpm-macros python3 systemd python3-devel %description pesign is a command line tool for manipulating signatures and @@ -58,7 +28,7 @@ Requires: %{name} = %{version}-%{release} Files for help with pesign. %prep -%autosetup -n %{name}-%{version} -p1 -T -b 0 -D -c -a 1 +%autosetup -n %{name}-113 -p1 -T -b 0 -D -c -a 1 tar -jxf %{SOURCE3} %build @@ -72,7 +42,7 @@ install -D etc/pki/pesign/* %{buildroot}%{_sysconfdir}/pki/pesign/ install -D etc/pki/pesign-rh-test/* %{buildroot}%{_sysconfdir}/pki/pesign-rh-test/ mv euleros-certs/etc/pki/pesign/euleros-pesign-db %{buildroot}/etc/pki/pesign/ install -D %{buildroot}%{_sysconfdir}/rpm/macros.pesign %{buildroot}%{macrosdir}/macros.pesign -rm -vf %{buildroot}/usr/share/doc/pesign-%{version}/COPYING +rm -vf %{buildroot}/usr/share/doc/pesign-113/COPYING install -d -m 0755 %{buildroot}%{python3_sitelib}/mockbuild/plugins/ install -m 0755 %{SOURCE2} %{buildroot}%{python3_sitelib}/mockbuild/plugins/ @@ -114,8 +84,6 @@ exit 0 %{python3_sitelib}/mockbuild/plugins/*/pesign.* %{python3_sitelib}/mockbuild/plugins/pesign.* %exclude /boot -%exclude /usr/include -%exclude %{_libdir}/libdpe* %exclude %{_sysconfdir}/rpm %files help @@ -123,6 +91,12 @@ exit 0 %{_mandir}/man*/* %changelog +* Mon Jan 13 2020 openEuler Buildteam - 0.113-1 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:update to 0.113 + * Tue Dec 3 2019 gulining - 0.112-28 - rewrite spec -- Gitee