Commit graph

155 commits

Author SHA1 Message Date
Vincent Le Gallic
e54eeec33e Du coup, ça aussi c'est du code mort… 2013-08-18 20:00:42 +02:00
Vincent Le Gallic
4455f145c0 Ah oui, c'était bien du code mort 2013-08-18 19:27:12 +02:00
Daniel STAN
d220fa370f [keep-alive] feature connexion unique au serveur
C'était plus pratique que de faire un merge de la branche devel-keep-alive.
La feature n'est pas activée automatiquement pour les gens qui ont déjà
un fichier de config, mais elle est présente pour ceux qui en crée un.
2013-08-04 13:35:09 +02:00
Daniel STAN
6172898d24 passage propre des arguments au serveur
Cependant, je pense que ce fichier est du code mort (pas testé).

http://stackoverflow.com/questions/4824590/propagate-all-arguments-in-a-bash-shell-script
2013-08-01 13:45:44 +02:00
Daniel STAN
8d1d29840f sudo -n pour éviter le askpass qui ne marchera 2013-08-01 13:44:42 +02:00
Daniel STAN
23ff2d58ee répare les options --(no)?clipboard
Vincent me les as cassé lors du commit ab2f04c60f. En particulier
il a remplacé la variable de destination de --noclipboard en "clipboard"
sans changer la valeur à enregistrer (qui était False). Bref, quand on
tapait "--noclipboard" ça enregistrait False dans la variable "noclipboard" …
L'option --clipboard était devenue du code mort …

Voilà le comportement souhaité :
À moins que l'utilisateur ne précise une option, on essaie de deviner si un
clipboard est dispo et on l'utilise.

Si l'utilisateur utilise une des options, il a raison et on l'écoute sans
se poser de questions. Typiquement, si "--clipboard" est précisé, on n'a
pas à vérifier nous-même que /usr/bin/xclip existe. Par ailleurs, cela
permet de faire marcher le clipboard sur des setups "exotiques", par
exemple s'il n'est pas dans /usr/bin/. Remarquer que l'appel à xclip
se fait en relatif contrairement au test, ce qui permet d'override xclip ou d'en
mettre un autre perso dans son ~/bin/.

Rajout d'un commentaire dans le code, pour éviter qu'on ne ré-efface cette
feature :(
2013-07-31 23:47:28 +02:00
Daniel STAN
9473004e03 typo dans remote_command 2013-07-31 13:29:01 +02:00
Daniel STAN
97025265ee affichage userfriendly si plantage serveur 2013-07-30 15:01:30 +02:00
Daniel STAN
624722ad30 umask pour backup
Probablement n'était-ce pas grave (le dossier est safe), mais on est
jamais trop prudent
2013-07-30 14:12:26 +02:00
Daniel STAN
348873298e pas plus d'un clipboard 2013-07-30 13:38:57 +02:00
Daniel STAN
f2e78e1b3c oubli init de old_clipboard
Ce qui faisait planter l'appel à la fonction de restoration.
Celle-ci s'attend à recevoir old_clipboard=None si rien à restorer
2013-07-30 13:38:33 +02:00
Daniel STAN
8c0a6dd5a3 argument options en trop dans action remove 2013-07-30 13:04:56 +02:00
Daniel STAN
114d97aa4a memoize renvoie un deepcopy
300f13b2 introduit une clé 'whoami' dans un dico, et l'efface
de temps en temps à coup de pop. Sauf qu'il s'agit toujours du même
dictionnaire (mémoisation oblige), on règle le problème en
copyant la structure à chaque appel.
2013-07-30 13:00:06 +02:00
Vincent Le Gallic
8e39c55008 show_servers peut s'exécuter sur le client.
On n'a pas envie d'ouvrir une session ssh pour ça.
Bon, le test fait un peu ducktape…

Une liste DONT_NEED_SSH et un décorateur @dont_need_ssh ?
2013-07-30 06:27:29 +02:00
Vincent Le Gallic
ff68bb2a0d .pop au mauvais endroit.
Bugfix sur 300f13b236, on cherchait à virer
le role whoami deux fois de suite.
2013-07-30 06:22:23 +02:00
Vincent Le Gallic
9965a3098e Ajout de "localhost" dans les serveurs possible pour tester rapidement. 2013-07-30 06:19:01 +02:00
Vincent Le Gallic
88f92b2496 changelog 0.1.5 2013-07-30 06:18:33 +02:00
Vincent Le Gallic
300f13b236 On n'a plus besoin de la variable de conf 'user' sur le client, le serveur la renvoie dans le rôle whoami.
Du coup, évidemment, il ne faut pas définir un rôle "whoami".
Si le serveur en trouve un, il lèvera une exception.
2013-07-30 06:15:27 +02:00
Vincent Le Gallic
8c83f0c29d Docstring erronée 2013-07-30 06:13:55 +02:00
Vincent Le Gallic
1dce8eb8c8 On checke enfin les expiration/confiance sur les sous-clés. 2013-07-30 05:55:17 +02:00
Vincent Le Gallic
41aa2cf53c Oublié dans le README : changez 'username' si vous vous appelez autrement sur le serveur.
Il faut faire sauter ce truc idiot, un whoami sur le serveur règlera bien des problèmes.
2013-07-30 05:54:24 +02:00
Vincent Le Gallic
d7a2ba04ea Je me suis embrouillé sur les confirmations/force/drop.
¬¬¬p => p ?
2013-07-30 05:51:48 +02:00
Vincent Le Gallic
525eca4ff6 oubli : gpg() a aussi besoin de options. 2013-07-30 05:17:49 +02:00
Vincent Le Gallic
517cb1e745 Ajout d'un coup de os.getenv si on veut pouvoir spécifier où est la conf client. 2013-07-30 05:13:21 +02:00
Vincent Le Gallic
ba1612b819 typo, oublié d'enlever le .example 2013-07-30 05:08:51 +02:00
Vincent Le Gallic
ab2f04c60f On vire toutes les variables globales, donc on passe les options parsées à quasiment toutes les fonctions.
Le paramètre --drop-invalid fait son apparition pout droper automatiquement
les bad guy-e-s qui ont laissé leur clés expirer.

NB : on n'a toujours pas réglé le problème des *sub*keys expirées.
2013-07-30 04:51:37 +02:00
Vincent Le Gallic
b522b4a741 Possibilité de dropper à la volée un bad guy qui a laissé expirer sa clé. 2013-07-29 23:07:19 +02:00
Vincent Le Gallic
8e3a76919c Implémentation custom du parseur de gpg --list-keys parce que le package python-gnupg fait pas ce qu'il faut. 2013-07-29 22:11:45 +02:00
Vincent Le Gallic
b3c0aac0f3 unicodification de la config server 2013-07-29 21:44:12 +02:00
Vincent Le Gallic
4af1da7839 Fix on 3589ef41ab. On n'importe pas deux fois gnupg.
La première ligne d'import n'aurait pas dû réapparaître,
le handling de l'erreur d'import était correct.
2013-07-29 18:28:49 +02:00
Vincent Le Gallic
69ca520ef1 On ne laisse pas les modes/owner/permissions au hasard 2013-07-29 17:40:45 +02:00
Vincent Le Gallic
c2d1c8795e Merge branch 'master' of ssh://git.crans.org/git/cranspasswords 2013-07-29 05:49:47 +02:00
Vincent Le Gallic
dbf0a88cdf changelog 0.1.4 2013-07-29 05:49:31 +02:00
Vincent Le Gallic
3589ef41ab getfile*s*; putfile*s* et utilisation pour --recrypt-files
On peut récupérer/envoyer plusieurs fichiers à la fois.

A priori, le serveur n'est plus rétro-compatible avec les clients non à jour.

Conflicts:
	client.py
	server.py
2013-07-29 05:45:49 +02:00
Vincent Le Gallic
c4f46f0f99 changelog 0.1.2-5 2013-07-29 04:09:33 +02:00
Vincent Le Gallic
0f415a0d97 changelog 0.1.3 2013-07-29 01:07:58 +02:00
Vincent Le Gallic
ae6ec8be66 Erreur dans le path gnupg
En fait ça créait vraiment un répertoire './~'.
2013-07-29 00:58:36 +02:00
Vincent Le Gallic
0bdf20357f Gestion de message d'erreurs.
En quelque sorte un revert de 555b6c4c0a
qui revertait bbc6cb73f6.
Maintenant, ça marche.
2013-07-29 00:15:52 +02:00
Vincent Le Gallic
c3c1115b39 Mode 700 pour les fichiers de mdp 2013-07-28 23:46:16 +02:00
Vincent Le Gallic
48d0d767c7 Fichiers de mdp dans /var/lib/cranspasswords/db 2013-07-28 23:40:18 +02:00
Vincent Le Gallic
5263206f29 --check-keys -v plus verbeux 2013-07-28 17:58:50 +02:00
Vincent Le Gallic
a97aa5eea3 print_function 2013-07-28 17:49:05 +02:00
Vincent Le Gallic
7dacd6bb1b Makefile côté serveur. 2013-07-28 17:35:43 +02:00
Vincent Le Gallic
dca1572b21 Mauvais fichier de config client installé par le Makefile 2013-07-28 17:33:40 +02:00
Vincent Le Gallic
5b6a576e63 sudo oublié 2013-07-28 17:32:18 +02:00
Vincent Le Gallic
fdead6f0c8 unicode oublié 2013-07-28 17:32:03 +02:00
Vincent Le Gallic
bf469de054 Hack pour avoir le path de la config. 2013-07-28 17:12:01 +02:00
Vincent Le Gallic
5efd3406e4 Oups 2013-07-28 16:19:36 +02:00
Vincent Le Gallic
2a2c405d33 Makefile pour installer le bazar dans ~ pour le client.
Le côté serveur viendra dans un prochain commit.

C'était pour make rename et make rerename qu'il était
nettement plus pratique d'avoir des guillemets simples.
2013-07-28 16:17:44 +02:00
Vincent Le Gallic
5843f64636 Changement du type de guillement pour la variable cmd_name.
Si si, c'est important, mais il faut attendre le commit suivant.
2013-07-28 16:05:44 +02:00