summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-01Step over empty sections in TagFiles with commentsDavid Kalnischkies
Implementing a parser with recursion isn't the best idea, but in practice we should get away with it for the time being to avoid needless codechurn. Closes: #920317 #921037
2019-01-31Merge branch 'pu/verify-method-messages-2' into 'master'Julian Andres Klode
Verify data being sent by methods in SendMessage() See merge request apt-team/apt!48
2019-01-31Disable deprecated methods (ftp, rsh, ssh) by defaultJulian Andres Klode
These methods are not supposed to be used anymore, they are not actively maintained and may hence contain odd bugs. Fixes !49
2019-01-30Verify data being sent by methods in SendMessage()Julian Andres Klode
As a follow-up for CVE-2019-3462, add checks similar to those for redirect to the central SendMessage() function. The checks are a bit more relaxed for values - they may include newlines and unicode characters (newlines get rewritten, so are safe). For keys and the message header, the checks are far more strict: They may only contain alphanumerical characters, the hyphen-minus, and the horizontal space. In case the method tries to send anything else, we construct a legal 400 URI Failed response, and send that. We specifically do not include the item URI, in case it has been compromised (that would cause infinite recursion).
2019-01-29Merge branch 'trivial-epipe-fix' into 'master'Julian Andres Klode
private-json-hooks.cc: deal with EPIPE See merge request apt-team/apt!47
2019-01-29private-json-hooks.cc: deal with EPIPEMichael Vogt
While running our CI we noticed that sometimes we see an error from the new json hooks code. The error message is: ``` E: Could not read response to hello message from hook [ ! -f /usr/bin/snap ] || /usr/bin/snap advise-snap --from-apt 2>/dev/null || true: Broken pipe ``` when purging the snapd package which provides the hook. This indicates that we should probably also consider EPIPE not an error (just like we do for ECONNRESET). This PR does exactly this.
2019-01-27Merge branch 'apt-reinstall' into 'master'Julian Andres Klode
Add a "reinstall" command as an alias for "install --reinstall". See merge request apt-team/apt!46
2019-01-27Add a "reinstall" command as an alias for "install --reinstall".Josh Triplett
aptitude has a similar "reinstall" command for precedent.
2019-01-23Release 1.8.0~beta11.8.0_beta1Julian Andres Klode
2019-01-22Merge tag '1.8.0_alpha3.1'Julian Andres Klode
apt Debian release 1.8.0~alpha3.1
2019-01-22Release 1.8.0~alpha3.11.8.0_alpha3.1Julian Andres Klode
2019-01-22SECURITY UPDATE: content injection in http method (CVE-2019-3462)Julian Andres Klode
This fixes a security issue that can be exploited to inject arbritrary debs or other files into a signed repository as followed: (1) Server sends a redirect to somewhere%0a<headers for the apt method> (where %0a is \n encoded) (2) apt method decodes the redirect (because the method encodes the URLs before sending them out), writting something like somewhere\n <headers> into its output (3) apt then uses the headers injected for validation purposes. Regression-Of: c34ea12ad509cb34c954ed574a301c3cbede55ec LP: #1812353 (cherry picked from commit 5eb01ec13f3ede4bae5e60eb16bd8cffb7c03e1b)
2019-01-22Merge branch 'pu/release-preparations'Julian Andres Klode
2019-01-22debian/control: Drop libcurl4-gnutls-dev build dependencyJulian Andres Klode
Not needed since quite some time.
2019-01-22Merge branch 'pu/gpgvsignedby' into 'master'Julian Andres Klode
Report keys used to sign file from gpgv method to acquire system See merge request apt-team/apt!44
2019-01-22SECURITY UPDATE: content injection in http method (CVE-2019-3462)Julian Andres Klode
This fixes a security issue that can be exploited to inject arbritrary debs or other files into a signed repository as followed: (1) Server sends a redirect to somewhere%0a<headers for the apt method> (where %0a is \n encoded) (2) apt method decodes the redirect (because the method encodes the URLs before sending them out), writting something like somewhere\n <headers> into its output (3) apt then uses the headers injected for validation purposes. Regression-Of: c34ea12ad509cb34c954ed574a301c3cbede55ec LP: #1812353
2019-01-22doc/apt-verbatim.ent: Debian buster is stableJulian Andres Klode
Move everything up one "old", and change testing to be bullseye.
2019-01-22CI: Use debian:buster as test base imageJulian Andres Klode
This prepares us for the upcoming buster release, as buster is the main release series for this series (the other being Ubuntu disco).
2019-01-22doc/apt-verbatim.ent: Point ubuntu-codename to discoJulian Andres Klode
LP: #1812696
2019-01-22Communicate back which key(s) were used for signingDavid Kalnischkies
Telling the acquire system which keys caused the gpgv method to succeed allows us for now just a casual check if the gpgv method really executed catching bugs like CVE-2018-0501, but we will make use of the information for better features in the following commits.
2019-01-22Refactor internal Signers information storage in gpgvDavid Kalnischkies
Having a method take a bunch of string vectors is bad style, so we change this to a wrapping struct and adapt the rest of the code brushing it up slightly in the process, which results even in a slightly "better" debug output, no practical change otherwise. Gbp-Dch: Ignore
2019-01-22bash completion: add keysVasya Novikov
2019-01-22Merge branch 'patch-1' of github.com:techtonik/aptJulian Andres Klode
2019-01-22Merge branch 'patch-2' of github.com:techtonik/aptJulian Andres Klode
2019-01-22Remove `register` keywordKhem Raj
In C++17 `register` keyword was removed. Current gcc 8.1.0 produces following warning if `-std=c++17` flag is used: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister] GCC almost completely ignores `register` keyword, with rare exception of `-O0` when additional copy from/to stack may be generated. For simplicity of the codebase it is better to just remove this problematic keyword where it is not strictly required. See: http://en.cppreference.com/w/cpp/language/storage_duration Signed-off-by: Khem Raj <raj.khem@gmail.com>
2019-01-22Merge branch 'pu/minimize-manual' into 'master'Julian Andres Klode
apt-mark minimize-manual See merge request apt-team/apt!39
2019-01-22Merge branch 'master' into 'master'Julian Andres Klode
zh_CN.po: Update Simplified Chinese programs translation. See merge request apt-team/apt!43
2019-01-12zh_CN.po: Update Simplified Chinese programs translation.Mo Zhou
2019-01-10apt-mark: Introduce minimize-manualJulian Andres Klode
This visits dependencies of all manually installed metapackages, as determined by APT::Never-MarkAuto-Sections, and marks them as automatically installed. It can be used to clean up autoflags after a d-i install, for example.
2019-01-10Generalize %s does not take any argumentsJulian Andres Klode
This used to be "apt-cache stats does not take any arguments", but replace "apt-cache stats" with "%s" so we can reuse it for other commands. Gbp-Dch: ignore
2019-01-07apt-private: Export some functions for apt-markJulian Andres Klode
We need to show a yes/no prompt in minimize-manual, and pretty package names, so export them here. Gbp-Dch: ignore
2019-01-05hash32: Tighten to multiversion to x86-64 ELF and use uint32_tJulian Andres Klode
2019-01-04Merge branch 'pu/speedups' into 'master'Julian Andres Klode
Pu/speedups See merge request apt-team/apt!42
2018-12-26debListParser: Avoid native arch lookup in ParseDependsJulian Andres Klode
We called low-level ParseDepends without an architecture each time, which means each call looked up the native architecture. Store the native architecture in the class and use that when calling low-level ParseDepends from the high-level ParseDepends(). This improves performance for a cache build from 2.7 to 2.5 seconds for me. Also avoid a call when stripping multiarch, as the native architecture is passed in.
2018-12-26configuration: Compare size first during lookupJulian Andres Klode
2018-12-26cache hash: Use sse4.2 CRC32c on x86-64 where availableJulian Andres Klode
This is more than twice as fast as adler32, but could be made another 50% faster by calculating crcs for 8 byte blocks in "parallel" (without data dependency) and then combining them. But that's complicated code. Reference measurements for hashing the cache 100 times: adler32=2.46s xxhash64=0.64 xxhash32=1.12 crc32c(this)=1.10 crc32c(opt)=0.44s
2018-12-22Dutch manpages translation updateFrans Spiesschaert
Closes: #916358
2018-12-22French manpages translation updateJean-Pierre Giraud
Closes: #915952
2018-12-18Release 1.8.0~alpha31.8.0_alpha3Julian Andres Klode
2018-12-10Merge branch 'pu/dpkg-path' into 'master'Julian Andres Klode
Set PATH=/usr/sbin:/usr/bin:/sbin:/bin when running dpkg See merge request apt-team/apt!38
2018-12-10Set PATH=/usr/sbin:/usr/bin:/sbin:/bin when running dpkgJulian Andres Klode
This avoids a lot of problems from local installations of scripting languages and other stuff in /usr/local for which maintainer scripts are not prepared. [v3: Inherit PATH during tests, check overrides work] [v2: Add testing]
2018-12-04Merge branch 'pu/netrcparts' into 'master'Julian Andres Klode
Add support for /etc/apt/auth.conf.d/*.conf (netrcparts) See merge request apt-team/apt!37
2018-12-04Add support for /etc/apt/auth.conf.d/*.conf (netrcparts)Julian Andres Klode
This allows us to install matching auth files for sources.list.d files, for example; very useful. This converts aptmethod's authfd from one FileFd to a vector of pointers to FileFd, as FileFd cannot be copied, and move operators are hard.
2018-12-04Override FileFd copy constructor to prevent copyingJulian Andres Klode
FileFd could be copied using the default copy constructor, which does not work, and then causes code to crash.
2018-12-04Merge branch 'bugfix/spaceinconfig' into 'master'Julian Andres Klode
Use quoted tagnames in config dumps See merge request apt-team/apt!32
2018-12-04Merge branch 'remove_old_derivatives' into 'master'Julian Andres Klode
Remove old derivatives See merge request apt-team/apt!31
2018-12-04Merge branch 'l10n-master' into 'master'Julian Andres Klode
[l10n] Update Italian translation See merge request apt-team/apt!35
2018-12-04Merge branch 'u-u-env-utf8' into 'master'Julian Andres Klode
Set LC_ALL=C.UTF-8 for unattended-upgrades environment when parsing its --help See merge request apt-team/apt!34
2018-12-04[l10n] Update Italian translationMilo Casagrande
Signed-off-by: Milo Casagrande <milo@milo.name>
2018-12-03Provide a "autopurge" shortcutJulian Andres Klode
This adds a new "autopurge" command that will is a shortcut for "autoremove --purge" Thanks: Michael Vogt for the initial work