summaryrefslogtreecommitdiff
path: root/bin/raps2
diff options
context:
space:
mode:
Diffstat (limited to 'bin/raps2')
-rwxr-xr-xbin/raps253
1 files changed, 48 insertions, 5 deletions
diff --git a/bin/raps2 b/bin/raps2
index 2451e6f..f18b539 100755
--- a/bin/raps2
+++ b/bin/raps2
@@ -11,15 +11,15 @@ use File::BaseDir qw(data_files data_home);
use File::Slurp qw(read_dir);
use Getopt::Long qw(:config no_ignore_case);
-my ( $default_cost, $echo_generated, $pwgen_cmd );
+my ( $default_cost, $no_echo, $pwgen_cmd );
our $VERSION = '0.50';
GetOptions(
'c|cost=i' => \$default_cost,
- 'e|echo' => \$echo_generated,
+ 'E|no-echo' => \$no_echo,
'h|help' => sub { cmd_help(0) },
- 'p|pwgen_cmd=s' => \$pwgen_cmd,
+ 'p|pwgen-cmd=s' => \$pwgen_cmd,
'V|version' => sub { say "raps2 version ${VERSION}"; exit 0 },
) or cmd_help(1);
@@ -79,7 +79,7 @@ sub cmd_add {
exit 3;
}
- if ($echo_generated) {
+ if ( not $no_echo ) {
$raps2->ui->output( [ 'Generated password', $pass ] );
}
}
@@ -294,6 +294,12 @@ and Login will be saved as plaintext, Extra is encrypted like the password.
Adds I<account> to the store. It will ask you for the store's master
password, some metadata and the new password and then store them.
+If you do not provide a password (that is, leave both "Password" and "Verify"
+lines blank), B<raps2> will use the B<pwgen> command to create one for you and
+print the generated password on stdout.
+
+See also the B<-c>, B<-E> and B<-p> options.
+
=item B<del> I<account>
Remove I<account> from the store.
@@ -330,7 +336,36 @@ Show version information
=head1 OPTIONS
-None.
+=over
+
+=item B<-c>, B<--cost> I<int>
+
+Key setup cost to use for new passwords, overrides the configuration file.
+Only makes sense with B<raps2 add>.
+
+Please be aware that the key setup time is an exponential function. That is,
+when you increment the cost by 1, the key setup time will double. See
+Crypt::Eksblowfish(3pm).
+
+Default: 12
+
+=item B<-E>, B<--no-echo>
+
+When using the pwgen functionality of B<raps2 add>, do not print the generated
+password on stdout.
+
+=item B<-p>, B<--pwgen-cmd> I<command>
+
+When the user does not enter a password in B<raps2 add>, it will execute
+I<command> to create one. The first line of output is taken as password.
+
+Default: pwgen -s 23 1
+
+=item B<-V>, B<--version>
+
+Show version information.
+
+=back
=head1 EXIT STATUS
@@ -340,6 +375,9 @@ zero on success, non-zero otherwise.
raps2 saves the master password hash in F<~/.config/raps2/password>.
+The configuation (key setup cost and pwgen command) is stored in
+F<~/.config/raps2/defaults> in an INI-like format.
+
Additional encrypted passwords are stored in F<~/.local/share/raps2/>.
These directories can be changed by setting the B<XDG_CONFIG_HOME> and
@@ -349,6 +387,8 @@ B<XDG_DATA_HOME> environment variables.
=over
+=item * Config::Tiny
+
=item * Crypt::CBC
=item * Crypt::Eksblowfish
@@ -368,6 +408,9 @@ B<XDG_DATA_HOME> environment variables.
This is alpha software, the store format may change without further notice.
Backwards-compatibility is not guaranteed.
+When running for the first time, raps2 will ask for the master passphrase
+three times. Two would be better.
+
=head1 AUTHOR
Copyright (C) 2011 by Daniel Friesel E<lt>derf@finalrewind.orgE<gt>