summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2006-01-10 16:46:30 +0000
committerMichael Vogt <michael.vogt@ubuntu.com>2006-01-10 16:46:30 +0000
commitc5691ddf15797bead5d77021ee0524635798bebb (patch)
treec36d42b4b2c01d6582a22d2fa4083f07777f3b75
parent610a00396d7bb5c9412cdecdc645be2f54a7188b (diff)
parent927c393f1305925c1456c931e1e7b45afd6f051d (diff)
downloadapt-c5691ddf15797bead5d77021ee0524635798bebb.tar.gz
* fix http data corruption (#280844)
Patches applied: * mvo@debian.org--2005/apt--debian-experimental--0--patch-12 * added http data corruption fix patch (#280844)
-rw-r--r--configure.in2
-rw-r--r--debian/changelog4
-rw-r--r--methods/http.cc13
3 files changed, 8 insertions, 11 deletions
diff --git a/configure.in b/configure.in
index b975031e5..0d80e5ed9 100644
--- a/configure.in
+++ b/configure.in
@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.6.43.1")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.43.2")
PACKAGE="apt"
AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
AC_SUBST(PACKAGE)
diff --git a/debian/changelog b/debian/changelog
index 5e14a92f9..020fe9813 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -9,8 +9,10 @@ apt (0.6.43.2) unstable; urgency=low
- sk.po: Completed to 511t. Closes: #346369
- fr.po: Completed to 511t
- *.po: Updated from sources (511 strings)
+ * add patch to fix http download corruption problem (thanks to
+ Petr Vandrovec, closes: #280844, #290694)
- --
+ -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 10 Jan 2006 17:09:31 +0100
apt (0.6.43.1) unstable; urgency=low
diff --git a/methods/http.cc b/methods/http.cc
index dc3f0b763..341de94e3 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -241,28 +241,23 @@ bool CircleBuf::WriteTillEl(string &Data,bool Single)
if (Buf[I%Size] != '\n')
continue;
++I;
- if (I < InP && Buf[I%Size] == '\r')
- ++I;
if (Single == false)
{
- if (Buf[I%Size] != '\n')
- continue;
- ++I;
if (I < InP && Buf[I%Size] == '\r')
++I;
+ if (I >= InP || Buf[I%Size] != '\n')
+ continue;
+ ++I;
}
- if (I > InP)
- I = InP;
-
Data = "";
while (OutP < I)
{
unsigned long Sz = LeftWrite();
if (Sz == 0)
return false;
- if (I - OutP < LeftWrite())
+ if (I - OutP < Sz)
Sz = I - OutP;
Data += string((char *)(Buf + (OutP%Size)),Sz);
OutP += Sz;