diff options
author | Haru <haru@dotalux.com> | 2018-04-22 19:23:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-22 19:23:41 +0200 |
commit | 01902e6393f6a750ee320e63f9092a981ce72696 (patch) | |
tree | aeb6e99d0cd15aea20c998f3d873060b5aab1686 /src/char/pincode.h | |
parent | 7b097da8b433ea3b768b6c306c12801f7ddef0a5 (diff) | |
parent | 940fce6309d2b99f27b00aa6738d40fe2219d12f (diff) | |
download | hercules-01902e6393f6a750ee320e63f9092a981ce72696.tar.gz hercules-01902e6393f6a750ee320e63f9092a981ce72696.tar.bz2 hercules-01902e6393f6a750ee320e63f9092a981ce72696.tar.xz hercules-01902e6393f6a750ee320e63f9092a981ce72696.zip |
Merge pull request #2007 from Jedzkie/PincodeUpdate
Pincode Update
Diffstat (limited to 'src/char/pincode.h')
-rw-r--r-- | src/char/pincode.h | 40 |
1 files changed, 32 insertions, 8 deletions
diff --git a/src/char/pincode.h b/src/char/pincode.h index cffaa3054..8e4f67c2d 100644 --- a/src/char/pincode.h +++ b/src/char/pincode.h @@ -22,18 +22,35 @@ #define CHAR_PINCODE_H #include "common/hercules.h" +#include "common/db.h" /* Forward Declarations */ struct char_session_data; struct config_t; // common/conf.h -enum PincodeResponseCode { - PINCODE_OK = 0, - PINCODE_ASK = 1, - PINCODE_NOTSET = 2, - PINCODE_EXPIRED = 3, - PINCODE_UNUSED = 7, - PINCODE_WRONG = 8, +enum pincode_make_response { + PINCODE_MAKE_SUCCESS = 0, + PINCODE_MAKE_DUPLICATED = 1, + PINCODE_MAKE_RESTRICT_PW = 2, + PINCODE_MAKE_PERSONALNUM_PW = 3, + PINCODE_MAKE_FAILED = 4, +}; + +enum pincode_edit_response { + PINCODE_EDIT_SUCCESS = 0x0, + PINCODE_EDIT_FAILED = 0x1, + PINCODE_EDIT_RESTRICT_PW = 0x2, + PINCODE_EDIT_PERSONALNUM_PW = 0x3, +}; + +enum pincode_login_response { + PINCODE_LOGIN_OK = 0, + PINCODE_LOGIN_ASK = 1, + PINCODE_LOGIN_NOTSET = 2, + PINCODE_LOGIN_EXPIRED = 3, + PINCODE_LOGIN_RESTRICT_PW = 5, + PINCODE_LOGIN_UNUSED = 7, + PINCODE_LOGIN_WRONG = 8, }; /** @@ -45,6 +62,8 @@ struct pincode_interface { int changetime; int maxtry; int charselect; + bool check_blacklist; + VECTOR_DECL(char *) blacklist; unsigned int multiplier; unsigned int baseSeed; /* handler */ @@ -52,12 +71,17 @@ struct pincode_interface { void (*decrypt) (unsigned int userSeed, char* pin); void (*error) (int account_id); void (*update) (int account_id, char* pin); - void (*sendstate) (int fd, struct char_session_data* sd, uint16 state); + void (*makestate) (int fd, struct char_session_data *sd, enum pincode_make_response state); + void (*editstate) (int fd, struct char_session_data *sd, enum pincode_edit_response state); + void (*loginstate) (int fd, struct char_session_data *sd, enum pincode_login_response state); void (*setnew) (int fd, struct char_session_data* sd); void (*change) (int fd, struct char_session_data* sd); + bool (*isBlacklisted) (const char *pin); int (*compare) (int fd, struct char_session_data* sd, char* pin); void (*check) (int fd, struct char_session_data* sd); bool (*config_read) (const char *filename, const struct config_t *config, bool imported); + void (*init) (void); + void (*final) (void); }; #ifdef HERCULES_CORE |