mail archive of the rauc mailing list
 help / color / mirror / Atom feed
From: "Enrico Jörns" <ejo@pengutronix.de>
To: "rauc@pengutronix.de" <rauc@pengutronix.de>
Subject: [RAUC] [ANNOUNCE] RAUC v1.3 released
Date: Fri, 24 Apr 2020 12:02:17 +0200	[thread overview]
Message-ID: <86a8b802-8b7a-1fe8-0bf1-9ef205be5141@pengutronix.de> (raw)

Hi everyone,

here it is, commit number 1700, 291 commits after the v1.2 tag: The v1.3
release auf RAUC is out in the wild and adds a lot of new and useful
features together with some fixes.

  https://github.com/rauc/rauc/releases/tag/v1.3

We start with the most 'visible' feature: When invoking the command line
tool 'rauc status' you will notice a reorganized output. This provides a
colored output (with optional UTF-8 character support) together with a
changed layout that should make it easier to identify the system status.

With a new D-Bus API method for starting an installation, we have
eliminated a significant drawback of the initial API design that made it
impossible to pass optional arguments when installing.

A few notable improvements to bundle signing landed in RAUC 1.3. By
default, RAUC does not check the certificate's key usage attributes.
When the bundle signing certificates are part of a larger, shared PKI,
RAUC can now require specific purposes like codeSigning, thereby
allowing better policy enforcement via the PKI. Checking of key usage
attributes can be enabled with the 'check-purpose' configuration option.

Also, you can now require checking of CRLs during installation (which is
disabled by default in OpenSSL). Setting the 'check-crl' configuration
option changes this. If the keyring already contains a CRL, but checking
is not enabled, a warning will now be printed.

As the OpenSSL project dropped support for all version before 1.1.1, we
have now removed support for those as well. If you still use a
deprecated and thus insecure OpenSSL version, this is the time to upgrade!

A couple of limitations in bundle and image size handling RAUC had when
running on a 32 bit system were removed.

For those running on very constrained systems, some options for
reducing the size of the RAUC binary were added.

A couple of minor bugs and memory leaks were fixed, especially an error
reporting bug that may trigger during bundle verification if an invalid
keyring was configured and produces a non-intuitive error message
"rauc-ERROR **: Not enough substeps: check_bundle".


As always, find a detailed list on what was added, changed and fixed
since v1.2 below.

We would like to say thank you to everyone who tested for v1.3, reported
issues or contributed new features!

Best regards and fail-safe updating,

The RAUC Team


---

CHANGES: Release 1.3 (released Apr 23, 2020)
============================================

Enhancements
------------

* Added a new D-Bus method (InstallBundle) which supports optional
  parameters ("ignore-compatible" for now).
* Added support for X.509 key usage attributes (code signing and
  others).
* Added a ``check-crl`` configuration option to require Certificate
  Revocation List (CRL) checking during installation.
  If the keyring already contains a CRL, but checking is not enabled, a
  warning will be printed.
* Support updating of already mounted slots via a custom install hook
  when enabled with "allow-mounted=true" in the system configuration.
  This can be useful for updating bootloaders in a boot partition (for
  example on the Raspberry Pi or BeagleBone). (by Martin Hundebøll and
  Rasmus Villemoes)
* Added the ``--mksquashfs-args`` option for bundle creation. This can
  be used to configure the details of the squashfs compression. (by
  Louis des Landes)
* Added the ``--casync-args`` option for the ``rauc convert`` command.
  This can be used to configure the details of the casync conversion.
  (by Christopher Obbard)
* Added support for installing UBIFS images via casync (depends on the
  casync PR https://github.com/systemd/casync/pull/227). (by Ulrich
  Ölmann)
* Enabled usage of ``--no-verify`` with ``rauc resign``.
  This can be useful for resigning of bundles signed with expired
  certificates.
* Exposed the ``RAUC_BUNDLE_MOUNT_POINT`` environment variable to hook
  scripts. This also deprecates the old name ``RAUC_UPDATE_SOURCE`` for
  this value in handler scripts. (by Rasmus Villemoes)
* Reduced size of the installed ``rauc`` binary. This was done by using
  ``--gc-sections`` and adding a configure switch to disable the
  ``bundle``, ``resign`` and ``convert`` commands. (by Rasmus Villemoes)
* Added support for explicitly telling RAUC that all slots are inactive
  on the kernel command line (``rauc.external``). This is useful for
  using RAUC in a factory installer. (by Marco Felsch)
* Improved layout of the ``rauc status`` output.

Bug fixes
---------

* Fixed SD/eMMC detection when using /dev/disk/by-path/ symlinks. (by
  Marco Felsch)
* Fixed handling of HTTP Content-Encoding: gzip. (by Jan Kundrát)
* Fixed reporting of errors during bundle verification. This solves a
  ``rauc-ERROR **: Not enough substeps: check_bundle`` abort. (by Rouven
  Czerwinski)
* Fixed handling of surrounding whitespace in the system variant by
  removing it. A warning is printed in this case.
* Fixed the RAUC D-Bus interface introspection file name to be
  consistent with the interface name. (by Michael Tretter)

Testing
-------

* Switched testing environment from user-mode-linux (UML) to QEMU. This
  allows us to use our own kernel configuration and avoids the (unusual)
  dependency.
* Reenabled support for coverity, as they have added support for GCC 8.
* Added some more tests in several areas.

Code
----

* Removed support for OpenSSL versions < 1.1.1.
  OpenSSL versions 1.0.2 and 1.1.0 are no longer supported by the
  OpenSSL project: https://www.openssl.org/policies/releasestrat.html
* Improved support for large bundles on 32 bit systems, but some work
  remains to be done.
* Disabled automatic ``-Werror`` and ``-O0`` when building from a git
  repository.
  This caused confusion in several cases.
* Updated uncrustify and enabled some additional formatting rules.
* Reduced redundant prefixes in error messages.
* Removed unused verification functions left over from the old network
  mode.
* Removed minor memory leaks.

Documentation
-------------

* Clarified documentation about hooks and handlers (and the available
  environment variables).
* Fixed minor typos and inconsistencies.

Contributions from: Arnaud Rebillout, Christopher Obbard, Enrico Jörns,
Jan Kundrát, Jan Lübbe, Louis des Landes, Marco Felsch, Martin
Hundebøll, Michael Heimpold, Michael Tretter, Rasmus Villemoes, Rouven
Czerwinski, Trent Piepho, Ulrich Ölmann

-- 
Pengutronix e.K.                           | Enrico Jörns                |
Embedded Linux Consulting & Support        | https://www.pengutronix.de/ |
Steuerwalder Str. 21                       | Phone: +49-5121-206917-180  |
31137 Hildesheim, Germany                  | Fax:   +49-5121-206917-9    |

_______________________________________________
RAUC mailing list

                 reply	other threads:[~2020-04-24 10:02 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=86a8b802-8b7a-1fe8-0bf1-9ef205be5141@pengutronix.de \
    --to=ejo@pengutronix.de \
    --cc=rauc@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox