Blame SOURCES/0013-luks-define-max-entropy-bits-for-pwmake.patch

d27430
--- clevis-15.ori/src/clevis.1.adoc	2020-10-28 19:55:47.663228800 +0100
d27430
+++ clevis-15/src/clevis.1.adoc	2023-01-11 17:18:29.967295005 +0100
d27430
@@ -101,7 +101,7 @@
d27430
 
d27430
 This command performs four steps:
d27430
 
d27430
-1. Creates a new key with the same entropy as the LUKS master key.
d27430
+1. Creates a new key with the same entropy as the LUKS master key -- maximum entropy bits is 256.
d27430
 2. Encrypts the new key with Clevis.
d27430
 3. Stores the Clevis JWE in the LUKS header.
d27430
 4. Enables the new key for use with LUKS.
d27430
--- clevis-15.ori/src/luks/clevis-luks-bind.1.adoc	2020-10-28 19:55:47.663228800 +0100
d27430
+++ clevis-15/src/luks/clevis-luks-bind.1.adoc	2023-01-11 17:18:55.239351209 +0100
d27430
@@ -20,7 +20,7 @@
d27430
 
d27430
 This command performs four steps:
d27430
 
d27430
-1. Creates a new key with the same entropy as the LUKS master key.
d27430
+1. Creates a new key with the same entropy as the LUKS master key -- maximum entropy bits is 256.
d27430
 2. Encrypts the new key with Clevis.
d27430
 3. Stores the Clevis JWE in the LUKS header.
d27430
 4. Enables the new key for use with LUKS.
d27430
--- clevis-15.ori/src/luks/clevis-luks-common-functions	2023-01-11 17:15:44.984928070 +0100
d27430
+++ clevis-15/src/luks/clevis-luks-common-functions	2023-01-11 17:20:53.238613637 +0100
d27430
@@ -865,6 +865,7 @@
d27430
     [ -z "${DEV}" ] && return 1
d27430
 
d27430
     local dump filter bits
d27430
+    local MAX_ENTROPY_BITS=256
d27430
     dump=$(cryptsetup luksDump "${DEV}")
d27430
     if cryptsetup isLuks --type luks1 "${DEV}"; then
d27430
         filter="$(echo "${dump}" | sed -rn 's|MK bits:[ \t]*([0-9]+)|\1|p')"
d27430
@@ -876,6 +877,9 @@
d27430
     fi
d27430
 
d27430
     bits="$(echo -n "${filter}" | sort -n | tail -n 1)"
d27430
+    if [ "${bits}" -gt "${MAX_ENTROPY_BITS}" ]; then
d27430
+        bits="${MAX_ENTROPY_BITS}"
d27430
+    fi
d27430
     pwmake "${bits}"
d27430
 }
d27430
d27430
--- clevis-15.ori/src/luks/clevis-luks-bind.in	2023-01-11 17:15:44.815927694 +0100
d27430
+++ clevis-15/src/luks/clevis-luks-bind.in	2023-01-12 16:20:30.266404993 +0100
d27430
@@ -19,6 +19,8 @@
d27430
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
d27430
 #
d27430
 
d27430
+. clevis-luks-common-functions
d27430
+
d27430
 SUMMARY="Binds a LUKS device using the specified policy"
d27430
 UUID=cb6e8904-81ff-40da-a84a-07ab9ab5715e
d27430
 
d27430
@@ -139,14 +141,11 @@
d27430
 fi
d27430
 
d27430
 # Generate a key with the same entropy as the LUKS Master Key
d27430
-key="$(pwmake "$(
d27430
-cryptsetup luksDump "$DEV" \
d27430
-    | if [ "$luks_type" == "luks1" ]; then
d27430
-        sed -rn 's|MK bits:[ \t]*([0-9]+)|\1|p'
d27430
-    else
d27430
-        sed -rn 's|^\s+Key:\s+([0-9]+) bits\s*$|\1|p'
d27430
-    fi | sort -n | tail -n 1
d27430
-)")"
d27430
+if ! key="$(clevis_luks_generate_key "${DEV}")" \
d27430
+     || [ -z "${key}" ]; then
d27430
+    echo "Unable to generate key for ${DEV}" >&2
d27430
+    return 1
d27430
+fi
d27430
 
d27430
 # Encrypt the new key
d27430
 jwe="$(echo -n "$key" | clevis encrypt "$PIN" "$CFG" "${YES}")"