Bug #1562 » 0068-Accept-PACKET_SYNC_SERIAL-from-non-player-connection.patch
| server/srv_main.c | ||
|---|---|---|
|
{
|
||
|
struct player *pplayer;
|
||
|
/* a NULL packet can be returned from receive_packet_goto_route() */
|
||
|
/* A NULL packet can be returned from receive_packet_goto_route() */
|
||
|
if (!packet) {
|
||
|
return TRUE;
|
||
|
}
|
||
| ... | ... | |
|
return TRUE;
|
||
|
}
|
||
|
/* valid packets from established connections but non-players */
|
||
|
/* Valid packets from established connections but non-players */
|
||
|
if (type == PACKET_CHAT_MSG_REQ
|
||
|
|| type == PACKET_SINGLE_WANT_HACK_REQ
|
||
|
|| type == PACKET_NATION_SELECT_REQ
|
||
| ... | ... | |
|
|| type == PACKET_CONN_PONG
|
||
|
|| type == PACKET_CLIENT_HEARTBEAT
|
||
|
|| type == PACKET_SAVE_SCENARIO
|
||
|
|| type == PACKET_SYNC_SERIAL
|
||
|
|| is_client_edit_packet(type)) {
|
||
|
/* Except for PACKET_EDIT_MODE (used to set edit mode), check
|
||
| ... | ... | |
|
handle_observer_ready(pconn);
|
||
|
return TRUE;
|
||
|
}
|
||
|
/* don't support these yet */
|
||
|
/* Don't support these yet */
|
||
|
log_error("Received packet %s(%d) from non-player connection %s.",
|
||
|
packet_name(type), type, conn_description(pconn));
|
||
|
return TRUE;
|
||
| ... | ... | |
|
&& type != PACKET_NATION_SELECT_REQ
|
||
|
&& type != PACKET_PLAYER_READY
|
||
|
&& type != PACKET_VOTE_SUBMIT
|
||
|
&& type != PACKET_RULESET_SELECT
|
||
|
&& type != PACKET_SYNC_SERIAL) {
|
||
|
&& type != PACKET_RULESET_SELECT) {
|
||
|
if (S_S_OVER == server_state()) {
|
||
|
/* This can happen by accident, so we don't want to print
|
||
|
* out lots of error messages. Ie, we use log_debug(). */
|
||
| ... | ... | |
|
}
|
||
|
pplayer->current_conn = NULL;
|
||
|
return TRUE;
|
||
|
}
|
||