diff options
Diffstat (limited to 'src/char/pincode.c')
-rw-r--r-- | src/char/pincode.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/char/pincode.c b/src/char/pincode.c index 01c1f482c..2b59ec326 100644 --- a/src/char/pincode.c +++ b/src/char/pincode.c @@ -2,7 +2,7 @@ * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2012-2016 Hercules Dev Team + * Copyright (C) 2012-2018 Hercules Dev Team * Copyright (C) Athena Dev Teams * * Hercules is free software: you can redistribute it and/or modify @@ -82,6 +82,7 @@ void pincode_check(int fd, struct char_session_data* sd) return; safestrncpy(pin, RFIFOP(fd, 6), sizeof(pin)); + pincode->decrypt(sd->pincode_seed, pin); if (pincode->check_blacklist && pincode->isBlacklisted(pin)) { pincode->loginstate(fd, sd, PINCODE_LOGIN_RESTRICT_PW); @@ -205,7 +206,7 @@ void pincode_makestate(int fd, struct char_session_data *sd, enum pincode_make_r WFIFOHEAD(fd, 8); WFIFOW(fd, 0) = 0x8bb; WFIFOW(fd, 2) = state; - WFIFOW(fd, 4) = 0; + WFIFOL(fd, 4) = sd->pincode_seed; WFIFOSET(fd, 8); } @@ -223,7 +224,7 @@ void pincode_editstate(int fd, struct char_session_data *sd, enum pincode_edit_r WFIFOHEAD(fd, 8); WFIFOW(fd, 0) = 0x8bf; WFIFOW(fd, 2) = state; - WFIFOW(fd, 4) = sd->pincode_seed = rnd() % 0xFFFF; + WFIFOL(fd, 4) = sd->pincode_seed = rnd() % 0xFFFF; WFIFOSET(fd, 8); } |