From af5e0effffd4a8838645e0b64e357815ed35e3c8 Mon Sep 17 00:00:00 2001 From: philemon Date: Wed, 6 Aug 2014 22:50:31 +0400 Subject: [PATCH] Fixed regression in tx.py --- mmgen/crypto.py | 8 ++++---- mmgen/main_passchg.py | 7 ++----- mmgen/main_walletgen.py | 2 +- mmgen/tx.py | 4 ++-- mmgen/util.py | 6 ++++-- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/mmgen/crypto.py b/mmgen/crypto.py index 54d31f38..eaaa669f 100755 --- a/mmgen/crypto.py +++ b/mmgen/crypto.py @@ -185,7 +185,7 @@ def get_random(length,opts): def get_seed_from_wallet( infile, opts, - prompt="Enter {} wallet passphrase: ".format(g.proj_name), + prompt="{} wallet".format(g.proj_name), silent=False ): @@ -204,7 +204,7 @@ def get_seed_from_wallet( def get_seed_from_incog_wallet( infile, opts, - prompt="Enter {} wallet passphrase: ".format(g.proj_name), + prompt="{} wallet".format(g.proj_name), silent=False, hex_input=False ): @@ -272,7 +272,7 @@ def wallet_to_incog_data(infile,opts): seed_id,key_id,preset,salt,enc_seed = \ d[1][0], d[1][1], d[2].split(":")[0], d[3], d[4] - passwd = get_mmgen_passphrase("Enter mmgen passphrase: ",opts) + passwd = get_mmgen_passphrase("{} wallet".format(g.proj_name),opts) key = make_key(passwd, salt, preset, "main key") # We don't need the seed; just do this to verify password. if decrypt_seed(enc_seed, key, seed_id, key_id) == False: @@ -390,7 +390,7 @@ def mmgen_decrypt(data,what="data",hash_preset='',opts={}): hp = hash_preset or get_hash_preset_from_user('3',what) m = "default" if hp == '3' else "user-requested" qmsg("Using %s hash preset of '%s'" % (m,hp)) - passwd = get_mmgen_passphrase(("Enter passphrase for %s: " % what),{}) + passwd = get_mmgen_passphrase(what,{}) key = make_key(passwd, salt, hp) dec_d = decrypt_data(enc_d, key, int(hexlify(iv),16), what) if dec_d[:sha256_len] == sha256(dec_d[sha256_len:]).digest(): diff --git a/mmgen/main_passchg.py b/mmgen/main_passchg.py index 034da7bb..54be6c54 100755 --- a/mmgen/main_passchg.py +++ b/mmgen/main_passchg.py @@ -69,12 +69,9 @@ label,metadata,hash_preset,salt,enc_seed = get_data_from_wallet(infile) seed_id,key_id = metadata[:2] # Repeat on incorrect pw entry -prompt = "Enter {}{} wallet passphrase: ".format( - ("" if 'keep_old_passphrase' in opts else "old "), - g.proj_name - ) while True: - passwd = get_mmgen_passphrase(prompt,{}) + p = "{} wallet".format(g.proj_name) + passwd = get_mmgen_passphrase(p,{},not 'keep_old_passphrase' in opts) key = make_key(passwd, salt, hash_preset) seed = decrypt_seed(enc_seed, key, seed_id, key_id) if seed: break diff --git a/mmgen/main_walletgen.py b/mmgen/main_walletgen.py index cdc9f2b2..265711bf 100755 --- a/mmgen/main_walletgen.py +++ b/mmgen/main_walletgen.py @@ -140,7 +140,7 @@ salt = sha256(get_random(128,opts)).digest()[:g.salt_len] qmsg(cmessages['choose_wallet_passphrase'] % opts['hash_preset']) -passwd = get_new_passphrase("{} wallet".format(g.proj_name), opts) +passwd = get_new_passphrase("new {} wallet".format(g.proj_name), opts) key = make_key(passwd, salt, opts['hash_preset']) diff --git a/mmgen/tx.py b/mmgen/tx.py index 0f704d22..fa5eef91 100755 --- a/mmgen/tx.py +++ b/mmgen/tx.py @@ -646,10 +646,10 @@ def get_keys_for_mmgen_addrs(mmgen_addrs,infiles,saved_seeds,opts,gen_pairs=Fals from mmgen.addr import generate_addrs if gen_pairs: ret += [("{}:{}".format(seed_id,i.num),i.addr) - for i in generate_addrs(seed, addr_ids, {'gen_what':("addrs")})] + for i in generate_addrs(seed, addr_ids, {'gen_what':["addrs"]})] else: ret += [i.wif for i in generate_addrs( - seed,addr_ids,{'gen_what':("keys")})] + seed,addr_ids,{'gen_what':["keys"]})] return ret diff --git a/mmgen/util.py b/mmgen/util.py index ba4bf1cb..2c5a7865 100755 --- a/mmgen/util.py +++ b/mmgen/util.py @@ -300,7 +300,7 @@ def get_new_passphrase(what, opts, passchg=False): if g.debug: print "Passphrases: [%s] [%s]" % (pw,pw2) if pw == pw2: vmsg("Passphrases match"); break - else: msg("Passphrases do not match") + else: msg("Passphrases do not match. Try again.") else: msg("User failed to duplicate passphrase in %s attempts" % g.passwd_max_tries) @@ -615,7 +615,9 @@ def mark_passwd_file_as_used(opts): passwd_file_used = True -def get_mmgen_passphrase(prompt,opts): +def get_mmgen_passphrase(pinfo,opts,passchg=False): + prompt = "Enter {}passphrase for {}: ".format( + "old " if passchg else "",pinfo) if 'passwd_file' in opts: mark_passwd_file_as_used(opts) return " ".join(_get_words_from_file(opts['passwd_file'],"passphrase"))