K 10
svn:author
V 6
rfalke
K 8
svn:date
V 27
2002-05-14T18:53:34.000000Z
K 7
svn:log
V 1156
Move the PACKET_PROCESSING_STARTED and PACKET_PROCESSING_FINISHED from
the end of the enum to the start. This breaks the network protocol in
a way which can't be recovered by capabilities. This is the avoid
situations like the one reported as (PR#1420).

Detailed description of (PR#1420): an item (PACKET_PLAYER_WORKLIST) of
the enum packet_type got removed. This changed the mapping of the enum
name to its value of latter elements in the enum. Also a mandatory
capability was added. If now an old client connects to the new
server the server correctly recognize the missing mandatory capability
and rejects the client. This produce this packet sequence:
  PACKET_PROCESSING_STARTED
  PACKET_JOIN_GAME_REPLY (containing the reject)
  PACKET_PROCESSING_FINISHED

Unfortunately the value of PACKET_PROCESSING_STARTED is different
between old client and new server. To prevent this the packets
PACKET_PROCESSING_STARTED and PACKET_PROCESSING_FINISHED are moved to
the top of the enum in the hope that no packets are added or removed
in front of the two PACKET_PROCESSING_* packets.

Reported by Per I. Mathisen <Per.Inge.Mathisen@idi.ntnu.no> as
(PR#1420).

END
