summaryrefslogtreecommitdiff
path: root/src/char/pincode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/char/pincode.c')
-rw-r--r--src/char/pincode.c7
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);
}