vine-users ML アーカイブ



[vine-users:074039] apt-get と chunked

  • From: Hiroshi Suzuki <setter@xxxxxxxx>
  • Subject: [vine-users:074039] apt-get と chunked
  • Date: Sat, 18 Feb 2006 09:08:32 +0900
鈴木です。

# 要望モードです (^^;

Vine に付いている apt-get には、
Transfer-Encoding: chunked
において、データが壊れるバグがあるように見えます。

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=152711
において、(apt-0.5.25) 修正がなされているようです。
apt-0.5.15cnc7 にバックポートしてみたところ問題が
なくなるように見えるので、修正をしていただけると
助かります。

上記サイトのままですが、パッチです。

−−−−

diff -Naru apt-0.5.15cnc7.orig/methods/http.cc apt-0.5.15cnc7/methods/http.cc
--- apt-0.5.15cnc7.orig/methods/http.cc 2003-02-21 06:24:05.000000000 +0900
+++ apt-0.5.15cnc7/methods/http.cc      2006-02-18 08:01:39.000000000 +0900
@@ -206,13 +206,19 @@
    {
       if (Buf[I%Size] != '\n')
         continue;
-      for (I++; I < InP && Buf[I%Size] == '\r'; I++);
-
+//      for (I++; I < InP && Buf[I%Size] == '\r'; I++);
+       I++;
+       if (I < InP  && Buf[I%Size] == '\r')
+               I++;
+
       if (Single == false)
       {
         if (Buf[I%Size] != '\n')
            continue;
-        for (I++; I < InP && Buf[I%Size] == '\r'; I++);
+//      for (I++; I < InP && Buf[I%Size] == '\r'; I++);
+       I++;
+       if (I < InP  && Buf[I%Size] == '\r')
+               I++;
       }

       if (I > InP)


-- 
 Hiroshi Suzuki              It's crucial   qp
 setter@xxxxxxxx                 to my     (..)/
 http://my.reset.jp/~setter/  Well-being   -  -
 http://i-red.info/                         ~~
 Powered by Linux/DeleGate   _____________*-_____