Commit 88c699e4 authored by Daniel Stan's avatar Daniel Stan

[bugfix] recrypt-files: encrypt(...)[1]

encrypt ne renvoie plus une chaîne chiffrée mais une liste (sic)
[success, chaîne] depuis 0bdf2035.
On corrige ici pour éviter de defacer tous les mdps.
parent ffb54912
......@@ -10,3 +10,25 @@
* retirer le binaire serveur de /usr/local/bin/
* Modulariser le code (client.py devient gros)
* renommer en "cpasswords" ? (aka common passwords :p)
diff --git a/client.py b/client.py
index 6ba2a6e..6486e11 100755
--- a/client.py
+++ b/client.py
@@ -805,6 +805,9 @@ def recrypt_files(options):
if to_put:
if not options.quiet:
print((u"Rechiffrement de %s" % (", ".join([f['filename'] for f in to_put]))).encode("utf-8"))
+ if options.simulate:
+ print((u"Did nothing").encode('utf-8'))
+ return
results = put_files(options, to_put)
# On affiche les messages de retour
if not options.quiet:
@@ -915,6 +918,7 @@ if __name__ == "__main__":
(par défaut, tous vos rôles en écriture seront utilisés).
Avec --recrypt-files, tous les fichiers ayant au moins un de ces roles (et pour lesquels vous avez le droit d'écriture) seront rechiffrés
(par défaut, tous les fichiers pour lesquels vous avez les droits en écriture sont rechiffrés).""")
+ parser.add_argument('--simulate', action='store_true', default=False)
parser.add_argument('fname', nargs='?', default=None,
help="Nom du fichier à afficher")
......@@ -520,6 +520,9 @@ def encrypt(options, roles, contents):
def decrypt(options, contents):
"""Déchiffre le contenu"""
stdin, stdout = gpg(options, "decrypt")
if type(contents) != unicode: # Kludge (broken db ?)
print("Eau dans le gaz (decrypt)" + repr(contents))
contents = contents[-1]
stdin.write(contents.encode("utf-8"))
stdin.close()
return stdout.read().decode("utf-8")
......@@ -629,7 +632,11 @@ def show_file(options):
return
passfile = value
(sin, sout) = gpg(options, 'decrypt')
sin.write(passfile['contents'].encode("utf-8"))
content = passfile['contents'] # Kludge (broken db ?)
if type(content) == list:
print("Eau dans le gaz")
content = content[-1]
sin.write(content.encode("utf-8"))
sin.close()
texte = sout.read().decode("utf-8")
ntexte = u""
......@@ -800,7 +807,7 @@ def recrypt_files(options):
# On rechiffre
to_put = [{'filename' : f['filename'],
'roles' : f['roles'],
'contents' : encrypt(options, f['roles'], decrypt(options, f['contents']))}
'contents' : encrypt(options, f['roles'], decrypt(options, f['contents']))[-1]}
for [success, f] in files]
if to_put:
if not options.quiet:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment