summaryrefslogtreecommitdiff
path: root/lib/App
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2011-07-20 21:02:30 +0200
committerDaniel Friesel <derf@finalrewind.org>2011-07-20 21:02:30 +0200
commit0053cb1bd48b8aa7e3535045f99f24a562f5d264 (patch)
tree44ce6ef388556c1011c6dac2b245d10ea7da85dc /lib/App
parent502d16d247c10b33b86b9fa8bbc389f88e8f47c5 (diff)
Documentation updates
Diffstat (limited to 'lib/App')
-rw-r--r--lib/App/Raps2.pm45
-rw-r--r--lib/App/Raps2/Password.pm6
2 files changed, 44 insertions, 7 deletions
diff --git a/lib/App/Raps2.pm b/lib/App/Raps2.pm
index 897e62e..dd00e54 100644
--- a/lib/App/Raps2.pm
+++ b/lib/App/Raps2.pm
@@ -275,6 +275,7 @@ sub pw_load_info {
url => $key->{url},
login => $key->{login},
salt => $key->{salt},
+ cost => $key->{cost},
};
}
@@ -316,14 +317,25 @@ Accepted configuration parameters are:
B<cost> of key setup, passed on to App::Raps2::Password(3pm).
+Default: 12
+
=item B<no_cli> => I<bool>
If set to true, App::Raps2 assumes it will not be used as a CLI. It won't
initialize its Term::ReadLine object and won't try to read anything from the
terminal.
+=item B<pwgen_cmd> => I<comand>
+
+Command to use in B<generate_password>.
+
+Default: pwgen -s 23 1
+
=back
+Note that the B<cost> and B<pwgen_cmd> options specified here take precedence
+over those loaded from the config file.
+
=item $raps2->get_master_password( [I<$password>] )
Sets the master password used to encrypt all accounts. Uses I<password> if
@@ -334,8 +346,8 @@ specified, otherwise it asks the user via App::Raps2::UI(3pm).
Load a password from I<file> (or account I<name>), requires
B<get_master_password> to have been called before.
-Returns a hashref containing its url, login, salt and decrypted password and
-extra.
+Returns a hashref containing its url, login, salt, cost and decrypted password
+and extra.
=item $raps2->pw_load_info( B<file> => I<file> | B<name> => I<name> )
@@ -343,7 +355,7 @@ Load all unencrypted data from I<file> (or account I<name>). Unlike
B<pw_load>, this method does not require a prior call to
B<get_master_password>.
-Returns a hashref with url, login and salt.
+Returns a hashref with url, login, salt and cost.
=item $raps2->pw_save( I<%data> )
@@ -358,6 +370,8 @@ The following I<data> keys are supported:
=item B<salt> => I<salt>
+=item B<cost> => I<cost> (optional, inferred from B<new> / the config otherwise)
+
=item B<file> => I<file> | B<name> => I<name> (one must be set)
=item B<url> => I<url> (optional)
@@ -372,6 +386,16 @@ The following I<data> keys are supported:
Returns the App::Raps2::UI(3pm) object.
+=item $raps2->conf(I<key>)
+
+Returns the current config value of I<key>, either set by B<new> or loaded
+from the defaults config file.
+
+=item $raps2->generate_password()
+
+Runs B<pwgen_cmd> (as specified in B<new> or the config file) and returns its
+first line of output, without the trailing newline.
+
=back
=head2 INTERNAL
@@ -382,12 +406,21 @@ You usually don't need to call these methods by yourself.
=item $raps2->create_config()
-Creates a default config and asks the user to set a master password.
+Creates a password file and asks the user to set a master password.
=item $raps2->load_config()
Load config. Automatically called by B<new>.
+=item $raps2->create_defaults()
+
+Creates a defaults config file containing the default key setup cost and pwgen
+command.
+
+=item $raps2->load_defaults()
+
+Loads the defaults file. Automatically called by B<new>.
+
=item $raps2->pw()
Returns the App::Raps2::Password(3pm) object.
@@ -403,7 +436,7 @@ Create working directories (~/.config/raps2 and ~/.local/share/raps2, or the
respective XDG environment variable contents), if they don't exist yet.
Automatically called by B<new>.
-Calls B<create_config> if no raps2 config was found.
+Calls B<create_config> and B<create_defaults> if no configs were found.
=back
@@ -420,6 +453,8 @@ File::Slurp(3pm).
=head1 BUGS AND LIMITATIONS
Be aware that the password handling API is not yet stable.
+Also, so far the development concentrated on B<raps2>, so this module / its
+documentation may not be completely up-to-date.
=head1 AUTHOR
diff --git a/lib/App/Raps2/Password.pm b/lib/App/Raps2/Password.pm
index d80a138..fb73255 100644
--- a/lib/App/Raps2/Password.pm
+++ b/lib/App/Raps2/Password.pm
@@ -175,7 +175,8 @@ Returns a new 16-byte salt. Contains only printable characters.
Returns the currently used salt and optionally changes it to I<salt>.
-=item $pass->encrypt(I<data>, [I<salt>])
+=item $pass->encrypt(B<data> => I<data>, [B<salt> => I<salt>],
+[B<cost> => I<cost>])
Encrypts I<data> with the passphrase saved in the object, returns the
corresponding hexadecimal hash (as string).
@@ -183,7 +184,8 @@ corresponding hexadecimal hash (as string).
By default, the salt set in B<salt> or B<new> will be used. You can override
it by specifying I<salt>.
-=item $pass->decrypt(I<hexstr>, [I<salt>])
+=item $pass->decrypt(B<data> => I<hexstr>, [B<salt> => I<salt>],
+[B<cost> => I<cost>])
Decrypts I<hexstr> (as created by B<encrypt>), returns its original content.