[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.
This commit is contained in:
parent
ffb5491299
commit
88c699e48d
2 changed files with 31 additions and 2 deletions
22
TODO
22
TODO
|
@ -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")
|
||||||
|
|
||||||
|
|
11
client.py
11
client.py
|
@ -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):
|
||||||
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):
|
||||||
# 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:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue