summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-31 07:26:06 +0000
committerLance <Lance@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-05-31 07:26:06 +0000
commit7da23a6ea450d2ac2a8a7d5514c1015bc621c3e2 (patch)
treeb4bf84a8a8eb26de5b20595415ee96a77a1ea7a4 /src
parentc7ae22a6df40d2e2af5fab914c9e113471562560 (diff)
downloadhercules-7da23a6ea450d2ac2a8a7d5514c1015bc621c3e2.tar.gz
hercules-7da23a6ea450d2ac2a8a7d5514c1015bc621c3e2.tar.bz2
hercules-7da23a6ea450d2ac2a8a7d5514c1015bc621c3e2.tar.xz
hercules-7da23a6ea450d2ac2a8a7d5514c1015bc621c3e2.zip
[Fixed]:
- Latest client support completed! git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6880 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src')
-rw-r--r--src/login/login.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/login/login.c b/src/login/login.c
index 0fbf03088..024dc8199 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -3112,6 +3112,7 @@ int parse_login(int fd) {
memcpy(account.passwd, RFIFOP(fd,30), NAME_LENGTH);
account.passwd[23] = '\0';
remove_control_chars((unsigned char *)account.passwd);
+ ShowInfo("Login packet %s and %s with version %d\n", account.userid, account.passwd, account.version);
} else {
login_log("Request for connection (encryption mode) of %s (ip: %s)." RETCODE, account.userid, ip);
// If remove control characters from received password encrypted by md5,
@@ -3120,18 +3121,18 @@ int parse_login(int fd) {
account.passwd[16] = '\0';
}
#ifdef PASSWORDENC
- account.passwdenc = (RFIFOW(fd,0) == 0x64) ? 0 : PASSWORDENC;
+ account.passwdenc = (RFIFOW(fd,0) != 0x01dd) ? 0 : PASSWORDENC;
#else
account.passwdenc = 0;
#endif
if (!check_ip(session[fd]->client_addr.sin_addr.s_addr)) {
login_log("Connection refused: IP isn't authorised (deny/allow, ip: %s)." RETCODE, ip);
- WFIFOHEAD(fd, 23);
+ WFIFOHEAD(fd, 23);
WFIFOW(fd,0) = 0x6a;
WFIFOB(fd,2) = 3; // 3 = Rejected from Server
WFIFOSET(fd,23);
- RFIFOSKIP(fd,(RFIFOW(fd,0) == 0x64) ? 55 : 47);
+ RFIFOSKIP(fd,packet_len);
break;
}
@@ -3141,7 +3142,7 @@ int parse_login(int fd) {
if (min_level_to_connect > gm_level) {
login_log("Connection refused: the minimum GM level for connection is %d (account: %s, GM level: %d, ip: %s)." RETCODE,
min_level_to_connect, account.userid, gm_level, ip);
- WFIFOHEAD(fd, 3);
+ WFIFOHEAD(fd, 3);
WFIFOW(fd,0) = 0x81;
WFIFOB(fd,2) = 1; // 01 = Server closed
WFIFOSET(fd,3);