@@ -642,6 +642,7 @@ namespace pvpgn
642
642
643
643
conn_set_archtag (c, bn_int_get (packet->u .client_progident .archtag ));
644
644
conn_set_clienttag (c, bn_int_get (packet->u .client_progident .clienttag ));
645
+ conn_set_versionid (c, bn_int_get (packet->u .client_progident .versionid ));
645
646
646
647
if ((rpacket = packet_create (packet_class_bnet)))
647
648
{
@@ -651,7 +652,7 @@ namespace pvpgn
651
652
652
653
// CheckRevision
653
654
std::tuple<std::string, std::string> checkrevision = select_checkrevision (bn_int_get (packet->u .client_progident .archtag ), bn_int_get (packet->u .client_progident .clienttag ), bn_int_get (packet->u .client_progident .versionid ));
654
- file_to_mod_time (c, std::get<0 >(checkrevision).c_str (), &rpacket->u .server_authreq_109 .timestamp ); // Checkrevision file timestamp
655
+ file_to_mod_time (c, std::get<0 >(checkrevision).c_str (), &rpacket->u .server_authreq1 .timestamp ); // Checkrevision file timestamp
655
656
packet_append_string (rpacket, std::get<0 >(checkrevision).c_str ()); // CheckRevision filename
656
657
packet_append_string (rpacket, std::get<1 >(checkrevision).c_str ()); // CheckRevision equation
657
658
eventlog (eventlog_level_debug, __FUNCTION__, " [{}] selected \" {}\" \" {}\" " , conn_get_socket (c), std::get<0 >(checkrevision), std::get<1 >(checkrevision));
@@ -997,6 +998,8 @@ namespace pvpgn
997
998
998
999
static int _client_authreq1 (t_connection * c, t_packet const *const packet)
999
1000
{
1001
+ eventlog (eventlog_level_trace, __FUNCTION__, " [{}] received AUTHREQ1(0x07) packet" , conn_get_socket (c));
1002
+
1000
1003
if (packet_get_size (packet) < sizeof (t_client_authreq1))
1001
1004
{
1002
1005
eventlog (eventlog_level_error, __FUNCTION__, " [{}] got bad AUTHREQ1 packet (expected {} bytes, got {})" , conn_get_socket (c), sizeof (t_client_authreq1), packet_get_size (packet));
@@ -1026,20 +1029,23 @@ namespace pvpgn
1026
1029
// The client should have already sent this information in a previous packet and is resending it again in this packet
1027
1030
if (bn_int_get (packet->u .client_authreq1 .archtag ) != conn_get_archtag (c))
1028
1031
{
1032
+ eventlog (eventlog_level_error, __FUNCTION__, " [{}] got bad AUTHREQ1 (mismatch architecture)" , conn_get_socket (c));
1029
1033
send_failed_packet (c);
1030
- return 0 ;
1034
+ return - 1 ;
1031
1035
}
1032
1036
1033
1037
if (bn_int_get (packet->u .client_authreq1 .clienttag ) != conn_get_clienttag (c))
1034
1038
{
1039
+ eventlog (eventlog_level_error, __FUNCTION__, " [{}] got bad AUTHREQ1 (mismatch client tag)" , conn_get_socket (c));
1035
1040
send_failed_packet (c);
1036
- return 0 ;
1041
+ return - 1 ;
1037
1042
}
1038
1043
1039
1044
if (bn_int_get (packet->u .client_authreq1 .versionid ) != conn_get_versionid (c))
1040
1045
{
1046
+ eventlog (eventlog_level_error, __FUNCTION__, " [{}] got bad AUTHREQ1 (mismatch version ID)" , conn_get_socket (c));
1041
1047
send_failed_packet (c);
1042
- return 0 ;
1048
+ return - 1 ;
1043
1049
}
1044
1050
1045
1051
0 commit comments