| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
We updated po/ with libunistring 1.3 as before, but had no
doc changes since the manual update with libunstring 1.2,
so no churn there. Hooray.
|
| |
|
|
| |
With libunistring5 to avoid https://bugs.debian.org/1091871
|
| |
|
|
|
|
|
|
|
|
|
| |
s#ftp://ftp.debian.org#ftp://example.org#g
s#at ftp.debian.org#at ftp.example.org#
s#debian-non-US/ stable/(non-US/)?#debian/ stable/#g
s#debian-non-US/ unstable/(non-US/)?#debian/ unstable/#g
s#stable/ Packages#stable/main Packages#g
s#http://ftp.de.debian.org/debian,#http://deb.debian.org/debian,#g
s#testing non-US#testing#
s#ftp.debian.org#ftp.example.org#
|
| |\
| |
| |
| |
| | |
test: Check "${METHODSDIR}/sqv" not "/usr/bin/sqv"
See merge request apt-team/apt!424
|
| |/
|
|
|
| |
This is the correct check to find out whether we have built
with sqv support.
|
| |\
| |
| |
| |
| | |
http: seccomp: Allow reading directories
See merge request apt-team/apt!421
|
| | |
| |
| |
| |
| |
| | |
This is needed by OpenSSL.
Closes: #1091351
|
| |\ \
| | |
| | |
| | |
| | | |
sqv: Avoid propagating errors between files
See merge request apt-team/apt!422
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We inadvertently did not discard pending errors when the
fallback to Dir::Etc::trusted succeeded, do so.
Also add some quick safety checks to make sure we enter the
verification in a good state, and that if somehow errors are
pending after a verification we return false.
Closes: #1091679
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Cleanup non-US and ftp references from code and documentation
See merge request apt-team/apt!231
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
While the ftp.debian.org URLs are still functional in Debian, they
can confuse people as the protocol is mismatched. Using the
deb.debian.org frontend should also generally give generally good
performance regardless of the client location.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Although Debian does not support FTP, this might still be used by other
organizations, or local users, so replaced these instances with an
example.org URL.
Ref: https://lists.debian.org/debian-announce/2017/msg00001.html
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This has long been obsoleted, and there have been previous patches
cleaning them up, but some left overs remained.
|
| |\ \ \ \
| | |/ /
| |/| |
| | | |
| | | | |
Extend v3 subkey expiry to 2026, owing to OBS use
See merge request apt-team/apt!420
|
| |/ / /
| | |
| | |
| | |
| | | |
SUSE's Open Build Service is signing multiple repositories using
v3 signing keys.
|
| |\ \ \
| |/ /
|/| /
| |/ |
apt Debian release 2.9.20
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
This will restore most of the symbols from before and ensure
reverse dependencies not depending on new symbols can migrate.
It also ensures we see any missing symbols.
|
| |\ \
| |/
|/|
| |
| | |
sources.list(5): Suggest VENDOR.sources for new systems
See merge request apt-team/apt!418
|
| |/
|
|
|
|
|
|
|
| |
This matches the filename used by default in Ubuntu since Ubuntu 24.04,
and in Debian cloud images and the Debian images provided by docker.io
since Debian 12 (although not currently used in new installations via
debian-installer).
Signed-off-by: Simon McVittie <smcv@debian.org>
|
| |
|
|
|
|
|
|
|
|
| |
Somehow InsertErrno was wrongly formatted as
symbol 0.8.11.4 1
and that caused dedup to miss-handle it. The 2.9.19 merge
fixes that but kept "1" as the version, change it to say
0.8.11.4 instead.
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
Hand edit 2.7.14build2 to 2.7.14
The funny 999:0misbuilt version number gets auto-reduced to
the current version when building which is sad, but it works.
|
| | |
| |
| |
| | |
This allows merging symbol diffs from the various build logs
|
| |\ \
| |/
|/|
| |
| | |
methods: Add new sqv method
See merge request apt-team/apt!409
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our goal is for each platform to have one blessed OpenPGP verification
system: Platforms that support sqv get sqv, platforms that don't get
gpgv. To do so we hardcode the architecture list at build time.
At build time we check if /usr/bin/sqv exists, which is the condition
that apt uses to see if it should build with sqv support.
We use a slight hack here to build with sqv on the official Debian
buildds but use gpgv on Ubuntu by abusing the fact that Ubuntu
resolves alternative build dependencies, and gpgv is installed
in the buildd image.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Many repositories still have SHA-1 self-signatures, and they are not
security relevant for APT repositories in the first place since we
do not use a web of trust model, but rather a set of trusted keyrings,
and the subkey can essentially be always considered trusted even if
it cannot be verified.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new sqv method uses sequoia's sqv tool to verify files. The
tool's interface is quite simple: It returns 0 on success, and
prints one line per good signer with the fingerprint.
sqv has a configurable crypto policy. We have defined apt-specific
override mechanisms for sequoia's standard policy, allowing both
users, distributions, and apt package to provide overrides for
Sequoia's default policy in meaningful ways.
The sqv method will be built and be the standard method for
verifying OpenPGP signatures provided that `sqv` is in the
PATH during building. It is not built if there was no sqv
at build time, so you need a rebuild to enable sqv later
on.
On the flip side, the gpgv method is always built, but it
does need to be always built: If APT::Key::GPGVCommand is
set, we need to fallback to it - this is important to
support existing users of that interface such as
mmdebstrap. Also we want to fall back to it when /usr/bin/sqv
disappears - for example in our CI :D
A couple of concessions have been made for test suite purposes:
- Failure to split a clearsigned file only shows the summary,
as the gpgv method also only showed it, and no details why
it failed.
- We write "Got GOODSIG <fingerprint>" in debug mode to mimic
the gpgv code to keep the test suite happy.
- In various places in the test suite we assert minimal output
from sqv, but sqv's human output is not intended to be stable.
This will incur additional work when it breaks. However we do
not _parse_ the output, so actual operation of apt is unaffected.
A couple of things are suboptimal here:
- We are still doing clearsigned splitting ourselves. sqv only
has support for detached signatures right now, whereas sqopv
has support for clearsigned files as well (but sqopv does not
provide any reasons for why signature verification fails or
means to set a policy).
- Deprecation of algorithms happens on a timebomb basis in
sequoia. We have no means to give users warnings ahead of
time if their configuration is outdated.
We have implemented various bits that probably should be going away:
- Fallback to trusted.gpg
This is just annoying...
- Support for fingerprints in Signed-By (no subkey matching though)
The extra work here is arguably less compared to gpgv.
- Check the keyring for correctness.
With Signed-By everywhere, we should just error out rather than
skip broken keyrings.
Moo
|
| |\
| |
| |
| |
| | |
Switch to OpenSSL in a convoluted path of commits
See merge request apt-team/apt!412
|
| | |
| |
| |
| |
| | |
OpenSSL is mandatory now, it is no longer possible to build
without https support either.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce an OpenSSL::Crypto backend for the hashes library
and an OpenSSL::SSL backend for the TLS support in our https
method.
Many thanks to curl for showing the way with how to handle
a CRL file. There are some memory leaks here with the
TlsFd itself as well as the proxy support; and we should
reorganize the code to generate the ssl object as late
as possible.
A peculiar aspect of OpenSSL is that SSL_has_pending() returns
1 even if SSL_read() will fail to read anything and return the
equivalent of EAGAIN. We work around this here by also peeking
ahead 1 byte. I was running a very high RTT connection from
Germany to Australia for testing, and with the peeking it's
using negligible amounts of CPU; before that, it was busy
looping at 100%. Bad OpenSSL!
|
| | |
| |
| |
| |
| |
| |
| | |
The GnuTLS backend avoids the need to link in libgcrypt, and
gets us another certified library people will be happy with.
This should be an intermediate step on the road to OpenSSL.
|
| | |
| |
| |
| | |
Everything is abstracted away now.
|
| | | |
|
| |/ |
|
| |\
| |
| |
| |
| | |
Use sq in the test suite, remove apt-key
See merge request apt-team/apt!413
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the test case for MD5 and expired signatures, as we can't
create them (can't set signing digest, and can't set signature
expiry).
Tests for them have been added to test-method-gpgv instead.
We override sq in a function with cert-store and key-store
set to none.
This supports both sq 0.40 and sq 1.0.
|
| |/ |
|
| | |
|
| |
|
|
|
| |
Add new fields `APT-Pin`, `APT-Candidate`, and `APT-Release` to the
output, same as in EDSP (limited to one release for now).
|
| |
|
|
|
|
|
|
|
|
|
| |
There could be | or ; or other stuff in PAGER that needs
special handling, let's encode a list of known-good characters
instead. This covers all known pagers.
You could also try to execvp() PAGER in its entirety and if
it fails with ENOENT fall back to the shell but then you
don't get correct error handling if the pager really doesn't
exist (in which case we should abort trying to page).
|
| |\
| |
| |
| |
| | |
Introduce automatic pager for read commands
See merge request apt-team/apt!410
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Automatically show the output of `show`, `policy`, `list`,
`search`, `showsrc` in a pager.
The pager setup is inspired by git's pager setup. Notably,
the pager is found using APT_PAGER and PAGER variables.
We wait for the pager to be setup somewhat correctly by
using a notify pipe to figure out whether execvp() was
succesful - then the pipe will read EOF as the other end
got closed by CLOEXEC during exec - or not, then the pipe
will contain an errno.
We set up the correct handlers for signals and exit to close
the fds and wait for the pager. Notably inside the signal
handler we cannot flush our streams, only close them, so
there is some duplication.
We call the InitOutputPager() function from inside the
various Do...() functions rather than setting it up
generally in InitOutput(). Doing so allows us to first
render the progress without a pager, and then setup
the pager for the content only which improves user
experience.
When we setup a pager we also take care to disable
standard input, as we should not be prompting users
while a pager is running (the pager will be reading
from the tty directly). We do this by dup2-ing() a
/dev/null over it; if we just close()d the fd, another
open() might reuse the fd number and problems could
occur.
|
| |/
|
|
|
| |
This is a pretty standalone function, extract it for later
reuse.
|
| |
|
|
|
|
|
|
| |
We tried to access str.size() - 1 on a 0-sized string, which
does not work, and now that we build with assertions triggers
it.
Closes: #1090068
|
| | |
|
| |\
| |
| |
| |
| | |
Stop using apt-key for verification and move apt-key to test/
See merge request apt-team/apt!406
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| | |
We move the user configuration section to the top of the manual
page as that is going to be what most are interested in and rewrite
it to cover all the modern ways to configure keys in a succinct
way.
|