Releases: NLnetLabs/rpki-rs
Releases · NLnetLabs/rpki-rs
0.12.1
0.12.0
New
- Added a simple XML writer. (#144)
- Added the ability to create and write the various RRDP files. (#144)
- Add
uri::Https::{path, canonical_authority, as_slice}
. (#147)
Bug Fixes
- Accept empty
<publish>
elements in RRDP snapshot and delta files. While publishing empty files doesn’t make all that much sense, the standard formally allows it, so we shouldn’t reject updates because of it. ([#148)]
0.11.1
0.11.0
Breaking
- Restructured content by moving all modules related to processing RPKI repository objects to a new
repository
module. (#119) - Introduced features for selecting which parts of the crate are required. For the content previously included, these are:
repository
for
processing of RPKI repository objects,rrdp
for RRDP support, andserde
for adding serde support to repository objects. (#119) - Restructured handling of rsync URIs: There is now only a single type
uri::Rsync
for both rsync module URIs and URIs below module level. The typeuri::RsyncModule
has been dropped. Instead,uri::Rsync
now allows access to the URI’s content as a single bytes slice. (#124) - The
rrdp
module now provides access to object content via a reader rather then decoding it into a vec. In addition,rrdp::DigestHex
has been renamed to the more clearrrdp::Hash
and turned into a wrapper around a fixed-size array. (#129) SignedObject::process
andRoa::process
now also return the EE certificate on success. (#131)RoaIpAddress
andFriendlyRoaIpAddress
are nowCopy
. (#131)- Upgrade
bytes
andtokio
to 1.0. (#121) - The minimum required Rust version is now 1.43. (#121)
New
- New module
rtr
, enabled via the featurertr
that contains what was previously available via the separatedrpki-rtr
crate. (#120) ManifestHash
now allows access to its components via thealgorithm
andas_slice
methods. (#126) It also implementsHash
,PartialEq
, andEq
. (#128)DigestAlgorithm
instances can now be created for the SHA-256 algorithm and values can be checked whether they in fact represent the SHA-256 algorithm. Values now also provide the associated digest length via the newdigest_len
method. (#126)- Certificate and signed object validation (strictly speaking: inspection) now follow OpenSSL’s practice of refusing certificates with mismatching encoding of the signature algorithm inside and outside the signed portion. ([#130])
Bug Fixes
Validity::from_duration
now correctly deals with negative durations. (#131)
0.10.1
0.10.0
Breaking
crypto::key::PublicKeyFormat
has been changed into an enum in order to be able to deal with two different possible public key algorithms. It andcrypto::key::PublicKey
also received functions to determine whether the algorithms and keys are allowed in regular RPKI certificates or router certificates. (#113)- The type for RRDP serial numbers has been changed to
u64
fromusize
. This affects the various traits in therrdp
module. (#111) crl::CrlStore
has been deprecated. The new rules for manifest handling have clarified that there must only ever be one CRL for each CA. TheCrlStore
was designed to make it easier to deal with cases where there are multiple CRLs and is therefore not necessary any more. (#112)- The minimum required Rust version is now 1.42. (#108)
New
cert::Cert
can now decode, inspect, and verify BGPSec router certificates. (#113)- Module
rta
for handling Resource Tagged Assertions. (#108) crypto::DigestAlgorithm::digest_file
allows calculating the digest value of an entire file. (#108)IpBlock
can now be displayed via helper types to select IPv4 or IPv6. (#108)SignedObject::process
to validate generic signed objects and return their content on success. (#108)- The various steps in certificate validation are now available as separate methods. (#108)
- New methods:
Bug Fixes
0.9.2
0.9.1
New
Tal
s can now be created with an explicit name for theirTalInfo
instead of deriving the name from the path. ([#102)]- All types from the
uri
module now have aauthority
method that provides access to the authority portion of the URI (a.k.a., the hostname). [(#103)] - All types from the
uri
module now have a methodunshare
that causes to value to use its own memory, possibly freeing up the shared memory block they were taken out of earlier and saving memory. [(#103)]
Dependencies