Complete.Org: Mailing Lists: Archives: freeciv-dev: August 2005:
[Freeciv-Dev] (PR#13802) player attribute chunk security problem
Home

[Freeciv-Dev] (PR#13802) player attribute chunk security problem

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
Subject: [Freeciv-Dev] (PR#13802) player attribute chunk security problem
From: "Mateusz Stefek" <mstefek@xxxxxxxxx>
Date: Sun, 28 Aug 2005 04:03:15 -0700
Reply-to: bugs@xxxxxxxxxxx

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=13802 >

packets.c:

void post_receive_packet_player_attribute_chunk(struct connection *pc,
                                                struct 
packet_player_attribute_chunk
                                                *packet)
{
  /*
   * Because of the changes in enum packet_type during the 1.12.1
   * timeframe an old server will trigger the following condition.
   */
  if (packet->total_length <= 0
      || packet->total_length >= MAX_ATTRIBUTE_BLOCK) {
    freelog(LOG_FATAL, _("The server you tried to connect is too old "
                         "(1.12.0 or earlier). Please choose another "
                         "server next time. Good bye."));
    exit(EXIT_FAILURE);
  }

This mean that a client can crash the server. I thought it was already
fixed - this code comes from pre-Delta times.
Why do we still need it?
Can't we just ignore wrong packets?

This bug was accidentally triggered when I did /take in client (between
turns).
--
mateusz



[Prev in Thread] Current Thread [Next in Thread]
  • [Freeciv-Dev] (PR#13802) player attribute chunk security problem, Mateusz Stefek <=