<feed xmlns='http://www.w3.org/2005/Atom'>
<title>apt/test/interactive-helper/aptwebserver.cc, branch 2.2.1</title>
<subtitle>Debians commandline package manager</subtitle>
<id>https://git.kalnischkies.de/apt/atom?h=2.2.1</id>
<link rel='self' href='https://git.kalnischkies.de/apt/atom?h=2.2.1'/>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/'/>
<updated>2020-12-18T19:45:35Z</updated>
<entry>
<title>Don't re-encode encoded URIs in pkgAcqFile</title>
<updated>2020-12-18T19:45:35Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-10T18:19:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=a5859bafdaa6bcf12934d0fb1715a5940965e13a'/>
<id>urn:sha1:a5859bafdaa6bcf12934d0fb1715a5940965e13a</id>
<content type='text'>
This commit potentially breaks code feeding apt an encoded URI using a
method which does not get URIs send encoded. The webserverconfig
requests in our tests are an example for this – but they only worked
before if the server was expecting a double encoding as that was what
was happening to an encoded URI: so unlikely to work as expected in
practice.

Now with the new methods we can drop this double encoding and rely on
the URI being passed properly (and without modification) between the
layers so that passing in encoded URIs should now work correctly.
</content>
</entry>
<entry>
<title>Proper URI encoding for config requests to our test webserver</title>
<updated>2020-12-18T18:02:05Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2020-07-08T15:51:40Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=97be873d782c5e9aaa8b4f4f4e6e18805d0fa51c'/>
<id>urn:sha1:97be873d782c5e9aaa8b4f4f4e6e18805d0fa51c</id>
<content type='text'>
Our http method encodes the URI again which results in the double
encoding we have unwrap in the webserver (we did already, but we skip
the filename handling now which does the first decode).
</content>
</entry>
<entry>
<title>aptwebserver: Rename slaves to workers</title>
<updated>2020-08-04T10:12:10Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2020-07-14T14:06:44Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=264137c679fb0d3c1f476dcb4ae207abc601b0b2'/>
<id>urn:sha1:264137c679fb0d3c1f476dcb4ae207abc601b0b2</id>
<content type='text'>
Apologies.
</content>
</entry>
<entry>
<title>RFC1123StrToTime: Accept const std::string&amp; as first argument</title>
<updated>2019-06-17T16:28:52Z</updated>
<author>
<name>Julian Andres Klode</name>
<email>julian.klode@canonical.com</email>
</author>
<published>2019-06-17T16:28:52Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=97553e635d2265ec4aad96b00b1fd72d98437f15'/>
<id>urn:sha1:97553e635d2265ec4aad96b00b1fd72d98437f15</id>
<content type='text'>
We are converting to std::string anyway by passing to
istringstream, and this removes the need for .c_str()
in callers.
</content>
</entry>
<entry>
<title>Fix various typos in the documentation</title>
<updated>2019-02-10T12:16:27Z</updated>
<author>
<name>Jakub Wilk</name>
<email>jwilk@jwilk.net</email>
</author>
<published>2019-02-10T11:51:30Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=9a702b150c8ddeafa8c10c9f120dafdeb08ef93b'/>
<id>urn:sha1:9a702b150c8ddeafa8c10c9f120dafdeb08ef93b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Allow to override the directory of a request in aptwebserver</title>
<updated>2018-11-25T16:22:53Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-11-25T15:44:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=b38060dba0273f1981caba4502eb1ffc9f8fac0e'/>
<id>urn:sha1:b38060dba0273f1981caba4502eb1ffc9f8fac0e</id>
<content type='text'>
The filename can be overridden, but sometimes it is useful to do it only
for the directory-part of the filename – e.g. if you want to let a flat
archive directory (like /var/cache/apt/archives) serve a pool-based
request like /pool/a/apt_version.deb.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>aptwebserver: Prevent XSS in debug and file listing</title>
<updated>2018-11-25T16:22:35Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-10-10T10:38:19Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=85399d2b28ba0bbd3b66e1ab50fde43a9f301f68'/>
<id>urn:sha1:85399d2b28ba0bbd3b66e1ab50fde43a9f301f68</id>
<content type='text'>
We sometimes autogenerate HTML pages e.g. for listing files in a
directory or for various error codes. If this would be a serious
webserver this would be a security problem (althrough a bit hard to
exploit), but as it is not shipped and intended to be used by our
testcases only the world hasn't ended &amp;amp; we can ignore it for
changelog and fix it for brownie points.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>aptwebserver: Guess Content-Type from filename extension</title>
<updated>2018-11-25T16:22:25Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-09-18T14:09:03Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=62fd535c5f77cea773652fa2f371025c4fd1f32c'/>
<id>urn:sha1:62fd535c5f77cea773652fa2f371025c4fd1f32c</id>
<content type='text'>
Browsing pages served via aptwebserver is working better if we tell the
browser the Content-Type which for this simple usecase we can just do by
guessing based on the file extension – and because hardcoding a list
would be boring we just reuse the mime.types data from mime-support if
available and allow it to be overridden by files and config.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>aptwebserver: Prefetch compressors to avoid thread crashes</title>
<updated>2018-08-19T15:25:26Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2018-07-09T14:12:31Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=d298701bd765357905705aa133c3fdb2d1a4835c'/>
<id>urn:sha1:d298701bd765357905705aa133c3fdb2d1a4835c</id>
<content type='text'>
If multiple threads act on requests (like if connection comes from a
webbrowser) a thread might request the supported compressors while
another thread is still working on creating the list to be stored in the
static cache variable.

As the price to pay for atomic and co seems to high for the fringe
usecase of manual usage of aptwebserver the patch just makes a call to
generate the list while still single threaded.

Gbp-Dch: Ignore
</content>
</entry>
<entry>
<title>implement Acquire::Retries support for all items</title>
<updated>2017-12-13T22:56:29Z</updated>
<author>
<name>David Kalnischkies</name>
<email>david@kalnischkies.de</email>
</author>
<published>2017-10-25T23:09:48Z</published>
<link rel='alternate' type='text/html' href='https://git.kalnischkies.de/apt/commit/?id=dff555d40bb9776b5b809e06527e46b15e78736c'/>
<id>urn:sha1:dff555d40bb9776b5b809e06527e46b15e78736c</id>
<content type='text'>
Moving the Retry-implementation from individual items to the worker
implementation not only gives every file retry capability instead of
just a selected few but also avoids needing to implement it in each item
(incorrectly).
</content>
</entry>
</feed>
