Changed partition password to !password

And also added a check to grab !encryption-password if no partition-specific password was given.
This commit is contained in:
Anton Hvornum 2021-11-09 22:19:40 +01:00
parent 4b4c66caa1
commit df59809206
1 changed files with 6 additions and 4 deletions

View File

@ -94,15 +94,17 @@ class Filesystem:
if partition.get('filesystem', {}).get('format', False):
if partition.get('encrypted', False):
if not partition.get('password'):
if not partition.get('!password') and not storage['arguments'].get('!encryption-password'):
if storage['arguments'] == 'silent':
raise ValueError(f"Missing encryption password for {partition['device_instance']}")
else:
from ..user_interaction import get_password
partition['password'] = get_password(f"Enter a encryption password for {partition['device_instance']}")
partition['!password'] = get_password(f"Enter a encryption password for {partition['device_instance']}")
elif not partition.get('!password') and storage['arguments'].get('!encryption-password'):
partition['!password'] = storage['arguments']['!encryption-password']
partition['device_instance'].encrypt(password=partition['password'])
with luks2(partition['device_instance'], storage.get('ENC_IDENTIFIER', 'ai') + 'loop', partition['password']) as unlocked_device:
partition['device_instance'].encrypt(password=partition['!password'])
with luks2(partition['device_instance'], storage.get('ENC_IDENTIFIER', 'ai') + 'loop', partition['!password']) as unlocked_device:
if not partition.get('format'):
if storage['arguments'] == 'silent':
raise ValueError(f"Missing fs-type to format on newly created encrypted partition {partition['device_instance']}")