upassword: maj doc et support des commentaires pour le mode batch

This commit is contained in:
Jephté Clain 2015-10-09 11:18:27 +04:00
parent 46d4be9fa5
commit 18691c86b9
1 changed files with 39 additions and 6 deletions

View File

@ -4398,7 +4398,7 @@ public class upassword {
/** /**
* Vérifier que le mot de spécifié est de qualité. * Vérifier que le mot de spécifié est de qualité.
* *
* @return null si le mot de passe est correct. Sinon, retourner un message qui indique ce * @return null si le mot de passe est correct. Sinon, retourner un message qui indique ce
* qui ne va pas. * qui ne va pas.
*/ */
@ -4868,6 +4868,7 @@ public class upassword {
+ "\n upassword -f aeskeyfile -s" + "\n upassword -f aeskeyfile -s"
+ "\n upassword -f aeskeyfile -e clear" + "\n upassword -f aeskeyfile -e clear"
+ "\n upassword -f aeskeyfile -d crypted" + "\n upassword -f aeskeyfile -d crypted"
+ "\n upassword --batch"
+ "\n\nOPTIONS" + "\n\nOPTIONS"
+ "\n -p, --hash-password" + "\n -p, --hash-password"
+ "\n Crypter un mot de passe (option par défaut). Si le mot de passe en clair" + "\n Crypter un mot de passe (option par défaut). Si le mot de passe en clair"
@ -4890,7 +4891,32 @@ public class upassword {
+ "\n Spécifier le fichier contenant la clé AES. Cette option est obligatoire" + "\n Spécifier le fichier contenant la clé AES. Cette option est obligatoire"
+ "\n avec les options -G, -s, -e et -d" + "\n avec les options -G, -s, -e et -d"
+ "\n --shell" + "\n --shell"
+ "\n Afficher les valeurs pour évaluation par le shell"); + "\n Afficher les valeurs pour évaluation par le shell"
+ "\n\nMODE BATCH"
+ "\nUtiliser l'option --batch active le mode batch. Dans ce mode, chaque ligne est"
+ "\nun ensemble d'arguments, comme si on avait lancé le script à plusieurs reprises."
+ "\nL'analyseur est limité: le découpage des arguments est fait sur les espaces."
+ "\nLes lignes commençant par # sont ignorées."
+ "\nSi une ligne commence par --batch-after, alors cette ligne est affichée après"
+ "\nchaque résultat. Ceci permet de générer un script qui peut être évalué."
+ "\n\nVoici un exemple:"
+ "\n upassword --batch <<EOF"
+ "\n --batch-after process_password1 args"
+ "\n --shell"
+ "\n --shell fixed-password1"
+ "\n --batch-after process_password2 args"
+ "\n --shell fixed-password2"
+ "\n EOF"
+ "\nLe résultat serait quelque chose comme:"
+ "\n clear='<random-password>'"
+ "\n ... # toutes les valeurs lm, ntlm, crypt, sha, xsha, ssha, md5, smd5"
+ "\n process_password1 args"
+ "\n clear='fixed-password1'"
+ "\n ... # toutes les valeurs lm, ntlm, crypt, sha, xsha, ssha, md5, smd5"
+ "\n process_password1 args"
+ "\n clear='fixed-password2'"
+ "\n ... # toutes les valeurs lm, ntlm, crypt, sha, xsha, ssha, md5, smd5"
+ "\n process_password2 args");
return; return;
} }
@ -4904,7 +4930,8 @@ public class upassword {
if (arg.equals("-p") || arg.equals("--hash-password")) { if (arg.equals("-p") || arg.equals("--hash-password")) {
action = EAction.HASH_PASSWORD; action = EAction.HASH_PASSWORD;
i++; i++;
} else if (arg.substring(0, 2).equals("-j") || arg.equals("--clear-is-codetu")) { } else if ((arg.length() >= 2 && arg.substring(0, 2).equals("-j"))
|| arg.equals("--clear-is-codetu")) {
int shift = 1; int shift = 1;
if (arg.equals("-j") || arg.equals("--clear-is-codetu")) { if (arg.equals("-j") || arg.equals("--clear-is-codetu")) {
if (args.length > i + 1) { if (args.length > i + 1) {
@ -4931,7 +4958,8 @@ public class upassword {
} else if (arg.equals("-d") || arg.equals("--aes-decrypt")) { } else if (arg.equals("-d") || arg.equals("--aes-decrypt")) {
action = EAction.AES_DECRYPT; action = EAction.AES_DECRYPT;
i++; i++;
} else if (arg.substring(0, 2).equals("-f") || arg.equals("--aes-keyfile")) { } else if ((arg.length() >= 2 && arg.substring(0, 2).equals("-f"))
|| arg.equals("--aes-keyfile")) {
int shift = 1; int shift = 1;
if (arg.equals("-f") || arg.equals("--aes-keyfile")) { if (arg.equals("-f") || arg.equals("--aes-keyfile")) {
if (args.length > i + 1) { if (args.length > i + 1) {
@ -5171,10 +5199,15 @@ public class upassword {
while (true) { while (true) {
String line = br.readLine(); String line = br.readLine();
if (line == null) break; if (line == null) break;
if (line.startsWith(AFTER_COMMAND)) { if (line.startsWith("#")) {
// Ignorer
} else if (line.startsWith(AFTER_COMMAND)) {
after = line.substring(AFTER_COMMAND_STRIP); after = line.substring(AFTER_COMMAND_STRIP);
} else { } else {
upassword.run(SPACES.split(line)); line = line.trim();
if (line.equals("")) args = new String[0];
else args = SPACES.split(line);
upassword.run(args);
if (after != null) println(after); if (after != null) println(after);
} }
} }