From bfb71659256c92846ace82692f55b164da56c792 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 10 Apr 2019 19:12:21 +0300 Subject: Update packets table to 2019-05-02 --- src/common/packets/packets2019_len_main.h | 25 +++++++++++--- src/common/packets/packets2019_len_re.h | 25 +++++++++++--- src/common/packets/packets2019_len_zero.h | 54 ++++++++++++++++++++++++++++--- 3 files changed, 92 insertions(+), 12 deletions(-) (limited to 'src/common') diff --git a/src/common/packets/packets2019_len_main.h b/src/common/packets/packets2019_len_main.h index 79c8d3f51..f55db7cd0 100644 --- a/src/common/packets/packets2019_len_main.h +++ b/src/common/packets/packets2019_len_main.h @@ -3793,7 +3793,7 @@ packetLen(0x0a46, 14) // CZ_REQ_STYLE_CHANGE packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES // Packet: 0x0a48 -packetLen(0x0a48, 2) +packetLen(0x0a48, 2) // CZ_STYLE_CLOSE // Packet: 0x0a49 packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST @@ -3949,7 +3949,7 @@ packetLen(0x0a86, -1) packetLen(0x0a87, -1) // Packet: 0x0a88 -packetLen(0x0a88, 2) +packetLen(0x0a88, 2) // CZ_COOLDOWN_RESET // Packet: 0x0a89 packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE @@ -4210,7 +4210,7 @@ packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT // Packet: 0x0adf -packetLen(0x0adf, 58) // ZC_ACK_REQNAME +packetLen(0x0adf, 58) // ZC_ACK_REQNAME_TITLE // Packet: 0x0ae0 packetLen(0x0ae0, 30) @@ -4426,11 +4426,28 @@ packetLen(0x0b22, 6) #endif // Packet: 0x0b23 -#if PACKETVER >= 20190306 +#if PACKETVER >= 20190417 +packetLen(0x0b23, 6) +#elif PACKETVER >= 20190306 // removed #elif PACKETVER >= 20190227 packetLen(0x0b23, 10) #endif +// Packet: 0x0b24 +#if PACKETVER >= 20190417 +packetLen(0x0b24, 6) +#endif + +// Packet: 0x0b25 +#if PACKETVER >= 20190417 +packetLen(0x0b25, 6) +#endif + +// Packet: 0x0b26 +#if PACKETVER >= 20190417 +packetLen(0x0b26, 18) +#endif + #endif /* COMMON_PACKETS2019_LEN_MAIN_H */ diff --git a/src/common/packets/packets2019_len_re.h b/src/common/packets/packets2019_len_re.h index c43b65cd9..2f68261cd 100644 --- a/src/common/packets/packets2019_len_re.h +++ b/src/common/packets/packets2019_len_re.h @@ -3799,7 +3799,7 @@ packetLen(0x0a46, 14) // CZ_REQ_STYLE_CHANGE packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES // Packet: 0x0a48 -packetLen(0x0a48, 2) +packetLen(0x0a48, 2) // CZ_STYLE_CLOSE // Packet: 0x0a49 packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST @@ -3955,7 +3955,7 @@ packetLen(0x0a86, -1) packetLen(0x0a87, -1) // Packet: 0x0a88 -packetLen(0x0a88, 2) +packetLen(0x0a88, 2) // CZ_COOLDOWN_RESET // Packet: 0x0a89 packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE @@ -4216,7 +4216,7 @@ packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT // Packet: 0x0adf -packetLen(0x0adf, 58) // ZC_ACK_REQNAME +packetLen(0x0adf, 58) // ZC_ACK_REQNAME_TITLE // Packet: 0x0ae0 packetLen(0x0ae0, 30) @@ -4432,11 +4432,28 @@ packetLen(0x0b22, 6) #endif // Packet: 0x0b23 -#if PACKETVER >= 20190306 +#if PACKETVER >= 20190417 +packetLen(0x0b23, 6) +#elif PACKETVER >= 20190306 // removed #elif PACKETVER >= 20190227 packetLen(0x0b23, 10) #endif +// Packet: 0x0b24 +#if PACKETVER >= 20190417 +packetLen(0x0b24, 6) +#endif + +// Packet: 0x0b25 +#if PACKETVER >= 20190417 +packetLen(0x0b25, 6) +#endif + +// Packet: 0x0b26 +#if PACKETVER >= 20190417 +packetLen(0x0b26, 18) +#endif + #endif /* COMMON_PACKETS2019_LEN_RE_H */ diff --git a/src/common/packets/packets2019_len_zero.h b/src/common/packets/packets2019_len_zero.h index 85098505a..24abdb7bd 100644 --- a/src/common/packets/packets2019_len_zero.h +++ b/src/common/packets/packets2019_len_zero.h @@ -3793,7 +3793,7 @@ packetLen(0x0a46, 14) // CZ_REQ_STYLE_CHANGE packetLen(0x0a47, 3) // ZC_STYLE_CHANGE_RES // Packet: 0x0a48 -packetLen(0x0a48, 2) +packetLen(0x0a48, 2) // CZ_STYLE_CLOSE // Packet: 0x0a49 packetLen(0x0a49, 22) // CZ_PRIVATE_AIRSHIP_REQUEST @@ -3946,10 +3946,10 @@ packetLen(0x0a85, 82) packetLen(0x0a86, -1) // Packet: 0x0a87 -packetLen(0x0a87, -1) +packetLen(0x0a87, -1) // ZC_BAN_LIST // Packet: 0x0a88 -packetLen(0x0a88, 2) +packetLen(0x0a88, 2) // CZ_COOLDOWN_RESET // Packet: 0x0a89 packetLen(0x0a89, 61) // ZC_NOTIFY_OFFLINE_STORE @@ -4210,7 +4210,7 @@ packetLen(0x0add, 24) // ZC_ITEM_FALL_ENTRY packetLen(0x0ade, 6) // ZC_OVERWEIGHT_PERCENT // Packet: 0x0adf -packetLen(0x0adf, 58) // ZC_ACK_REQNAME +packetLen(0x0adf, 58) // ZC_ACK_REQNAME_TITLE // Packet: 0x0ae0 packetLen(0x0ae0, 30) @@ -4417,5 +4417,51 @@ packetLen(0x0b21, 13) packetLen(0x0b22, 5) #endif +// Packet: 0x0b23 +#if PACKETVER >= 20190410 +packetLen(0x0b23, 6) +#endif + +// Packet: 0x0b24 +#if PACKETVER >= 20190424 +packetLen(0x0b24, 6) +#endif + +// Packet: 0x0b25 +#if PACKETVER >= 20190424 +packetLen(0x0b25, 6) +#endif + +// Packet: 0x0b26 +#if PACKETVER >= 20190424 +packetLen(0x0b26, 16) +#endif + +// Packet: 0x0b27 +#if PACKETVER >= 20190502 +packetLen(0x0b27, -1) +#elif PACKETVER >= 20190424 +packetLen(0x0b27, 2) +#endif + +// Packet: 0x0b28 +#if PACKETVER >= 20190502 +packetLen(0x0b28, 22) +#elif PACKETVER >= 20190424 +packetLen(0x0b28, -1) +#endif + +// Packet: 0x0b29 +#if PACKETVER >= 20190502 +packetLen(0x0b29, 6) +#elif PACKETVER >= 20190424 +packetLen(0x0b29, 3) +#endif + +// Packet: 0x0b2a +#if PACKETVER >= 20190502 +packetLen(0x0b2a, 6) +#endif + #endif /* COMMON_PACKETS2019_LEN_ZERO_H */ -- cgit v1.2.3-70-g09d2 From 4a47644d930184ed8eb6c23291d2d37b3cba9ac1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 13 Apr 2019 20:19:10 +0300 Subject: Update HPM --- src/common/HPMDataCheck.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/common') diff --git a/src/common/HPMDataCheck.h b/src/common/HPMDataCheck.h index 02d6c9631..506881467 100644 --- a/src/common/HPMDataCheck.h +++ b/src/common/HPMDataCheck.h @@ -671,6 +671,7 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = { { "PACKET_ZC_ACK_OPEN_WRITE_MAIL", sizeof(struct PACKET_ZC_ACK_OPEN_WRITE_MAIL), SERVER_TYPE_MAP }, { "PACKET_ZC_ACK_REMOVE_ITEM_MAIL", sizeof(struct PACKET_ZC_ACK_REMOVE_ITEM_MAIL), SERVER_TYPE_MAP }, { "PACKET_ZC_ACK_REQMAKINGITEM", sizeof(struct PACKET_ZC_ACK_REQMAKINGITEM), SERVER_TYPE_MAP }, + { "PACKET_ZC_ACK_REQNAMEALL", sizeof(struct PACKET_ZC_ACK_REQNAMEALL), SERVER_TYPE_MAP }, { "PACKET_ZC_ACK_SCHEDULER_CASHITEM", sizeof(struct PACKET_ZC_ACK_SCHEDULER_CASHITEM), SERVER_TYPE_MAP }, { "PACKET_ZC_ACK_SCHEDULER_CASHITEM_sub", sizeof(struct PACKET_ZC_ACK_SCHEDULER_CASHITEM_sub), SERVER_TYPE_MAP }, { "PACKET_ZC_ACK_TOUSESKILL", sizeof(struct PACKET_ZC_ACK_TOUSESKILL), SERVER_TYPE_MAP }, @@ -799,7 +800,6 @@ HPExport const struct s_HPMDataCheck HPMDataCheck[] = { { "packet_quest_update_header", sizeof(struct packet_quest_update_header), SERVER_TYPE_MAP }, { "packet_quest_update_hunt", sizeof(struct packet_quest_update_hunt), SERVER_TYPE_MAP }, { "packet_reqname_ack", sizeof(struct packet_reqname_ack), SERVER_TYPE_MAP }, - { "packet_reqnameall_ack", sizeof(struct packet_reqnameall_ack), SERVER_TYPE_MAP }, { "packet_roulette_close_ack", sizeof(struct packet_roulette_close_ack), SERVER_TYPE_MAP }, { "packet_roulette_generate_ack", sizeof(struct packet_roulette_generate_ack), SERVER_TYPE_MAP }, { "packet_roulette_info_ack", sizeof(struct packet_roulette_info_ack), SERVER_TYPE_MAP }, -- cgit v1.2.3-70-g09d2 From 7a95d8dfe44a37759dab2bef67c65ef5f1786ff4 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Thu, 25 Apr 2019 02:09:46 +0300 Subject: Add char_id into struct guild_expulsion Also use char_id in packet ZC_BAN_LIST. --- src/char/int_guild.c | 12 +++++++----- src/common/mmo.h | 1 + src/map/clif.c | 3 ++- 3 files changed, 10 insertions(+), 6 deletions(-) (limited to 'src/common') diff --git a/src/char/int_guild.c b/src/char/int_guild.c index aabf562a2..8e05c76e2 100644 --- a/src/char/int_guild.c +++ b/src/char/int_guild.c @@ -319,8 +319,8 @@ static int inter_guild_tosql(struct guild *g, int flag) SQL->EscapeStringLen(inter->sql_handle, esc_name, e->name, strnlen(e->name, NAME_LENGTH)); SQL->EscapeStringLen(inter->sql_handle, esc_mes, e->mes, strnlen(e->mes, sizeof(e->mes))); - if( SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s` (`guild_id`,`account_id`,`name`,`mes`) " - "VALUES ('%d','%d','%s','%s')", guild_expulsion_db, g->guild_id, e->account_id, esc_name, esc_mes) ) + if( SQL_ERROR == SQL->Query(inter->sql_handle, "REPLACE INTO `%s` (`guild_id`,`account_id`, `char_id`, `name`,`mes`) " + "VALUES ('%d','%d','%d','%s','%s')", guild_expulsion_db, g->guild_id, e->account_id, e->char_id, esc_name, esc_mes) ) Sql_ShowDebug(inter->sql_handle); } } @@ -494,7 +494,7 @@ static struct guild *inter_guild_fromsql(int guild_id) } //printf("- Read guild_expulsion %d from sql \n",guild_id); - if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `account_id`,`name`,`mes` FROM `%s` WHERE `guild_id`='%d'", guild_expulsion_db, guild_id) ) + if( SQL_ERROR == SQL->Query(inter->sql_handle, "SELECT `account_id`,`char_id`,`name`,`mes` FROM `%s` WHERE `guild_id`='%d'", guild_expulsion_db, guild_id) ) { Sql_ShowDebug(inter->sql_handle); aFree(g); @@ -505,8 +505,9 @@ static struct guild *inter_guild_fromsql(int guild_id) struct guild_expulsion *e = &g->expulsion[i]; SQL->GetData(inter->sql_handle, 0, &data, NULL); e->account_id = atoi(data); - SQL->GetData(inter->sql_handle, 1, &data, &len); memcpy(e->name, data, min(len, NAME_LENGTH)); - SQL->GetData(inter->sql_handle, 2, &data, &len); memcpy(e->mes, data, min(len, sizeof(e->mes))); + SQL->GetData(inter->sql_handle, 1, &data, NULL); e->char_id = atoi(data); + SQL->GetData(inter->sql_handle, 2, &data, &len); memcpy(e->name, data, min(len, NAME_LENGTH)); + SQL->GetData(inter->sql_handle, 3, &data, &len); memcpy(e->mes, data, min(len, sizeof(e->mes))); } //printf("- Read guild_skill %d from sql \n",guild_id); @@ -1044,6 +1045,7 @@ static bool inter_guild_leave(int guild_id, int account_id, int char_id, int fla } // Save the expulsion entry g->expulsion[j].account_id = account_id; + g->expulsion[j].char_id = char_id; safestrncpy(g->expulsion[j].name, g->member[i].name, NAME_LENGTH); safestrncpy(g->expulsion[j].mes, mes, 40); } diff --git a/src/common/mmo.h b/src/common/mmo.h index a29b0f2db..aafa54008 100644 --- a/src/common/mmo.h +++ b/src/common/mmo.h @@ -856,6 +856,7 @@ struct guild_expulsion { char name[NAME_LENGTH]; char mes[40]; int account_id; + int char_id; }; struct guild_skill { diff --git a/src/map/clif.c b/src/map/clif.c index a7bcc5801..336bbb752 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -8405,6 +8405,7 @@ static void clif_guild_expulsion(struct map_session_data *sd, const char *name, #endif safestrncpy(&p.reason[0], mes, 40); +// version unconfirmed #if PACKETVER < 20100803 memset(&p.account_name, 0, NAME_LENGTH); // account name (not used for security reasons) #endif @@ -8437,7 +8438,7 @@ static void clif_guild_expulsionlist(struct map_session_data *sd) if (e->account_id > 0) { #if PACKETVER_MAIN_NUM >= 20161019 || PACKETVER_RE_NUM >= 20160921 || defined(PACKETVER_ZERO) - packet->chars[c].char_id = 0; // for now char_id unknown [4144] + packet->chars[c].char_id = e->char_id; // version unconfirmed #elif PACKETVER >= 20100803 memcpy(packet->chars[c].char_name, e->name, NAME_LENGTH); -- cgit v1.2.3-70-g09d2 From b8ce5e9e1352abc45b08f92eb50890f202b1b230 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 4 May 2019 01:13:24 +0300 Subject: Disable packet validation in socket_datasync --- src/common/socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/common') diff --git a/src/common/socket.c b/src/common/socket.c index dc5b06da0..8ee4f06e2 100644 --- a/src/common/socket.c +++ b/src/common/socket.c @@ -1856,7 +1856,7 @@ static void socket_datasync(int fd, bool send) WFIFOL(fd, 4 + ( i * 4 ) ) = data_list[i].length; } - WFIFOSET(fd, p_len); + WFIFOSET2(fd, p_len); } else { for( i = 0; i < alen; i++ ) { if( RFIFOL(fd, 4 + (i * 4) ) != data_list[i].length ) { @@ -1865,7 +1865,7 @@ static void socket_datasync(int fd, bool send) WFIFOW(fd, 0) = 0x2b0a; WFIFOW(fd, 2) = 8; WFIFOL(fd, 4) = 0; - WFIFOSET(fd, 8); + WFIFOSET2(fd, 8); sockt->flush(fd); /* shut down */ ShowFatalError("Servers are out of sync! recompile from scratch (%d)\n",i); -- cgit v1.2.3-70-g09d2