Skip to content
Snippets Groups Projects
Commit 88c699e4 authored by Daniel STAN's avatar Daniel STAN
Browse files

[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
No related branches found
No related tags found
No related merge requests found
...@@ -10,3 +10,25 @@ ...@@ -10,3 +10,25 @@
* retirer le binaire serveur de /usr/local/bin/ * retirer le binaire serveur de /usr/local/bin/
* Modulariser le code (client.py devient gros) * Modulariser le code (client.py devient gros)
* renommer en "cpasswords" ? (aka common passwords :p) * 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): ...@@ -520,6 +520,9 @@ def encrypt(options, roles, contents):
def decrypt(options, contents): def decrypt(options, contents):
"""Déchiffre le contenu""" """Déchiffre le contenu"""
stdin, stdout = gpg(options, "decrypt") 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.write(contents.encode("utf-8"))
stdin.close() stdin.close()
return stdout.read().decode("utf-8") return stdout.read().decode("utf-8")
...@@ -629,7 +632,11 @@ def show_file(options): ...@@ -629,7 +632,11 @@ def show_file(options):
return return
passfile = value passfile = value
(sin, sout) = gpg(options, 'decrypt') (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() sin.close()
texte = sout.read().decode("utf-8") texte = sout.read().decode("utf-8")
ntexte = u"" ntexte = u""
...@@ -800,7 +807,7 @@ def recrypt_files(options): ...@@ -800,7 +807,7 @@ def recrypt_files(options):
# On rechiffre # On rechiffre
to_put = [{'filename' : f['filename'], to_put = [{'filename' : f['filename'],
'roles' : f['roles'], '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] for [success, f] in files]
if to_put: if to_put:
if not options.quiet: if not options.quiet:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment