summaryrefslogtreecommitdiff
path: root/cmdline/apt-helper.cc
AgeCommit message (Collapse)AuthorFilesLines
2015-12-26apt-helper: Check that we can open stdoutJulian Andres Klode1-1/+2
Gbp-Dch: ignore
2015-12-26apt-helper: Add a cat-file command for concatening filesJulian Andres Klode1-0/+33
This can automatically handle compressed files and is useful for stuff like apt-file.
2015-12-06apt-helper.cc: include <stdlib.h> for atoiFredrik Fornwall1-0/+2
Include <stdlib.h> to ensure that atoi(3) is defined to improve general portability and fix a specific build failure on Android. Closes: 807031
2015-11-29drop some needlessly public declarations in libapt-privateDavid Kalnischkies1-2/+2
Git-Dch: Ignore
2015-11-29use function pointers instead of weak symbols for cmdline parsingDavid Kalnischkies1-1/+1
Passing function pointers around while working on this was very icky, but if weak symbols are too much to ask for… Reverts "do not use "-Wl,-Bsymbolic-functions" during the build to avoid breakage" aka a5fc9be36211a290a7abc3ca2a8bf98943bc1f57.
2015-11-21review of new/changed translatable program stringsJustin B Rye1-1/+1
Reference mail: https://lists.debian.org/debian-l10n-english/2015/11/msg00006.html
2015-11-04revamp all tools help messagesDavid Kalnischkies1-9/+6
The general idea is: A small paragraph on the tool itself as a description, a list of the most used (!= all) commands available in the tool, a remark where to find more information on the tool and its commands (aka: in the manpage) and finally a common block referring to even more manpages. In exchange options are completely omitted from the output as well as deprecated or obscure commands. (Better) Information about them is available in the manpages anyway and the few options which were listed before were also the least interesting ones (-o -c -q and co are hardly of interest for someone totally new looking to find info by asking for help and anyone with a bit of experience doesn't need this short list. Those would need a list of options applying to the command they call, but they are too numerous and command specific to list them sanely in this context.
2015-11-04deal with --version more centrallyDavid Kalnischkies1-15/+2
Git-Dch: Ignore
2015-11-04move apts cmdline helper type into -privateDavid Kalnischkies1-2/+2
Its not as simple as I initially thought to abstract this enough to make it globally usable, so lets not pollute global namespace with this for now. Git-Dch: Ignore
2015-11-04generate commands array after config is loadedDavid Kalnischkies1-15/+16
This ensures that location strings loaded from a location specified via configuration (Dir::Locale) effect the help messages for commands. Git-Dch: Ignore
2015-11-04new quiet level -qq for apt to hide progress outputDavid Kalnischkies1-3/+1
-q is for logging and -qqq (old -qq) basically kills every output expect errors, so there should be a way of declaring a middleground in which the output of e.g. 'update' isn't as verbose, but still shows some things. The test framework was actually making use of by accident as it ignored the quiet level in output setup for apt before. Eventually we should figure out some better quiet levels for all tools…
2015-11-04deduplicate main methodsDavid Kalnischkies1-18/+5
All mains pretty much do the same thing, so lets try a little harder to move the common parts into -private to have the real differences more visible. Git-Dch: Ignore
2015-11-04split up help messages for simpler reuseDavid Kalnischkies1-15/+21
That is one huge commit with busy work only: Help messages used to be one big translateable string, which is a pain for translators and hard to reuse for us. This change there 'explodes' this single string into new string for each documented string trying hard to split up the translated messages as well. This actually restores many translations as previously adding a single command made all of the bug message fuzzy. The splitup also highlighted that its easy to forget a line, duplicate one and similar stuff. Git-Dch: Ignore
2015-09-14various changes to increase test-coverageDavid Kalnischkies1-3/+3
And of course, testing obscure things ends up showing obscure 'bugs' or better shortcomings/inconsitencies, so lets fix them with the tests. Git-Dch: Ignore
2015-09-01use clock() as source for SRV randomnessDavid Kalnischkies1-14/+16
Initializing a random number generator with the time since epoch could be good enough, but reaches its limits in test code as the 100 iterations might very well happen in the same second and hence the seed number is always the same… clock() has a way lower resolution so it changes more often and not unimportant: If many users start the update at the same time it isn't to unlikely the SRV record will be ordered in the same second choosing the same for them all, but it seems less likely that the exact same clock() time has passed for them. And if I have to touch this, lets change a few other things as well to make me and/or compilers a bit happier (clang complained about the usage of a GNU extension in the testcase for example).
2015-08-31if file is inaccessible for _apt, disable privilege drop in acquireDavid Kalnischkies1-3/+0
We had a very similar method previously for our own private usage, but with some generalisation we can move this check into the acquire system proper so that all frontends profit from this compatibility change. As we are disabling a security feature here a warning is issued and frontends are advised to consider reworking their download logic if possible. Note that this is implemented as an all or nothing situation: We can't just (not) drop privileges for a subset of the files in a fetcher, so in case you have to download some files with and some without you need to use two fetchers.
2015-08-18cleanupMichael Vogt1-3/+6
2015-08-18Merge branch 'debian/experimental' into feature/srv-recordsMichael Vogt1-34/+46
Conflicts: cmdline/apt-helper.cc cmdline/makefile
2015-04-10add a simple unit test for acquire progressDavid Kalnischkies1-1/+1
This isn't testing much of the 'complex' parts, but its better than nothing for now. Git-Dch: Ignore
2015-03-16stop displaying time of build in online helpJérémy Bobbio1-2/+1
As part of the “reproducible builds” effort [1], we have noticed that apt could not be built reproducibly. One issue is that it uses the __DATE__ and __TIME__ macros of the C preprocessor to display the time of build in the online help. We believe this information not to be really useful to users as they can always look at the package data and metadata to figure it out. The attached patch simply removes this information. All non-documentation packages can then be built reproducibly with our current experimental framework. [David: changed the string slightly to be untranslateable as well] Closes: 774342
2014-12-09dispose http(s) 416 error page as non-contentDavid Kalnischkies1-10/+21
Real webservers (like apache) actually send an error page with a 416 response, but our client didn't expect it leaving the page on the socket to be parsed as response for the next request (http) or as file content (https), which isn't what we want at all… Symptom is a "Bad header line" as html usually doesn't parse that well to an http-header. This manifests itself e.g. if we have a complete file (or larger) in partial/ which isn't discarded by If-Range as the server doesn't support it (or it is just newer, think: mirror rotation). It is a sort-of regression of 78c72d0ce22e00b194251445aae306df357d5c1a, which removed the filesize - 1 trick, but this had its own problems… To properly test this our webserver gains the ability to reply with transfer-encoding: chunked as most real webservers will use it to send the dynamically generated error pages. Closes: 768797
2014-11-09streamline display of --help in all toolsDavid Kalnischkies1-19/+2
By convention, if I run a tool with --help or --version I expect it to exit successfully with the usage, while if I do call it wrong (like without any parameters) I expect the usage message shown with a non-zero exit.
2014-10-15don't drop privileges if _apt has not enough rightsDavid Kalnischkies1-1/+4
Privilege dropping breaks download/source/changelog commands as they require the _apt user to have write permissions in the current directory, which is e.g. the case in /tmp, but not in /root, so we disable the privilege dropping if we deal with such a directory based on idea and code by Michael Vogt. The alternative would be to download always to a temp directory and move it then done, but this breaks partial file support. To resolve this, we could move to one of our partial/ directories, but this would require a lock which would block root from using two of these commands in parallel. As both seems unacceptable we instead let the user choose what to do: Either a directory is setupped for _apt, downloading as root is accepted or – which is potentially even better – an unprivileged user is used for the commands.
2014-10-07ensure partial dirs are 0700 and owned by _apt:rootDavid Kalnischkies1-4/+2
Reworks the API involved in creating and setting up the fetcher to be a bit more pleasent to look at and work with as e.g. an empty string for no lock isn't very nice. With the lock we can also stop creating all our partial directories "just in case". This way we can also be a bit more aggressive with the partial directory itself as with a lock, we know we will gone need it.
2014-09-27allow fetcher setup without directory creationDavid Kalnischkies1-1/+2
apt-get download and changelog as well as apt-helper reuse the acquire system for their own proposes without requiring the directories the fetcher wants to create, which is a problem if you run them as non-root and the directories do not exist as it greets you with: E: Archives directory /var/cache/apt/archives/partial is missing. - Acquire (13: Permission denied) Closes: 762898
2014-09-02Make Proxy-Auto-Detect check for each hostMichael Vogt1-0/+16
When doing Acquire::http{,s}::Proxy-Auto-Detect, run the auto-detect command for each host instead of only once. This should make using "proxy" from libproxy-tools feasible which can then be used for PAC style or other proxy configurations. Closes: #759264
2014-06-06cmdline/apt-helper.cc: use less generic description/short-descriptionMichael Vogt1-1/+2
2014-05-20add GetSrvRecord helper to apt-pkg/contrib/srvrec.{cc,h}Michael Vogt1-0/+25
2014-03-14fix test/integration/test-apt-helperMichael Vogt1-30/+16
2014-03-13improve debug output in case downloadfile failsDavid Kalnischkies1-8/+7
Git-Dch: Ignore
2014-03-13cleanup headers and especially #includes everywhereDavid Kalnischkies1-8/+4
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)
2014-03-13warning: unused parameter ‘foo’ [-Wunused-parameter]David Kalnischkies1-1/+1
Reported-By: gcc -Wunused-parameter Git-Dch: Ignore
2014-03-13warning: no previous declaration for foobar() [-Wmissing-declarations]David Kalnischkies1-2/+2
Git-Dch: Ignore Reported-By: gcc -Wmissing-declarations
2014-03-12Merge remote-tracking branch 'upstream/debian/sid' into ↵Michael Vogt1-1/+2
feature/apt-download-file Conflicts: cmdline/apt-helper.cc test/integration/framework test/integration/test-apt-https-no-redirect
2014-03-12add hashsum support in apt-file download and add more testsMichael Vogt1-0/+11
2014-02-27initial version of apt-helperMichael Vogt1-0/+127
2014-02-27initial version of apt-helperMichael Vogt1-0/+127