Compare commits
3 commits
f573008075
...
31cafc8e7d
Author | SHA1 | Date | |
---|---|---|---|
31cafc8e7d | |||
ed325fd09b | |||
f2405d842b |
3 changed files with 28 additions and 6 deletions
|
@ -2,10 +2,10 @@
|
||||||
project('zlevis', license: 'GPL3', version: '1')
|
project('zlevis', license: 'GPL3', version: '1')
|
||||||
|
|
||||||
# Define bindir
|
# Define bindir
|
||||||
bindir=join_paths(get_option('prefix'), get_option('bindir'))
|
bindir = join_paths(get_option('prefix'), get_option('bindir'))
|
||||||
|
|
||||||
# Define bins list
|
# Define bins list
|
||||||
bins=[]
|
bins = []
|
||||||
|
|
||||||
# Define subdir with bins
|
# Define subdir with bins
|
||||||
subdir('src')
|
subdir('src')
|
||||||
|
|
|
@ -1,3 +1,13 @@
|
||||||
|
# Find scripts
|
||||||
|
encrypt = find_program('zlevis-encrypt')
|
||||||
|
decrypt = find_program('zlevis-decrypt')
|
||||||
|
fetch = find_program('zlevis-fetch')
|
||||||
|
|
||||||
|
# Test the scripts
|
||||||
|
test('zlevis-encrypt', encrypt, args: '--summary')
|
||||||
|
test('zlevis-decrypt', decrypt, args: '--summary')
|
||||||
|
test('zlevis-fetch', fetch, args: '--summary')
|
||||||
|
|
||||||
# Add paths of scripts to bins
|
# Add paths of scripts to bins
|
||||||
bins += join_paths(meson.current_source_dir(), 'zlevis-encrypt')
|
bins += join_paths(meson.current_source_dir(), 'zlevis-encrypt')
|
||||||
bins += join_paths(meson.current_source_dir(), 'zlevis-decrypt')
|
bins += join_paths(meson.current_source_dir(), 'zlevis-decrypt')
|
||||||
|
|
|
@ -3,8 +3,20 @@
|
||||||
# Exit immediately if a command exits with a non-zero status
|
# Exit immediately if a command exits with a non-zero status
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
# Summary of the script's functionality
|
||||||
|
summary="Decrypts a ZFS root pool with a TPM2.0 chip."
|
||||||
|
|
||||||
|
# Display summary if requested
|
||||||
|
if [ "$1" = "--summary" ]; then
|
||||||
|
echo "$summary"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
# Check if zlevis-decrypt is present
|
# Check if zlevis-decrypt is present
|
||||||
command -v zlevis-decrypt > /dev/null || exit 1
|
if ! command -v zlevis-decrypt > /dev/null; then
|
||||||
|
echo "Script zlevis-decrypt is not present"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Read ZFS dataset information.
|
# Read ZFS dataset information.
|
||||||
zfs list -Ho name,encryption,keystatus,encryptionroot,tpm:jwe | while IFS=$'\t' read -r ds enc keystatus encroot jwe; do
|
zfs list -Ho name,encryption,keystatus,encryptionroot,tpm:jwe | while IFS=$'\t' read -r ds enc keystatus encroot jwe; do
|
||||||
|
@ -18,7 +30,7 @@ zfs list -Ho name,encryption,keystatus,encryptionroot,tpm:jwe | while IFS=$'\t'
|
||||||
echo "Unlocked $ds"
|
echo "Unlocked $ds"
|
||||||
else
|
else
|
||||||
echo "Failed to unlock $ds" >&2
|
echo "Failed to unlock $ds" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue