Procházet zdrojové kódy

* added http data corruption fix patch (#280844)

Michael Vogt před 21 roky
rodič
revize
927c393f13
3 změnil soubory, kde provedl 9 přidání a 11 odebrání
  1. 1 1
      configure.in
  2. 4 1
      debian/changelog
  3. 4 9
      methods/http.cc

+ 1 - 1
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.42.1")
+AC_DEFINE_UNQUOTED(VERSION,"0.6.42.1exp1")
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)

+ 4 - 1
debian/changelog

@@ -5,7 +5,10 @@ apt (0.6.42.1exp1) experimental; urgency=low
   * synced with the apt--debian-sid--0 branch
   * build from mvo@debian.org--2005/apt--debian-experimental--0
     (from http://people.debian.org/~mvo/arch)
-
+  * fix bug in apt-cache when displaying the record (closes: #334887)
+  * add patch to fix http download corruption problem (thanks to
+    Petr Vandrovec, closes: #280844, #290694)
+  
  -- Michael Vogt <mvo@debian.org>  Wed, 19 Oct 2005 22:12:13 +0200
 
 apt (0.6.42.1) unstable; urgency=low

+ 4 - 9
methods/http.cc

@@ -205,28 +205,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;