summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Release 3.1.153.1.15Julian Andres Klode2026-01-311-1/+1
|
* Release 3.1.143.1.14Julian Andres Klode2026-01-231-1/+1
|
* Release 3.1.133.1.13Julian Andres Klode2026-01-051-1/+1
|
* Release 3.1.123.1.12Julian Andres Klode2025-11-101-1/+1
|
* Release 3.1.113.1.11Julian Andres Klode2025-10-261-1/+1
|
* Release 3.1.103.1.10Julian Andres Klode2025-10-251-1/+1
|
* Release 3.1.93.1.9Julian Andres Klode2025-10-211-1/+1
|
* Release 3.1.83.1.8Julian Andres Klode2025-10-041-1/+1
|
* Release 3.1.73.1.7Julian Andres Klode2025-10-021-1/+1
|
* Release 3.1.63.1.6Julian Andres Klode2025-09-261-1/+1
|
* Release 3.1.53.1.5Julian Andres Klode2025-08-261-1/+1
|
* Release 3.1.43.1.4Julian Andres Klode2025-08-111-1/+1
|
* Release 3.1.33.1.3Julian Andres Klode2025-06-241-1/+1
|
* Release 3.1.23.1.2Julian Andres Klode2025-06-101-1/+1
|
* Release 3.1.13.1.1Julian Andres Klode2025-06-101-1/+1
|
* Bump CMAKE_CXX_STANDARD to 23 and fix codeJulian Andres Klode2025-05-251-1/+1
| | | | | | | | ftparchive/contents.h failed with operator< defined only, so define operator<=> instead. The operator and FileCopyType constructor both had a warning about not throwing and adding a noexcept, so add one
* Release 3.1.03.1.0Julian Andres Klode2025-05-191-1/+1
|
* Release 3.0.13.0.1Julian Andres Klode2025-04-251-1/+1
|
* Release 3.0.03.0.0Julian Andres Klode2025-04-041-1/+1
| | | | And so it begins.
* Release 2.9.352.9.35Julian Andres Klode2025-03-271-1/+1
|
* pager: Also set SMK in LESS, fix LV=C to be LV=-cJulian Andres Klode2025-03-261-1/+1
| | | | | | | | | | | Sync the LESS environment with systemd to make it more user-friendly than just a blinking colon: - S disables the terminal bell - M makes the output verbose, so the prompt is not ":" but "lines 1-n" - K means that Ctrl+c exits the command Also fix the LV= environment variable to use -c and not C.
* Release 2.9.342.9.34Julian Andres Klode2025-03-201-1/+1
|
* Release 2.9.332.9.33Julian Andres Klode2025-03-121-1/+1
|
* Release 2.9.32Julian Andres Klode2025-03-091-1/+1
|
* Release 2.9.312.9.31Julian Andres Klode2025-02-281-1/+1
|
* Release 2.9.302.9.30Julian Andres Klode2025-02-161-1/+1
|
* Release 2.9.292.9.29Julian Andres Klode2025-02-141-1/+1
|
* Release 2.9.282.9.28Julian Andres Klode2025-02-071-1/+1
|
* Release 2.9.272.9.27Julian Andres Klode2025-02-031-1/+1
|
* Release 2.9.262.9.26Julian Andres Klode2025-01-281-1/+1
| | | | | This reflows the documentation po files now using the latest gettext.
* Release 2.9.252.9.25Julian Andres Klode2025-01-221-1/+1
|
* Release 2.9.242.9.24Julian Andres Klode2025-01-211-1/+1
|
* Release 2.9.232.9.23Julian Andres Klode2025-01-171-1/+1
|
* Release 2.9.222.9.22Julian Andres Klode2025-01-141-1/+1
|
* Release 2.9.212.9.21Julian Andres Klode2025-01-011-1/+1
| | | | | | 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.
* Release 2.9.202.9.20Julian Andres Klode2024-12-281-1/+1
|
* Release 2.9.192.9.19Julian Andres Klode2024-12-231-1/+1
|
* methods: Add new sqv methodJulian Andres Klode2024-12-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Remove GnuTLS and gcrypt supportJulian Andres Klode2024-12-221-12/+1
| | | | | OpenSSL is mandatory now, it is no longer possible to build without https support either.
* hashes, methods: Add OpenSSL backendsJulian Andres Klode2024-12-221-4/+9
| | | | | | | | | | | | | | | | | | | | 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!
* hashes: Add GnuTLS backend, make it defaultJulian Andres Klode2024-12-211-1/+3
| | | | | | | 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.
* Release 2.9.182.9.18Julian Andres Klode2024-12-191-1/+1
|
* Introduce automatic pager for read commandsJulian Andres Klode2024-12-181-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Release 2.9.172.9.17Julian Andres Klode2024-12-071-1/+1
|
* Release 2.9.162.9.16Julian Andres Klode2024-11-291-1/+1
|
* Release 2.9.152.9.15Julian Andres Klode2024-11-281-1/+1
|
* Release 2.9.142.9.14Julian Andres Klode2024-11-221-1/+1
| | | | | Oh well I accidentally committed everything from my work email today but I'm off today ...
* Release 2.9.132.9.13Julian Andres Klode2024-11-201-1/+1
|
* Add -Wp,-D_GLIBCXX_ASSERTIONS to CXXFLAGSJulian Andres Klode2024-11-181-0/+1
| | | | | | This ensures some more hardening of all our container accesses, preventing out of bounds. Especially now that we moved a lot of C-style arrays to std::array.
* Release 2.9.122.9.12Julian Andres Klode2024-11-181-1/+1
|