Marco Ricci commited on 2024-12-07 09:30:38
Zeige 2 geänderte Dateien mit 8 Einfügungen und 3 Löschungen.
... | ... |
@@ -665,6 +665,7 @@ def export_storeroom_data( # noqa: C901,PLR0912,PLR0914,PLR0915 |
665 | 665 |
if encrypted_keys_version != 1: |
666 | 666 |
msg = f'cannot handle version {encrypted_keys_version} encrypted keys' |
667 | 667 |
raise RuntimeError(msg) |
668 |
+ logger.info('Parsing master keys data from .keys') |
|
668 | 669 |
encrypted_keys_iterations = 2 ** (10 + (encrypted_keys_params & 0x0F)) |
669 | 670 |
master_keys_keys = derive_master_keys_keys( |
670 | 671 |
master_keys_key, encrypted_keys_iterations |
... | ... |
@@ -682,6 +683,7 @@ def export_storeroom_data( # noqa: C901,PLR0912,PLR0914,PLR0915 |
682 | 683 |
if fnmatch.fnmatch(hashdir_name, '[01][0-9a-f]') |
683 | 684 |
] |
684 | 685 |
for file in valid_hashdirs: |
686 |
+ logger.info('Decrypting bucket %s', file) |
|
685 | 687 |
bucket_contents = list( |
686 | 688 |
decrypt_bucket_file(file, master_keys, root_dir=storeroom_path) |
687 | 689 |
) |
... | ... |
@@ -693,6 +695,7 @@ def export_storeroom_data( # noqa: C901,PLR0912,PLR0914,PLR0915 |
693 | 695 |
) |
694 | 696 |
dirs_to_check: dict[str, list[str]] = {} |
695 | 697 |
json_payload: Any |
698 |
+ logger.info('Assembling config structure') |
|
696 | 699 |
for path, json_content in sorted(json_contents.items()): |
697 | 700 |
if path.endswith('/'): |
698 | 701 |
logger.debug( |
... | ... |
@@ -721,7 +724,8 @@ def export_storeroom_data( # noqa: C901,PLR0912,PLR0914,PLR0915 |
721 | 724 |
json_content.decode('utf-8'), |
722 | 725 |
) |
723 | 726 |
_store(config_structure, path, json_content) |
724 |
- # Sorted order is important; see `mabye_obj` below. |
|
727 |
+ logger.info('Checking structure consistency') |
|
728 |
+ # Sorted order is important; see `maybe_obj` below. |
|
725 | 729 |
for _dir, namelist in sorted(dirs_to_check.items()): |
726 | 730 |
namelist = [x.rstrip('/') for x in namelist] # noqa: PLW2901 |
727 | 731 |
obj: dict[Any, Any] = config_structure |
... | ... |
@@ -168,6 +168,7 @@ class VaultNativeConfigParser(abc.ABC): |
168 | 168 |
salt=vault.Vault._UUID, # noqa: SLF001 |
169 | 169 |
iterations=iterations, |
170 | 170 |
).derive(bytes(password)) |
171 |
+ result_key = raw_key.hex().lower().encode('ASCII') |
|
171 | 172 |
logger.debug( |
172 | 173 |
'binary = pbkdf2(%s, %s, %s, %s, %s) = %s -> %s', |
173 | 174 |
repr(password), |
... | ... |
@@ -176,9 +177,9 @@ class VaultNativeConfigParser(abc.ABC): |
176 | 177 |
key_size // 2, |
177 | 178 |
repr('sha1'), |
178 | 179 |
_h(raw_key), |
179 |
- _h(raw_key.hex().lower().encode('ASCII')), |
|
180 |
+ _h(result_key), |
|
180 | 181 |
) |
181 |
- return raw_key.hex().lower().encode('ASCII') |
|
182 |
+ return result_key |
|
182 | 183 |
|
183 | 184 |
def _parse_contents(self) -> None: |
184 | 185 |
logger.info('Parsing IV, payload and signature from the file contents') |
185 | 186 |