<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/methods, branch 1.1.exp1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=1.1.exp1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=1.1.exp1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2014-05-09T11:06:27Z</updated>
<entry>
<title>reenable pipelining via hashsum reordering support</title>
<updated>2014-05-09T11:06:27Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-04-28T08:02:27Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=895417ef99bb1371d8970da1afe87c6d64382f67'/>
<id>urn:sha1:895417ef99bb1371d8970da1afe87c6d64382f67</id>
<content type='text'>
Now that methods have the expected hashes available they can check if
the response from the server is what they expected. Pipelining is one of
those areas in which servers can mess up by not supporting it properly,
which forced us to disable it for the time being. Now, we check if
we got a response out of order, which we can not only use to disable
pipelining automatically for the next requests, but we can fix it up
just like the server responded in proper order for the current requests.

To ensure that this little trick works pipelining is only attempt if we
have hashsums for all the files in the chain which in theory reduces the
use of pipelining usage even on the many servers which work properly,
but in practice only the InRelease file (or similar such) will be
requested without a hashsum – and as it is the only file requested in
that stage it can't be pipelined even if we wanted to.

Some minor annoyances remain: The display of the progress we have
doesn't reflect this change, so it looks like the same package gets
downloaded multiple times while others aren't at all. Further more,
partial files are not supported in this recovery as the received data
was appended to the wrong file, so the hashsum doesn't match.

Both seem to be minor enough to reenable pipelining by default until
further notice through to test if it really solves the problem.
This therefore reverts commit 8221431757c775ee875a061b184b5f6f2330f928.
</content>
</entry>
<entry>
<title>enforce LFS for partial files in https range requests</title>
<updated>2014-04-26T07:51:05Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-04-24T08:49:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=062074cb519aa05110d24936d95747c59cc0ffc1'/>
<id>urn:sha1:062074cb519aa05110d24936d95747c59cc0ffc1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>build http request in a stringstream</title>
<updated>2014-04-26T07:51:05Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-04-24T08:20:45Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b123b0ba77936a82d7964bebf01693acf94cae1f'/>
<id>urn:sha1:b123b0ba77936a82d7964bebf01693acf94cae1f</id>
<content type='text'>
beside reducing code a bit, it avoids oddball problems while building
the string and doesn't trigger static analyse warnings.
</content>
</entry>
<entry>
<title>add a config option to switch uncompress methods to compress</title>
<updated>2014-03-13T12:58:47Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-12T13:24:41Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=0ec6b98b24939100a6d4c333abe5bc62a4455f9f'/>
<id>urn:sha1:0ec6b98b24939100a6d4c333abe5bc62a4455f9f</id>
<content type='text'>
Not very useful in the normal operation of work, but handy for tests.

Git-Dch: Ignore
</content>
</entry>
<entry>
<title>follow method attribute suggestions by gcc</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-05T23:33:10Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a02db58fd50ef7fc2f0284852c6b3f98e458a232'/>
<id>urn:sha1:a02db58fd50ef7fc2f0284852c6b3f98e458a232</id>
<content type='text'>
Git-Dch: Ignore
Reported-By: gcc -Wsuggest-attribute={pure,const,noreturn}
</content>
</entry>
<entry>
<title>cleanup headers and especially #includes everywhere</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-05T21:11:25Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=453b82a388013e522b3a1b9fcd6ed0810dab1f4f'/>
<id>urn:sha1:453b82a388013e522b3a1b9fcd6ed0810dab1f4f</id>
<content type='text'>
Beside being a bit cleaner it hopefully also resolves oddball problems
I have with high levels of parallel jobs.

Git-Dch: Ignore
Reported-By: iwyu (include-what-you-use)
</content>
</entry>
<entry>
<title>warning: unused parameter ‘foo’ [-Wunused-parameter]</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-03-01T14:11:42Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=655122418d714f342b5d9789f45f8035f3fe8b9a'/>
<id>urn:sha1:655122418d714f342b5d9789f45f8035f3fe8b9a</id>
<content type='text'>
Reported-By: gcc -Wunused-parameter
Git-Dch: Ignore
</content>
</entry>
<entry>
<title>StartPos is always positive for http/https</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-02-27T00:26:29Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=3de8f956d5fcf023ab65f88579cd77121694d872'/>
<id>urn:sha1:3de8f956d5fcf023ab65f88579cd77121694d872</id>
<content type='text'>
server.cc: In member function ‘bool ServerState::HeaderLine(std::string)’:
server.cc:198:72: warning: format ‘%llu’ expects argument of type ‘long long unsigned int*’, but argument 3 has type ‘long long int*’ [-Wformat=]
       else if (sscanf(Val.c_str(),"bytes %llu-%*u/%llu",&amp;StartPos,&amp;Size) != 2)

Git-Dch: Ignore
Reported-By: gcc -Wpedantic
</content>
</entry>
<entry>
<title>warning: extra ‘;’ [-Wpedantic]</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-02-27T00:20:53Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d3e8fbb395f57954acd7a2095f02ce530a05ec6a'/>
<id>urn:sha1:d3e8fbb395f57954acd7a2095f02ce530a05ec6a</id>
<content type='text'>
Git-Dch: Ignore
Reported-By: gcc -Wpedantic
</content>
</entry>
<entry>
<title>fix -Wformat= warnings about size_t != %lu on e.g. armel</title>
<updated>2014-03-13T12:58:45Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2014-02-25T21:30:39Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=6298ff8b6492e2071a8f2ca7669a3aeef0fb29c7'/>
<id>urn:sha1:6298ff8b6492e2071a8f2ca7669a3aeef0fb29c7</id>
<content type='text'>
Git-Dch: Ignore
Reported-By: gcc
</content>
</entry>
</feed>
