From 459bb23320e1ffae557e9c136fedcf1213f9b6ec Mon Sep 17 00:00:00 2001 From: guoxiaoqi Date: Sat, 11 Jan 2020 16:13:20 +0800 Subject: [PATCH] update to 0.4.0 --- 0.3.0.tar.gz | Bin 31804 -> 0 bytes 0.4.0.tar.gz | Bin 0 -> 33222 bytes 0001-Fix-the-potential-buffer-overflow.patch | 36 ------- ...-Fix-the-32bit-signedness-comparison.patch | 34 ------ ...t-wchar-so-toggle-passwords-work-rig.patch | 42 -------- ...low-sha1-on-the-mokutil-command-line.patch | 32 ------ 0005-Make-all-efi_guid_t-const.patch | 87 ---------------- ...plicit-about-file-modes-in-all-cases.patch | 37 ------- 0007-Add-bash-completion-file.patch | 98 ------------------ mokutil.spec | 15 +-- 10 files changed, 5 insertions(+), 376 deletions(-) delete mode 100644 0.3.0.tar.gz create mode 100644 0.4.0.tar.gz delete mode 100644 0001-Fix-the-potential-buffer-overflow.patch delete mode 100644 0002-Fix-the-32bit-signedness-comparison.patch delete mode 100644 0003-Build-with-fshort-wchar-so-toggle-passwords-work-rig.patch delete mode 100644 0004-Don-t-allow-sha1-on-the-mokutil-command-line.patch delete mode 100644 0005-Make-all-efi_guid_t-const.patch delete mode 100644 0006-mokutil-be-explicit-about-file-modes-in-all-cases.patch delete mode 100644 0007-Add-bash-completion-file.patch diff --git a/0.3.0.tar.gz b/0.3.0.tar.gz deleted file mode 100644 index 900847b1dcd9d37bfcc394089639c49ea0b876c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31804 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 diff --git a/0.4.0.tar.gz b/0.4.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..56b094fc115558943e4b4443ee4194dedae1d683 GIT binary patch literal 33222 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 OKf`hs-ct+_Obh_>HG6UZ literal 0 HcmV?d00001 diff --git a/0001-Fix-the-potential-buffer-overflow.patch b/0001-Fix-the-potential-buffer-overflow.patch deleted file mode 100644 index ef8518f..0000000 --- a/0001-Fix-the-potential-buffer-overflow.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 1313fa02a5b2bfe61ee6702696600fc148ec2d6e Mon Sep 17 00:00:00 2001 -From: Gary Ching-Pang Lin -Date: Tue, 4 Nov 2014 15:50:03 +0800 -Subject: [PATCH 1/7] Fix the potential buffer overflow - -Signed-off-by: Gary Ching-Pang Lin ---- - src/mokutil.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/src/mokutil.c b/src/mokutil.c -index 5b34f22..93fb6fa 100644 ---- a/src/mokutil.c -+++ b/src/mokutil.c -@@ -1743,7 +1743,7 @@ set_toggle (const char * VarName, uint32_t state) - MokToggleVar tvar; - char *password = NULL; - unsigned int pw_len; -- efi_char16_t efichar_pass[SB_PASSWORD_MAX]; -+ efi_char16_t efichar_pass[SB_PASSWORD_MAX+1]; - int ret = -1; - - printf ("password length: %d~%d\n", SB_PASSWORD_MIN, SB_PASSWORD_MAX); -@@ -1757,8 +1757,7 @@ set_toggle (const char * VarName, uint32_t state) - efichar_from_char (efichar_pass, password, - SB_PASSWORD_MAX * sizeof(efi_char16_t)); - -- memcpy(tvar.password, efichar_pass, -- SB_PASSWORD_MAX * sizeof(efi_char16_t)); -+ memcpy(tvar.password, efichar_pass, sizeof(tvar.password)); - - tvar.mok_toggle_state = state; - --- -2.7.4 - diff --git a/0002-Fix-the-32bit-signedness-comparison.patch b/0002-Fix-the-32bit-signedness-comparison.patch deleted file mode 100644 index de24b1c..0000000 --- a/0002-Fix-the-32bit-signedness-comparison.patch +++ /dev/null @@ -1,34 +0,0 @@ -From cdb4b6f3bfd6ada6558ddfb889e27150f0841b28 Mon Sep 17 00:00:00 2001 -From: Gary Ching-Pang Lin -Date: Mon, 24 Nov 2014 11:38:54 +0800 -Subject: [PATCH 2/7] Fix the 32bit signedness comparison - ---- - src/mokutil.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/mokutil.c b/src/mokutil.c -index 93fb6fa..a7e83f7 100644 ---- a/src/mokutil.c -+++ b/src/mokutil.c -@@ -1284,7 +1284,7 @@ issue_mok_request (char **files, uint32_t total, MokRequest req, - - /* Mok */ - read_size = read (fd, ptr, sizes[i]); -- if (read_size < 0 || read_size != sizes[i]) { -+ if (read_size < 0 || read_size != (int64_t)sizes[i]) { - fprintf (stderr, "Failed to read %s\n", files[i]); - goto error; - } -@@ -1645,7 +1645,7 @@ export_moks () - goto error; - } - -- while (offset < list[i].mok_size) { -+ while (offset < (int64_t)list[i].mok_size) { - write_size = write (fd, list[i].mok + offset, - list[i].mok_size - offset); - if (write_size < 0) { --- -2.7.4 - diff --git a/0003-Build-with-fshort-wchar-so-toggle-passwords-work-rig.patch b/0003-Build-with-fshort-wchar-so-toggle-passwords-work-rig.patch deleted file mode 100644 index 80a677a..0000000 --- a/0003-Build-with-fshort-wchar-so-toggle-passwords-work-rig.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 9eb111a7f7b897ba4ae19a68708e010a5c384260 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Fri, 19 Jun 2015 16:53:36 -0400 -Subject: [PATCH 3/7] Build with -fshort-wchar so toggle passwords work right. - -This source tree uses: - -typedef wchar_t efi_char16_t; - -to define UEFI's UCS-2 character type. On many platforms, wchar_t is -32-bits by default. As a result, efichar_from_char winds up writing -4-byte characters instead of 2-byte characters. In the case where we -hash the password in mokutil, this works fine, because the same datatype -is used, and the values are the same. But for our feature toggles, -where we store the raw data and shim is interpretting the character -array, every other character winds up being L'\0', and verification -fails. - -So always build with -fshort-wchar to ensure we get 2-byte character -storage. - -Signed-off-by: Peter Jones ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index fe28fb9..69d412a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -37,7 +37,7 @@ else - default_strict=no - fi - --WARNINGFLAGS_C="$WARNINGFLAGS_C -std=gnu11" -+WARNINGFLAGS_C="$WARNINGFLAGS_C -std=gnu11 -fshort-wchar" - - AC_ARG_ENABLE(strict, AS_HELP_STRING([--enable-strict],[Enable strict compilation options]), enable_strict=$enableval, - enable_strict=$default_strict) --- -2.7.4 - diff --git a/0004-Don-t-allow-sha1-on-the-mokutil-command-line.patch b/0004-Don-t-allow-sha1-on-the-mokutil-command-line.patch deleted file mode 100644 index 3e75fda..0000000 --- a/0004-Don-t-allow-sha1-on-the-mokutil-command-line.patch +++ /dev/null @@ -1,32 +0,0 @@ -From ecc8fb0d92f0f453414a98172df22e23fb5893f5 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 16 Jun 2015 17:06:30 -0400 -Subject: [PATCH 4/7] Don't allow sha1 on the mokutil command line. - -Related: rhbz#1115843 - -Signed-off-by: Peter Jones ---- - src/mokutil.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/mokutil.c b/src/mokutil.c -index a7e83f7..1fb34f9 100644 ---- a/src/mokutil.c -+++ b/src/mokutil.c -@@ -1351,10 +1351,12 @@ identify_hash_type (const char *hash_str, efi_guid_t *type) - } - - switch (len) { -+#if 0 - case SHA_DIGEST_LENGTH*2: - *type = efi_guid_sha1; - hash_size = SHA_DIGEST_LENGTH; - break; -+#endif - case SHA224_DIGEST_LENGTH*2: - *type = efi_guid_sha224; - hash_size = SHA224_DIGEST_LENGTH; --- -2.7.4 - diff --git a/0005-Make-all-efi_guid_t-const.patch b/0005-Make-all-efi_guid_t-const.patch deleted file mode 100644 index 0e12a37..0000000 --- a/0005-Make-all-efi_guid_t-const.patch +++ /dev/null @@ -1,87 +0,0 @@ -From eba569a8e6c33f07042758cbfa1706d7339464e1 Mon Sep 17 00:00:00 2001 -From: Gary Lin -Date: Wed, 13 Jan 2016 16:05:21 +0800 -Subject: [PATCH 5/7] Make all efi_guid_t const - -All UEFI GUIDs defined in efivar are const. Declare all of them const -to make gcc happy. - -Signed-off-by: Gary Lin ---- - src/mokutil.c | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/src/mokutil.c b/src/mokutil.c -index 1fb34f9..d2c52b4 100644 ---- a/src/mokutil.c -+++ b/src/mokutil.c -@@ -200,7 +200,7 @@ efichar_from_char (efi_char16_t *dest, const char *src, size_t dest_len) - } - - static uint32_t --efi_hash_size (efi_guid_t *hash_type) -+efi_hash_size (const efi_guid_t *hash_type) - { - if (efi_guid_cmp (hash_type, &efi_guid_sha1) == 0) { - return SHA_DIGEST_LENGTH; -@@ -218,7 +218,7 @@ efi_hash_size (efi_guid_t *hash_type) - } - - static uint32_t --signature_size (efi_guid_t *hash_type) -+signature_size (const efi_guid_t *hash_type) - { - uint32_t hash_size; - -@@ -439,7 +439,7 @@ list_keys (uint8_t *data, size_t data_size) - - /* match the hash in the hash array and return the index if matched */ - static int --match_hash_array (efi_guid_t *hash_type, const void *hash, -+match_hash_array (const efi_guid_t *hash_type, const void *hash, - const void *hash_array, const uint32_t array_size) - { - uint32_t hash_size, hash_count; -@@ -469,8 +469,8 @@ match_hash_array (efi_guid_t *hash_type, const void *hash, - } - - static int --delete_data_from_list (efi_guid_t *var_guid, const char *var_name, -- efi_guid_t *type, void *data, uint32_t data_size) -+delete_data_from_list (const efi_guid_t *var_guid, const char *var_name, -+ const efi_guid_t *type, void *data, uint32_t data_size) - { - uint8_t *var_data = NULL; - size_t var_data_size = 0; -@@ -1006,8 +1006,8 @@ is_valid_cert (void *cert, uint32_t cert_size) - } - - static int --is_duplicate (efi_guid_t *type, const void *data, const uint32_t data_size, -- efi_guid_t *vendor, const char *db_name) -+is_duplicate (const efi_guid_t *type, const void *data, const uint32_t data_size, -+ const efi_guid_t *vendor, const char *db_name) - { - uint8_t *var_data; - size_t var_data_size; -@@ -1059,7 +1059,7 @@ done: - } - - static int --is_valid_request (efi_guid_t *type, void *mok, uint32_t mok_size, -+is_valid_request (const efi_guid_t *type, void *mok, uint32_t mok_size, - MokRequest req) - { - switch (req) { -@@ -1096,7 +1096,7 @@ is_valid_request (efi_guid_t *type, void *mok, uint32_t mok_size, - } - - static int --in_pending_request (efi_guid_t *type, void *data, uint32_t data_size, -+in_pending_request (const efi_guid_t *type, void *data, uint32_t data_size, - MokRequest req) - { - uint8_t *authvar_data; --- -2.7.4 - diff --git a/0006-mokutil-be-explicit-about-file-modes-in-all-cases.patch b/0006-mokutil-be-explicit-about-file-modes-in-all-cases.patch deleted file mode 100644 index a0d87f3..0000000 --- a/0006-mokutil-be-explicit-about-file-modes-in-all-cases.patch +++ /dev/null @@ -1,37 +0,0 @@ -From b68dca2d4de779387c4b5306bb9cfc9a3bab2572 Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 14 Jun 2016 10:19:43 -0400 -Subject: [PATCH 6/7] mokutil: be explicit about file modes in all cases. - -Signed-off-by: Peter Jones ---- - src/mokutil.c | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/mokutil.c b/src/mokutil.c -index d2c52b4..d554f6c 100644 ---- a/src/mokutil.c -+++ b/src/mokutil.c -@@ -574,7 +574,8 @@ delete_data_from_list (const efi_guid_t *var_guid, const char *var_name, - | EFI_VARIABLE_BOOTSERVICE_ACCESS - | EFI_VARIABLE_RUNTIME_ACCESS; - ret = efi_set_variable (*var_guid, var_name, -- var_data, total, attributes); -+ var_data, total, attributes, -+ S_IRUSR | S_IWUSR); - if (ret < 0) { - fprintf (stderr, "Failed to write variable \"%s\": %m\n", - var_name); -@@ -938,7 +939,8 @@ update_request (void *new_list, int list_len, MokRequest req, - data_size = list_len; - - if (efi_set_variable (efi_guid_shim, req_name, -- data, data_size, attributes) < 0) { -+ data, data_size, attributes, -+ S_IRUSR | S_IWUSR) < 0) { - switch (req) { - case ENROLL_MOK: - fprintf (stderr, "Failed to enroll new keys\n"); --- -2.7.4 - diff --git a/0007-Add-bash-completion-file.patch b/0007-Add-bash-completion-file.patch deleted file mode 100644 index 725ad66..0000000 --- a/0007-Add-bash-completion-file.patch +++ /dev/null @@ -1,98 +0,0 @@ -From d16c76d139f9a9a56b49c0dd51cd9056f626031e Mon Sep 17 00:00:00 2001 -From: Peter Jones -Date: Tue, 14 Jun 2016 10:20:14 -0400 -Subject: [PATCH 7/7] Add bash completion file. - -Signed-off-by: Peter Jones ---- - Makefile.am | 5 +++++ - configure.ac | 17 +++++++++++++++++ - data/mokutil | 37 +++++++++++++++++++++++++++++++++++++ - 3 files changed, 59 insertions(+) - create mode 100755 data/mokutil - -diff --git a/Makefile.am b/Makefile.am -index 9f0d419..c17cc4a 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -1 +1,6 @@ - SUBDIRS = src man -+ -+if ENABLE_BASH_COMPLETION -+ bashcompletiondir = $(BASH_COMPLETION_DIR) -+ dist_bashcompletion_DATA = data/mokutil -+endif -diff --git a/configure.ac b/configure.ac -index 69d412a..7b52a06 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -86,6 +86,23 @@ AC_CHECK_FUNCS([memset]) - PKG_CHECK_MODULES(OPENSSL, [openssl >= 0.9.8]) - PKG_CHECK_MODULES(EFIVAR, [efivar >= 0.12]) - -+AC_ARG_WITH([bash-completion-dir], -+ AS_HELP_STRING([--with-bash-completion-dir[=PATH]], -+ [Install the bash auto-completion script in this directory. @<:@default=yes@:>@]), -+ [], -+ [with_bash_completion_dir=yes]) -+ -+if test "x$with_bash_completion_dir" = "xyes"; then -+ PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], -+ [BASH_COMPLETION_DIR="`pkg-config --variable=completionsdir bash-completion`"], -+ [BASH_COMPLETION_DIR="$datadir/bash-completion/completions"]) -+else -+ BASH_COMPLETION_DIR="$with_bash_completion_dir" -+fi -+ -+AC_SUBST([BASH_COMPLETION_DIR]) -+AM_CONDITIONAL([ENABLE_BASH_COMPLETION],[test "x$with_bash_completion_dir" != "xno"]) -+ - AC_CONFIG_FILES([Makefile - src/Makefile - man/Makefile]) -diff --git a/data/mokutil b/data/mokutil -new file mode 100755 -index 0000000..800b039 ---- /dev/null -+++ b/data/mokutil -@@ -0,0 +1,37 @@ -+#!/bin/bash -+ -+_mokutil() -+{ -+ local cur=${COMP_WORDS[COMP_CWORD]} -+ -+ if [[ "$cur" == -* ]]; then -+ #COMPREPLY=( $( compgen -W "--help --list-enrolled --list-new --list-delete --import --delete --revoke-import --revoke-delete --export --password --clear-password --disable-validation --enable-validation --sb-state --test-key --reset --generate-hash --hash-file --root-pw --simple-hash" -- $cur ) ) -+ COMPREPLY=( $( compgen -W '$( _parse_help "$1" --long-help ) -h -l -N -D -i -d -x -p -c -t -f -g -P -s -X' -- "$cur" ) ) -+ [[ $COMPREPLY == *= ]] && compopt -o nospace -+ return 0 -+ fi -+ -+ case "${COMP_WORDS[COMP_CWORD-1]}" in -+ --import|-i|--delete|-d|--test-key|-t|--hash-file|-f) -+ _filedir -+ return 0 -+ ;; -+ --import-hash|--delete-hash) -+ COMPREPLY=( $( compgen -W "" ) ) -+ return 0 -+ ;; -+ --set-verbosity) -+ COMPREPLY=( $( compgen -W "true false") ) -+ return 0 -+ ;; -+ --generate-hash|-g) -+ COMPREPLY=( $( compgen -o nospace -P= -W "") ) -+ return 0 -+ ;; -+ *) -+ return 0 -+ ;; -+ esac -+} -+ -+complete -F _mokutil mokutil --- -2.7.4 - diff --git a/mokutil.spec b/mokutil.spec index 0d7b5bd..1917fe5 100644 --- a/mokutil.spec +++ b/mokutil.spec @@ -1,20 +1,12 @@ Name: mokutil -Version: 0.3.0 -Release: 11 +Version: 0.4.0 +Release: 1 Epoch: 1 Summary: Tools for manipulating machine owner keys License: GPLv3+ URL: https://github.com/lcp/mokutil Source0: https://github.com/lcp/mokutil/archive/%{version}.tar.gz -Patch0001: 0001-Fix-the-potential-buffer-overflow.patch -Patch0002: 0002-Fix-the-32bit-signedness-comparison.patch -Patch0003: 0003-Build-with-fshort-wchar-so-toggle-passwords-work-rig.patch -Patch0004: 0004-Don-t-allow-sha1-on-the-mokutil-command-line.patch -Patch0005: 0005-Make-all-efi_guid_t-const.patch -Patch0006: 0006-mokutil-be-explicit-about-file-modes-in-all-cases.patch -Patch0007: 0007-Add-bash-completion-file.patch - BuildRequires:gcc autoconf automake gnu-efi git openssl-devel openssl efivar-devel >= 31-1 git Conflicts: shim < 0.8-1 Obsoletes: mokutil < 0.2.0 @@ -65,5 +57,8 @@ make check %{_mandir}/man1/* %changelog +* Sat Jan 11 2020 openEuler Buildteam - 1:0.4.0-1 +- Update to 0.4.0 + * Fri Aug 23 2019 openEuler Buildteam - 1:0.3.0-11 - Package init