]> git.saurik.com Git - apt.git/commitdiff
* methods/https.cc:
authorDavid Kalnischkies <kalnischkies@gmail.com>
Thu, 19 Jan 2012 22:51:00 +0000 (23:51 +0100)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Thu, 19 Jan 2012 22:51:00 +0000 (23:51 +0100)
  - use curls list append instead of appending Range and If-Range by hand
    which generates malformed requests, thanks Mel Collins for the hint!
    (Closes: #646381)

debian/changelog
methods/https.cc

index 7f5de05e0314c0486aba6515924e5f3395c73c2e..299afcf540d4ab6bf61dd7d4aee8fb6d31091139 100644 (file)
@@ -17,8 +17,12 @@ apt (0.8.16~exp12) experimental; urgency=low
   * debian/rules:
     - apply patch to enable usage of hardning CPPFLAGS and LDFLAGS by
       Moritz Muehlenhoff, thanks! (Closes: #653504)
   * debian/rules:
     - apply patch to enable usage of hardning CPPFLAGS and LDFLAGS by
       Moritz Muehlenhoff, thanks! (Closes: #653504)
+  * methods/https.cc:
+    - use curls list append instead of appending Range and If-Range by hand
+      which generates malformed requests, thanks Mel Collins for the hint!
+      (Closes: #646381)
 
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Thu, 19 Jan 2012 23:23:29 +0100
+ -- David Kalnischkies <kalnischkies@gmail.com>  Thu, 19 Jan 2012 23:43:03 +0100
 
 apt (0.8.16~exp11) experimental; urgency=low
 
 
 apt (0.8.16~exp11) experimental; urgency=low
 
index 317c8a5872b2bf970aabc63d2d0ba0e023da6224..6de18b8e09db126e2a41f7055c7d050388da2ce3 100644 (file)
@@ -100,7 +100,6 @@ void HttpsMethod::SetupProxy()                                      /*{{{*/
    depth. */
 bool HttpsMethod::Fetch(FetchItem *Itm)
 {
    depth. */
 bool HttpsMethod::Fetch(FetchItem *Itm)
 {
-   stringstream ss;
    struct stat SBuf;
    struct curl_slist *headers=NULL;  
    char curl_errorstr[CURL_ERROR_SIZE];
    struct stat SBuf;
    struct curl_slist *headers=NULL;  
    char curl_errorstr[CURL_ERROR_SIZE];
@@ -199,6 +198,7 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
       if (_config->FindB("Acquire::https::No-Store",
                _config->FindB("Acquire::http::No-Store",false)) == true)
         headers = curl_slist_append(headers,"Cache-Control: no-store");
       if (_config->FindB("Acquire::https::No-Store",
                _config->FindB("Acquire::http::No-Store",false)) == true)
         headers = curl_slist_append(headers,"Cache-Control: no-store");
+      stringstream ss;
       ioprintf(ss, "Cache-Control: max-age=%u", _config->FindI("Acquire::https::Max-Age",
                _config->FindI("Acquire::http::Max-Age",0)));
       headers = curl_slist_append(headers, ss.str().c_str());
       ioprintf(ss, "Cache-Control: max-age=%u", _config->FindI("Acquire::https::Max-Age",
                _config->FindI("Acquire::http::Max-Age",0)));
       headers = curl_slist_append(headers, ss.str().c_str());
@@ -246,11 +246,11 @@ bool HttpsMethod::Fetch(FetchItem *Itm)
    if (stat(Itm->DestFile.c_str(),&SBuf) >= 0 && SBuf.st_size > 0)
    {
       char Buf[1000];
    if (stat(Itm->DestFile.c_str(),&SBuf) >= 0 && SBuf.st_size > 0)
    {
       char Buf[1000];
-      sprintf(Buf,"Range: bytes=%li-\r\nIf-Range: %s\r\n",
-             (long)SBuf.st_size - 1,
-             TimeRFC1123(SBuf.st_mtime).c_str());
+      sprintf(Buf, "Range: bytes=%li-", (long) SBuf.st_size - 1);
       headers = curl_slist_append(headers, Buf);
       headers = curl_slist_append(headers, Buf);
-   } 
+      sprintf(Buf, "If-Range: %s", TimeRFC1123(SBuf.st_mtime).c_str());
+      headers = curl_slist_append(headers, Buf);
+   }
    else if(Itm->LastModified > 0)
    {
       curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);
    else if(Itm->LastModified > 0)
    {
       curl_easy_setopt(curl, CURLOPT_TIMECONDITION, CURL_TIMECOND_IFMODSINCE);