Blame SOURCES/0006-feat-rename-the-test-pin-to-null-pin.patch

cee3b6
From f668840e22e45ac8b16d770072b4395a155d089c Mon Sep 17 00:00:00 2001
cee3b6
From: Antonio Murdaca <runcom@linux.com>
cee3b6
Date: Wed, 1 Dec 2021 14:17:53 +0100
cee3b6
Subject: [PATCH 6/6] feat: rename the test pin to null pin
cee3b6
cee3b6
Signed-off-by: Antonio Murdaca <runcom@linux.com>
cee3b6
---
cee3b6
 src/initramfs-tools/hooks/clevis.in           |  1 +
cee3b6
 .../dracut/clevis-pin-null/meson.build        | 14 ++++++++++
cee3b6
 .../dracut/clevis-pin-null/module-setup.sh.in | 28 +++++++++++++++++++
cee3b6
 src/luks/systemd/dracut/meson.build           |  1 +
cee3b6
 ...levis-decrypt-test => clevis-decrypt-null} |  4 +--
cee3b6
 ...levis-encrypt-test => clevis-encrypt-null} |  4 +--
cee3b6
 src/pins/sss/meson.build                      |  5 +++-
cee3b6
 src/pins/sss/{pin-test => pin-null}           |  4 +--
cee3b6
 src/pins/sss/pin-sss                          | 12 ++++----
cee3b6
 9 files changed, 60 insertions(+), 13 deletions(-)
cee3b6
 create mode 100644 src/luks/systemd/dracut/clevis-pin-null/meson.build
cee3b6
 create mode 100755 src/luks/systemd/dracut/clevis-pin-null/module-setup.sh.in
cee3b6
 rename src/pins/sss/{clevis-decrypt-test => clevis-decrypt-null} (88%)
cee3b6
 rename src/pins/sss/{clevis-encrypt-test => clevis-encrypt-null} (90%)
cee3b6
 rename src/pins/sss/{pin-test => pin-null} (53%)
cee3b6
cee3b6
diff --git a/src/initramfs-tools/hooks/clevis.in b/src/initramfs-tools/hooks/clevis.in
cee3b6
index 7e6d2b3..8d60d05 100755
cee3b6
--- a/src/initramfs-tools/hooks/clevis.in
cee3b6
+++ b/src/initramfs-tools/hooks/clevis.in
cee3b6
@@ -58,6 +58,7 @@ fi
cee3b6
 
cee3b6
 copy_exec @bindir@/clevis-decrypt-tang || die 1 "@bindir@/clevis-decrypt-tang not found"
cee3b6
 copy_exec @bindir@/clevis-decrypt-sss || die 1 "@bindir@/clevis-decrypt-sss not found"
cee3b6
+copy_exec @bindir@/clevis-decrypt-null || die 1 "@bindir@/clevis-decrypt-null not found"
cee3b6
 copy_exec @bindir@/clevis-decrypt || die 1 "@bindir@/clevis-decrypt not found"
cee3b6
 copy_exec @bindir@/clevis-luks-common-functions || die 1 "@bindir@/clevis-luks-common-functions not found"
cee3b6
 copy_exec @bindir@/clevis-luks-list || die 1 "@bindir@/clevis-luks-list not found"
cee3b6
diff --git a/src/luks/systemd/dracut/clevis-pin-null/meson.build b/src/luks/systemd/dracut/clevis-pin-null/meson.build
cee3b6
new file mode 100644
cee3b6
index 0000000..107e3ba
cee3b6
--- /dev/null
cee3b6
+++ b/src/luks/systemd/dracut/clevis-pin-null/meson.build
cee3b6
@@ -0,0 +1,14 @@
cee3b6
+dracut = dependency('dracut', required: false)
cee3b6
+
cee3b6
+if dracut.found()
cee3b6
+  dracutdir = dracut.get_pkgconfig_variable('dracutmodulesdir') + '/60' + meson.project_name() + '-pin-null'
cee3b6
+
cee3b6
+  configure_file(
cee3b6
+    input: 'module-setup.sh.in',
cee3b6
+    output: 'module-setup.sh',
cee3b6
+    install_dir: dracutdir,
cee3b6
+    configuration: data,
cee3b6
+  )
cee3b6
+else
cee3b6
+  warning('Will not install dracut module clevis-pin-null due to missing dependencies!')
cee3b6
+endif
cee3b6
diff --git a/src/luks/systemd/dracut/clevis-pin-null/module-setup.sh.in b/src/luks/systemd/dracut/clevis-pin-null/module-setup.sh.in
cee3b6
new file mode 100755
cee3b6
index 0000000..6a16078
cee3b6
--- /dev/null
cee3b6
+++ b/src/luks/systemd/dracut/clevis-pin-null/module-setup.sh.in
cee3b6
@@ -0,0 +1,28 @@
cee3b6
+#!/bin/bash
cee3b6
+# vim: set tabstop=8 shiftwidth=4 softtabstop=4 expandtab smarttab colorcolumn=80:
cee3b6
+#
cee3b6
+# Copyright (c) 2016 Red Hat, Inc.
cee3b6
+# Author: Nathaniel McCallum <npmccallum@redhat.com>
cee3b6
+#
cee3b6
+# This program is free software: you can redistribute it and/or modify
cee3b6
+# it under the terms of the GNU General Public License as published by
cee3b6
+# the Free Software Foundation, either version 3 of the License, or
cee3b6
+# (at your option) any later version.
cee3b6
+#
cee3b6
+# This program is distributed in the hope that it will be useful,
cee3b6
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
cee3b6
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
cee3b6
+# GNU General Public License for more details.
cee3b6
+#
cee3b6
+# You should have received a copy of the GNU General Public License
cee3b6
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
cee3b6
+#
cee3b6
+
cee3b6
+depends() {
cee3b6
+    echo clevis
cee3b6
+    return 0
cee3b6
+}
cee3b6
+
cee3b6
+install() {
cee3b6
+    inst clevis-decrypt-null
cee3b6
+}
cee3b6
diff --git a/src/luks/systemd/dracut/meson.build b/src/luks/systemd/dracut/meson.build
cee3b6
index fdb264b..7ad5b14 100644
cee3b6
--- a/src/luks/systemd/dracut/meson.build
cee3b6
+++ b/src/luks/systemd/dracut/meson.build
cee3b6
@@ -2,3 +2,4 @@ subdir('clevis')
cee3b6
 subdir('clevis-pin-tang')
cee3b6
 subdir('clevis-pin-tpm2')
cee3b6
 subdir('clevis-pin-sss')
cee3b6
+subdir('clevis-pin-null')
cee3b6
diff --git a/src/pins/sss/clevis-decrypt-test b/src/pins/sss/clevis-decrypt-null
cee3b6
similarity index 88%
cee3b6
rename from src/pins/sss/clevis-decrypt-test
cee3b6
rename to src/pins/sss/clevis-decrypt-null
cee3b6
index f0e9249..a6217ed 100755
cee3b6
--- a/src/pins/sss/clevis-decrypt-test
cee3b6
+++ b/src/pins/sss/clevis-decrypt-null
cee3b6
@@ -22,11 +22,11 @@
cee3b6
 
cee3b6
 read -r -d . hdr
cee3b6
 
cee3b6
-if [ "$(jose fmt -q "$hdr" -SyOg clevis -g pin -u-)" != "test" ]; then
cee3b6
+if [ "$(jose fmt -q "$hdr" -SyOg clevis -g pin -u-)" != "null" ]; then
cee3b6
     echo "JWE pin mismatch!" >&2
cee3b6
     exit 1
cee3b6
 fi
cee3b6
 
cee3b6
-jwk="$(jose fmt -q "$hdr" -SyOg clevis -g test -g jwk -Oo-)" || exit 1
cee3b6
+jwk="$(jose fmt -q "$hdr" -SyOg clevis -g null -g jwk -Oo-)" || exit 1
cee3b6
 
cee3b6
 exec jose jwe dec -k- -i- < <(echo -n "$jwk$hdr."; /bin/cat)
cee3b6
diff --git a/src/pins/sss/clevis-encrypt-test b/src/pins/sss/clevis-encrypt-null
cee3b6
similarity index 90%
cee3b6
rename from src/pins/sss/clevis-encrypt-test
cee3b6
rename to src/pins/sss/clevis-encrypt-null
cee3b6
index bd2d6ec..af182a5 100755
cee3b6
--- a/src/pins/sss/clevis-encrypt-test
cee3b6
+++ b/src/pins/sss/clevis-encrypt-null
cee3b6
@@ -26,10 +26,10 @@ if ! cfg="$(jose fmt -j "$1" -Oo- 2>/dev/null)"; then
cee3b6
 fi
cee3b6
 
cee3b6
 jwk="$(jose jwk gen -i '{"alg":"A256GCM"}')"
cee3b6
-jwe='{"protected":{"clevis":{"pin":"test","test":{}}}}'
cee3b6
+jwe='{"protected":{"clevis":{"pin":"null","null":{}}}}'
cee3b6
 
cee3b6
 if ! jose fmt -j "$cfg" -g fail -T; then
cee3b6
-    jwe="$(jose fmt -j "$jwe" -Og protected -g clevis -g test -j "$jwk" -Os jwk -UUUUo-)"
cee3b6
+    jwe="$(jose fmt -j "$jwe" -Og protected -g clevis -g null -j "$jwk" -Os jwk -UUUUo-)"
cee3b6
 fi
cee3b6
 
cee3b6
 exec jose jwe enc -i- -k- -I- -c < <(echo -n "$jwe$jwk"; /bin/cat)
cee3b6
diff --git a/src/pins/sss/meson.build b/src/pins/sss/meson.build
cee3b6
index 7f20eea..2a5295a 100644
cee3b6
--- a/src/pins/sss/meson.build
cee3b6
+++ b/src/pins/sss/meson.build
cee3b6
@@ -28,8 +28,11 @@ if jansson.found() and libcrypto.found()
cee3b6
     separator: ':'
cee3b6
   )
cee3b6
 
cee3b6
+  bins += join_paths(meson.current_source_dir(), 'clevis-encrypt-null')
cee3b6
+  bins += join_paths(meson.current_source_dir(), 'clevis-decrypt-null')
cee3b6
+
cee3b6
   test('pin-sss', find_program(join_paths(src, 'pin-sss')), env: env)
cee3b6
-  test('pin-test', find_program(join_paths(src, 'pin-test')), env: env)
cee3b6
+  test('pin-null', find_program(join_paths(src, 'pin-null')), env: env)
cee3b6
 else
cee3b6
   warning('Will not install sss pin due to missing dependencies!')
cee3b6
 endif
cee3b6
diff --git a/src/pins/sss/pin-test b/src/pins/sss/pin-null
cee3b6
similarity index 53%
cee3b6
rename from src/pins/sss/pin-test
cee3b6
rename to src/pins/sss/pin-null
cee3b6
index 50c8c67..b14ac63 100755
cee3b6
--- a/src/pins/sss/pin-test
cee3b6
+++ b/src/pins/sss/pin-null
cee3b6
@@ -2,9 +2,9 @@
cee3b6
 
cee3b6
 trap 'exit' ERR
cee3b6
 
cee3b6
-e="$(echo -n hi | clevis encrypt test '{}')"
cee3b6
+e="$(echo -n hi | clevis encrypt null '{}')"
cee3b6
 d="$(echo -n "$e" | clevis decrypt)"
cee3b6
 test "$d" == "hi"
cee3b6
 
cee3b6
-e="$(echo -n hi | clevis encrypt test '{"fail":true}')"
cee3b6
+e="$(echo -n hi | clevis encrypt null '{"fail":true}')"
cee3b6
 ! echo "$e" | clevis decrypt
cee3b6
diff --git a/src/pins/sss/pin-sss b/src/pins/sss/pin-sss
cee3b6
index 5c0b8cf..24da052 100755
cee3b6
--- a/src/pins/sss/pin-sss
cee3b6
+++ b/src/pins/sss/pin-sss
cee3b6
@@ -1,24 +1,24 @@
cee3b6
 #!/bin/bash -ex
cee3b6
 
cee3b6
-e="$(echo hi | clevis encrypt sss '{"t":1,"pins":{"test":[{},{}]}}')"
cee3b6
+e="$(echo hi | clevis encrypt sss '{"t":1,"pins":{"null":[{},{}]}}')"
cee3b6
 d="$(echo "$e" | clevis decrypt)"
cee3b6
 test "$d" == "hi"
cee3b6
 
cee3b6
-e="$(echo hi | clevis encrypt sss '{"t":1,"pins":{"test":[{},{"fail":true}]}}')"
cee3b6
+e="$(echo hi | clevis encrypt sss '{"t":1,"pins":{"null":[{},{"fail":true}]}}')"
cee3b6
 d="$(echo "$e" | clevis decrypt)"
cee3b6
 test "$d" == "hi"
cee3b6
 
cee3b6
-e="$(echo hi | clevis encrypt sss '{"t":1,"pins":{"test":[{"fail":true},{"fail":true}]}}')"
cee3b6
+e="$(echo hi | clevis encrypt sss '{"t":1,"pins":{"null":[{"fail":true},{"fail":true}]}}')"
cee3b6
 ! echo "$e" | clevis decrypt
cee3b6
 
cee3b6
-e="$(echo hi | clevis encrypt sss '{"t":2,"pins":{"test":[{},{}]}}')"
cee3b6
+e="$(echo hi | clevis encrypt sss '{"t":2,"pins":{"null":[{},{}]}}')"
cee3b6
 d="$(echo "$e" | clevis decrypt)"
cee3b6
 test "$d" == "hi"
cee3b6
 
cee3b6
-e="$(echo hi | clevis encrypt sss '{"t":2,"pins":{"test":[{},{"fail":true}]}}')"
cee3b6
+e="$(echo hi | clevis encrypt sss '{"t":2,"pins":{"null":[{},{"fail":true}]}}')"
cee3b6
 ! echo "$e" | clevis decrypt
cee3b6
 
cee3b6
-e="$(echo hi | clevis encrypt sss '{"t":2,"pins":{"test":[{"fail":true},{"fail":true}]}}')"
cee3b6
+e="$(echo hi | clevis encrypt sss '{"t":2,"pins":{"null":[{"fail":true},{"fail":true}]}}')"
cee3b6
 ! echo "$e" | clevis decrypt
cee3b6
 
cee3b6
 ! e="$(echo hi | clevis encrypt sss '{"t":1,"pins":{"tang":[{"url":"foo bar"}]}}')"
cee3b6
-- 
cee3b6
2.33.1
cee3b6