X-Git-Url: http://git.bytex64.net/?a=blobdiff_plain;f=common%2Fauth.h;h=4a167764d0b4fcff34b6230696de7c42d0cc5074;hb=948ce5be6ef6bba36edfb544565ca22e316afb0a;hp=d180bfde8d4d72ee5a579e8d07a133da906ba100;hpb=54789cc8538714fc3622646721f6f2ecceae94ac;p=blerg.git diff --git a/common/auth.h b/common/auth.h index d180bfd..4a16776 100644 --- a/common/auth.h +++ b/common/auth.h @@ -4,12 +4,32 @@ #ifndef _AUTH_H #define _AUTH_H -int auth_set_password(const char *, const char *); -int auth_get_password(const char *, char *); -int auth_check_password(const char *, const char *); -int auth_login(const char *username, const char *password); -int auth_logout(const char *username); -char *auth_get_token(const char *username); +#include + +#define TOKEN_SIZE 16 +#define MAX_PASSWORD_LENGTH 64 +#define SCRYPT_SALT_SIZE 8 +#define SCRYPT_OUTPUT_SIZE 32 +#define SCRYPT_N 1<<14 +#define SCRYPT_r 8 +#define SCRYPT_p 1 + +struct auth_header { + uint8_t version; + uint8_t reserved1; + uint16_t reserved2; +}; + +struct auth_v2 { + struct auth_header header; + uint8_t password[SCRYPT_OUTPUT_SIZE]; + uint8_t salt[SCRYPT_SALT_SIZE]; +}; + +int auth_set_password(const char *username, const char *password); +int auth_check_password(const char *username, const char *password); +char * auth_login(const char *username, const char *password); +int auth_logout(const char *username, const char *token); int auth_check_token(const char *username, const char *given_token); #endif //_AUTH_H