diff options
author | est31 <MTest31@outlook.com> | 2016-03-09 03:12:22 +0100 |
---|---|---|
committer | est31 <MTest31@outlook.com> | 2016-03-15 05:55:49 +0100 |
commit | e0151d1054c9923630b8ae9cdae36efa261756d3 (patch) | |
tree | c2045c38503457f34a95398630de772f4d709d7e /src/util/auth.h | |
parent | bb2ee54d3b841ebdb6c6a0b6573b64216ae0baae (diff) | |
download | hax-minetest-server-e0151d1054c9923630b8ae9cdae36efa261756d3.tar.gz hax-minetest-server-e0151d1054c9923630b8ae9cdae36efa261756d3.zip |
Much better API for auth.{cpp, h}
* No function overloading
* Adhere coding style and with method names following
lowercase_underscore_style
* Use std::string in external API, handling these is
much more fun
Diffstat (limited to 'src/util/auth.h')
-rw-r--r-- | src/util/auth.h | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/src/util/auth.h b/src/util/auth.h index 36d8c20a4..1fd6ab453 100644 --- a/src/util/auth.h +++ b/src/util/auth.h @@ -1,6 +1,6 @@ /* Minetest -Copyright (C) 2015 est31 <MTest31@outlook.com> +Copyright (C) 2015, 2016 est31 <MTest31@outlook.com> This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -20,18 +20,31 @@ with this program; if not, write to the Free Software Foundation, Inc., #ifndef AUTH_H #define AUTH_H -std::string translatePassword(const std::string &name, +/// Gets the base64 encoded legacy password db entry. +std::string translate_password(const std::string &name, const std::string &password); -void getSRPVerifier(const std::string &name, - const std::string &password, char **salt, size_t *salt_len, - char **bytes_v, size_t *len_v); -std::string getSRPVerifier(const std::string &name, - const std::string &password); -std::string getSRPVerifier(const std::string &name, + +/// Creates a verification key with given salt and password. +std::string generate_srp_verifier(const std::string &name, const std::string &password, const std::string &salt); -std::string encodeSRPVerifier(const std::string &verifier, + +/// Creates a verification key and salt with given password. +void generate_srp_verifier_and_salt(const std::string &name, + const std::string &password, std::string *verifier, + std::string *salt); + +/// Gets an SRP verifier, generating a salt, +/// and encodes it as DB-ready string. +std::string get_encoded_srp_verifier(const std::string &name, + const std::string &password); + +/// Converts the passed SRP verifier into a DB-ready format. +std::string encode_srp_verifier(const std::string &verifier, const std::string &salt); -bool decodeSRPVerifier(const std::string &enc_pwd, + +/// Reads the DB-formatted SRP verifier and gets the verifier +/// and salt components. +bool decode_srp_verifier_and_salt(const std::string &encoded, std::string *salt, std::string *bytes_v); -#endif
\ No newline at end of file +#endif |