Age | Commit message (Collapse) | Author |
|
We don't use them, APT_CONST is APT_PURE now, and MAX/MIN/etc
are available as proper templates in the C++ standard library.
|
|
|
|
Pu/gtest fixes
See merge request apt-team/apt!90
|
|
Fix typo in README.md
See merge request apt-team/apt!87
|
|
|
|
Gbp-Dch: ignore
|
|
We missed that because the CI never ran GTests, because it did
not find the GTest library and failed silently (until the previous
commit).
|
|
Require passing -DWITH_TESTS=OFF to CMakeList to disable
unit tests, rather than ignoring them if GTest cannot be
found; which just happened on CI...
|
|
Replace the macro with an anonymous struct that provides an
inline operator->() returning the _error pointer.
This change is ABI compatible, and the inline macro is not
exported. We should consider if we want to avoid the function
call and directly export the thread_local variable instead,
when we do break ABI.
Closes: #948338
|
|
Introduced to help with an ABI break this is now long enough in the
past that we can go back to not explicitly depend on g++ anymore as it
is part of build-essential.
References: f63b3e01e436a8c0b4711b69a1a8794161e4c5a7
Closes: #948201
|
|
apt satisfy "" caused a segmentation fault because we were iterating
over the characters, checking if the next character was the end of
the string; when it could also be the current character.
Instead, check whether the next character is before the end of
the string, rather than identical to the end.
|
|
|
|
|
|
|
|
Fix a mistake in man french translation
See merge request apt-team/apt!83
|
|
Pu/patterns phase2
See merge request apt-team/apt!85
|
|
netrc: Restrict auth.conf data to https by default
See merge request apt-team/apt!84
|
|
This avoids downgrade attacks where an attacker could inject
Location: http://private.example/
and then (having access to raw data to private.example, for example,
by opening a port there, or sniffing network traffic) read the credentials
for the private repository.
Closes: #945911
|
|
|
|
While passing the combi Release and Release.gpg to the gpgv method for
verification the filename of Release is placed where usually Release.gpg
is assumed in the rest of the code. The "usual" cases like passing
verification and failing verification ending in an error are taking care
of this, but the code path dealing with a failed verification, but
ignoring said failure (e.g. due to trusted=yes) was not which results in
the wrong file being removed later on (in case the index happens to be
unmodified since the last update call) leading us into the abyss of
strange failures (fixed in the previous commit) were nothing should have
changed.
This is not a security issue in this form as the repository needs to fail
verification & the user forcing apt to ignore the failure and carry on
anyhow. It does show however how complicated the code and its various
interconnected paths can become.
Reported-By: Val "pinkieval" Lorentz on IRC
|
|
If we have no old Release file, but old indices we can't compare
hashsums with the new Release file and hence must request the indices
again and have to react to IMS hits if they didn't change.
We used to symlink the old index file to the partial directory, but that
usually meant that we linked an uncompressed file to a compressed file,
which not all uncompressors can deal with transparently resulting in
strange failures.
We could do without the symlink, but that would require changes in the
codepaths dealing with failure as they would rename the file to FAILED.
|
|
Skipped tests do not age very well as changes to the infrastructure go
by unnoticied. In this case we are fetching Translation files now
differently meaning only if mentioned in Release file, which broke this
test. As it makes use of LC_ALL and utf8 locales it can't really be
reenabled, but it might be able to serve as an example for others and
hence at least deserves being fixed.
Gbp-Dch: Ignore
|
|
Unused variable, std::algorithms instead of raw for-loops.
There should be no observeable difference in behaviour.
Reported-By: cppcheck
Gbp-Dch: Ignore
|
|
|
|
|
|
|
|
This is pure syntactic sugar - ?narrow does not exist in the
abstract syntax.
|
|
|
|
Fix progress bar width for multibyte charsets
See merge request apt-team/apt!81
|
|
When using locale in which symbols occupy more than 1 byte (for example,
ru_RU.UTF-8), the progress bar width was calculated incorrectly because
std::string::size() returns the number of bytes rather than the number of
actual characters. Use the newly introduced APT::String::DisplayLength()
to calculate the width instead.
|
|
Returns string length, but unlike std::string::size() it honors
multibyte characters. This allows to properly calculate visible
sizes of console messages.
|
|
|
|
|
|
|
|
|
|
|
|
README.md: fix dead anonscm link
See merge request apt-team/apt!78
|
|
Search in all available description translations
See merge request apt-team/apt!79
|
|
When multiple translations of package descriptions are available,
perform search in all of them. It allows using search patterns in
any of the configured languages.
Previously, only the first available translation was searched. As
the result, patterns in e.g. English never matched packages which
had their descriptions translated into local language.
Closes: #490000
|
|
https://anonscm.debian.org/git/apt/apt.git/tree/doc/style.txt is not available
anymore.
|
|
We recently made info an alias for show, but we did not change the
command-line parser to work around it.
LP: #1843812
|
|
|
|
GTest 1.9 uses a variable defined in the parent directory, thus
failing to configure. Configure the project in the parent directory
instead.
|
|
Using --force-depends causes dpkg to continue removing packages
a package depends upon even if that package fails to be removed,
because dpkg turns off all sanity checks. So we gotta tell dpkg
to stop immediately if there's an error removing stuff.
Closes: #935910
LP: #1844634
|
|
This should probably make those functions thread-safe, which
might be useful for some external users.
|
|
Commit 1d9e29c9e2a5591b42a99a721b901fc003ed9149 added support
for suffixes to to intervals, but did not adjust the code to
actually support them by replacing -eq with =.
LP: #1840995
|
|
|
|
In C++, this warns about not returning in a function not returning
void, which is undefined behavior and causes weird crashes. Make it
an error.
|
|
|
|
|