summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2006-08-07 03:45:30 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2006-08-07 03:45:30 +0000
commitf996b2d182d8f8b295e3664054b4bda4553d4198 (patch)
tree65547aecaeeecd8de4f99cef1bdd666198c15029 /games-strategy/freeciv/files
parent(#141425) Stable on x86/ppc. (diff)
downloadgentoo-2-f996b2d182d8f8b295e3664054b4bda4553d4198.tar.gz
gentoo-2-f996b2d182d8f8b295e3664054b4bda4553d4198.tar.bz2
gentoo-2-f996b2d182d8f8b295e3664054b4bda4553d4198.zip
add upstream patch for DoS issue (bug #141563); rev bumped to force out
(Portage version: 2.1.1_pre4-r3)
Diffstat (limited to 'games-strategy/freeciv/files')
-rw-r--r--games-strategy/freeciv/files/digest-freeciv-2.0.8-r16
-rw-r--r--games-strategy/freeciv/files/freeciv-2.0.8-DoS.patch26
2 files changed, 32 insertions, 0 deletions
diff --git a/games-strategy/freeciv/files/digest-freeciv-2.0.8-r1 b/games-strategy/freeciv/files/digest-freeciv-2.0.8-r1
new file mode 100644
index 000000000000..fd5043d06cbd
--- /dev/null
+++ b/games-strategy/freeciv/files/digest-freeciv-2.0.8-r1
@@ -0,0 +1,6 @@
+MD5 9ebd5899c2c78362e0e2c68791673a88 freeciv-2.0.8.tar.bz2 8535513
+RMD160 7ab93442cf63db22e9e660d2c1955990a1376d26 freeciv-2.0.8.tar.bz2 8535513
+SHA256 85b396c86f977b85f03fa1309733d21f7cc953e005ff1475f9981b77fa9f28f3 freeciv-2.0.8.tar.bz2 8535513
+MD5 77215914712f2f351092918f5e41e39e stdsounds3.tar.gz 118278
+RMD160 46bb5fef4b2d3acf9959b3228c962bdf6591ea09 stdsounds3.tar.gz 118278
+SHA256 a3cc2be93c006c3a9492349aa4552bf059e45efc94135f09241877c221ae1bfa stdsounds3.tar.gz 118278
diff --git a/games-strategy/freeciv/files/freeciv-2.0.8-DoS.patch b/games-strategy/freeciv/files/freeciv-2.0.8-DoS.patch
new file mode 100644
index 000000000000..83a61dd1dc97
--- /dev/null
+++ b/games-strategy/freeciv/files/freeciv-2.0.8-DoS.patch
@@ -0,0 +1,26 @@
+--- trunk/server/unithand.c 2006/07/12 17:18:43 12065
++++ trunk/server/unithand.c 2006/07/16 12:15:25 12106
+@@ -1622,7 +1622,8 @@
+ struct tile *src_tile = map_pos_to_tile(packet->src_x, packet->src_y);
+ int i;
+
+- if (!punit || packet->length < 0 || punit->activity != ACTIVITY_IDLE) {
++ if (!punit || packet->length < 0 || punit->activity != ACTIVITY_IDLE
++ || packet->length > MAX_LEN_ROUTE) {
+ return;
+ }
+
+--- trunk/common/packets.c 2006/03/04 02:42:00 11710
++++ trunk/common/packets.c 2006/07/24 08:37:08 12146
+@@ -562,8 +562,11 @@
+ chunk->total_length, chunk->chunk_length);
+
+ if (chunk->total_length < 0
++ || chunk->chunk_length < 0
+ || chunk->total_length >= MAX_ATTRIBUTE_BLOCK
+ || chunk->offset < 0
++ || chunk->offset > chunk->total_length /* necessary check on 32 bit systems */
++ || chunk->chunk_length > chunk->total_length
+ || chunk->offset + chunk->chunk_length > chunk->total_length
+ || (chunk->offset != 0
+ && chunk->total_length != pplayer->attribute_block_buffer.length)) {