[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

diff for 2.0.3+dfsg1-2.2 NMU



Hi,

Attached is the diff for my ktorrent 2.0.3+dfsg1-2.2 NMU.

  This one is without touching the build-system (no quilt dependency).

@the RM: please unblock this one that is less intrusive.
@the maintainer: you can keep the 2.1 NMU in your packaging the 2.2 is
     IMHO gross, but the previous one was not complying with the FREEZE
     requirements.

Cheers,
-- 
·O·  Pierre Habouzit
··O                                                madcoder@debian.org
OOO                                                http://www.madism.org
diff -u ktorrent-2.0.3+dfsg1/debian/changelog ktorrent-2.0.3+dfsg1/debian/changelog
--- ktorrent-2.0.3+dfsg1/debian/changelog
+++ ktorrent-2.0.3+dfsg1/debian/changelog
@@ -1,3 +1,21 @@
+ktorrent (2.0.3+dfsg1-2.2) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Redo the previous patch without kilt, integrating it into the buildsystem
+    directly (yuck !).
+
+ -- Pierre Habouzit <madcoder@debian.org>  Thu, 22 Mar 2007 16:41:39 +0100
+
+ktorrent (2.0.3+dfsg1-2.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * Fix security issue (Closes: 414832, 414830):
+    + drop patch from #414832 in debian/patches.
+    + use quilt as a patches management system to deal with it.
+    + urgency set to high due to RC bugfix.
+
+ -- Pierre Habouzit <madcoder@debian.org>  Thu, 22 Mar 2007 11:11:20 +0100
+
 ktorrent (2.0.3+dfsg1-2) unstable; urgency=low
 
   * Resolve FTBFS - remove nonportable "-z now" from LDFLAGS  (Closes: 395897)
only in patch2:
unchanged:
--- ktorrent-2.0.3+dfsg1.orig/libktorrent/torrent/peer.cpp
+++ ktorrent-2.0.3+dfsg1/libktorrent/torrent/peer.cpp
@@ -182,11 +182,21 @@
 				{
 					Out() << "len err HAVE" << endl;
 					kill();
-					return;
 				}
-				
-				haveChunk(this,ReadUint32(tmp_buf,1));
-				pieces.set(ReadUint32(tmp_buf,1),true);
+				else	
+				{
+					Uint32 ch = ReadUint32(tmp_buf,1);
+					if (ch < pieces.getNumBits())
+					{
+						haveChunk(this,ch);
+						pieces.set(ch,true);
+					}
+					else
+					{
+						Out(SYS_CON|LOG_NOTICE) << "Received invalid have value, kicking peer" << endl;
+						kill();
+					}
+				}
 				break;
 			case BITFIELD:
 				if (len != 1 + pieces.getNumBytes())
only in patch2:
unchanged:
--- ktorrent-2.0.3+dfsg1.orig/libktorrent/torrent/torrent.cpp
+++ ktorrent-2.0.3+dfsg1/libktorrent/torrent/torrent.cpp
@@ -141,9 +141,13 @@
 				if (!v || v->data().getType() != Value::STRING)
 					throw Error(i18n("Corrupted torrent!"));
 	
-				path += v->data().toString(encoding);
-				if (j + 1 < ln->getNumChildren())
-					path += bt::DirSeparator();
+				QString sd = v->data().toString(encoding);
+				if (sd != "..")
+				{
+					path += sd;
+					if (j + 1 < ln->getNumChildren())
+						path += bt::DirSeparator();
+				}
 			}
 
 			// we do not want empty dirs
only in patch2:
unchanged:
--- ktorrent-2.0.3+dfsg1.orig/libktorrent/torrent/chunkcounter.cpp
+++ ktorrent-2.0.3+dfsg1/libktorrent/torrent/chunkcounter.cpp
@@ -59,12 +59,13 @@
 
 	void ChunkCounter::inc(Uint32 idx)
 	{
+		if (idx < cnt.size())
 		cnt[idx]++;
 	}
 		
 	void ChunkCounter::dec(Uint32 idx)
 	{
-		if (cnt[idx] > 0)
+		if (idx < cnt.size() && cnt[idx] > 0)
 			cnt[idx]--;
 	}
 		

Attachment: signature.asc
Description: Digital signature


Reply to: