mirror of
https://github.com/scito/extract_otp_secrets.git
synced 2025-12-14 02:40:26 +01:00
fix: improve error handling, abort on missing query parameter (data)
This commit is contained in:
@@ -87,8 +87,12 @@ def print_qr(data):
|
|||||||
for line in (line.strip() for line in fileinput.input(args.infile)):
|
for line in (line.strip() for line in fileinput.input(args.infile)):
|
||||||
if verbose: print(line)
|
if verbose: print(line)
|
||||||
if line.startswith('#') or line == '': continue
|
if line.startswith('#') or line == '': continue
|
||||||
|
if not line.startswith('otpauth-migration://'): print('\nWARN: line is not a otpauth-migration:// URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(args.infile, line))
|
||||||
parsed_url = urlparse(line)
|
parsed_url = urlparse(line)
|
||||||
params = parse_qs(parsed_url.query)
|
params = parse_qs(parsed_url.query)
|
||||||
|
if not 'data' in params:
|
||||||
|
print('\nERROR: no data query parameter in input URL\ninput file: {}\nline "{}"\nProbably a wrong file was given'.format(args.infile, line))
|
||||||
|
sys.exit(1)
|
||||||
data_encoded = params['data'][0]
|
data_encoded = params['data'][0]
|
||||||
data = base64.b64decode(data_encoded)
|
data = base64.b64decode(data_encoded)
|
||||||
payload = generated_python.google_auth_pb2.MigrationPayload()
|
payload = generated_python.google_auth_pb2.MigrationPayload()
|
||||||
|
|||||||
Reference in New Issue
Block a user