summaryrefslogtreecommitdiff
path: root/src/login
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-08-06 19:05:37 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-08-06 19:05:37 +0000
commitaec807d9ba3c67308ac10cfe0de8d1a4568e9aaa (patch)
treef80a26aa0d80b10f4b0c95081edd072908c874f7 /src/login
parent6b459b8eeed83ca4c18782c85fa853993cc58731 (diff)
downloadhercules-aec807d9ba3c67308ac10cfe0de8d1a4568e9aaa.tar.gz
hercules-aec807d9ba3c67308ac10cfe0de8d1a4568e9aaa.tar.bz2
hercules-aec807d9ba3c67308ac10cfe0de8d1a4568e9aaa.tar.xz
hercules-aec807d9ba3c67308ac10cfe0de8d1a4568e9aaa.zip
* Added a null-pointer check to skill_initunit() to prevent a crash
* Added a while() loop to the client packet processor (for performance) * Added support for kRO 2007-05-14aSakexe langtype 0 login packet 0x2b0 * Added Job_Baby_Alchemist define to complement the Job_Alchemist update * Added custom Hollow Poring mob_db2 entry git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10954 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/login')
-rw-r--r--src/login/login.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/login/login.c b/src/login/login.c
index 5940571b9..e687ff986 100644
--- a/src/login/login.c
+++ b/src/login/login.c
@@ -3015,8 +3015,9 @@ int parse_login(int fd)
break;
case 0x0064: // request client login
- case 0x0277: // New login packet (layout is same as 0x64 but different length)
case 0x01dd: // request client login (encryption mode)
+ case 0x0277: // New login packet (layout is same as 0x64 but different length)
+ case 0x02b0: // New login packet (kRO 2007-05-14aSakexe langtype 0)
{
int packet_len = RFIFOREST(fd); // assume no other packet was sent
@@ -3033,14 +3034,16 @@ int parse_login(int fd)
break;
}
- if ((command == 0x0064 && packet_len < 55) ||
- (command == 0x0277 && packet_len < 84) ||
- (command == 0x01dd && packet_len < 47))
+ if( (command == 0x0064 && packet_len < 55)
+ || (command == 0x01dd && packet_len < 47)
+ || (command == 0x0277 && packet_len < 84)
+ || (command == 0x02b0 && packet_len < 85) )
return 0;
// S 0064 <version>.l <account name>.24B <password>.24B <version2>.B
- // S 0277 ??
// S 01dd <version>.l <account name>.24B <md5 binary>.16B <version2>.B
+ // S 0277 ??
+ // S 02b0 <version>.l <account name>.24B <password>.24B <?>.B <ip address>.16B <?>.13 <version2>.B
memset(&account, 0, sizeof(account));
account.version = RFIFOL(fd,2);