Releases: NLnetLabs/rpki-rs
Releases · NLnetLabs/rpki-rs
0.8.2
0.8.1
0.8.0
Breaking
- Encoding of
x509::Time
values changed since in some cases it needs to encode as either UTCTime or GeneralizedTime depending on the year. Thus, there is no simpleencode
method anymore but rather, there now isencode_utc_time
,encode_generalized_time
, orencode_varied
to make the choice explicit. (#84)
Bug Fixes
0.7.0
Breaking
- Dot segments (‘.’ and ‘..’) and empty segments (except for the final segment) are not allowed anymore in rsync URIs and will lead to URIs being rejected. The
uri::Error
enum has received new variants for these cases. (#77)
New
- Added access to signing time and binary signing time in signed object builder. (#80)
Bug Fixes
- Fixed a decoding and encoding error in manifests’ version field which caused certain manifests (which don’t seem to be existing in the wild currently) to be rejected and produced manifests to be invalid. (#78)
- Don’t include empty address families in a produced ROA. (#79)
Other Changes
- Optional versions are not included in encoded ROAs and manifests anymore. This fixes some interoperability issues. (#78)
0.6.0
Breaking
- Hashes in the
rrdp
module are now of a new typeDigestHex
and are
automatically converted from their hex representation. (#62) - Removed
uri::Http
. (#63) tal::Tal::uris
now returns an iterator overtal::TalUri
s, which can
be either an rsync or HTTPS URI. (#63)- Removed the ARIN tal workaround. (#63)
- Removed the
to_string
methods from URI types as these are available
via theToString
trait which is implemented viaDisplay
. (#67) - Renamed
IpBlocks::contains
toIpBlocks::contains_roa
. [(#72)]
New
- Add set operations
union
,intersection
, andcontains
toIpBlocks
andAsBlocks
. [(#72)] - Add various useful impls of
From
forx509::Time
. (#69)
Bug Fixes
- Various improvements to the RRDP implementation. (#62)
- Fix a endless loop and an off-by-one error in Chain::trim. (#64)
- The
version
field of a ROA’sRouteOriginAttestation
structure was
parsed and constructed as implicitly tagged whereas the standard demands
explicit tagging. This would have lead to a parse error for all ROAs
that actually contain the (optional) version field. (#70) - Fix encoding of CRLs. (#73)
0.5.0
Breaking
- Moved
x509::KeyIdentifier
tocrypto::key::KeyIdentifier
. It also
contains a byte array and isCopy
. Subsequently,
Cert::subject_key_identifier
andCert::authority_key_identifier
return values instead of references now. (#51) - Explicitly set issuer name in
SignedObjectBuilder
. Dropcert
argument fromSignedObjectBuilder::finalize
,RoaBuilder::finalize
,
andManifest::finalize
. (#54)
New
- Add
CrlEntry::new
so these can actually be created. (#49) Manifest
now derefs toManifestContent
which adds accessors for its
attributes.Manifest
also allows access to the EE certificate via the
cert
method. (#50).- Implement serialization for
crypto::keys::KeyIdentifier
,
x509::Serial
,x509::Time
, andx509::Validity
. (#51) - Add
impl Sub<Duration> for Time
. (#56) - Add
mkrpki
, a command line tool for creating RPKI objects. (#54) - Parse, validate, construct, (de-)serialize
Csr
. [(#58)] - Parse decimal string format used by RFC6492 for
AsId
. [(#60)]
Bug Fixes
- IP address prefixes (
resources::Prefix
) were encoded wrongly if their
length was not divisible by 8. ([#55)]
Dependencies
v0.4.0
Breaking
- The minimum supported Rust version is now 1.34.0. (#34)
- Restructured how certificate’s SubjectAccessInfo is parsed and accessed.
It now keeps the first mandatory URI of the four relevant access methods
readily available. (#34) Cert
has completely changed,CertBuilder
is gone and has been
replaced byTbsCert
which can be used for building. [(#39)]- Similarly,
Crl
has completely changed,CrlBuilder
is gone and has been
replaced byTbsCertList
which can be used for building. [(#39)] - How
SignedObject
,Manifest
, andRoa
are being built has completely
changed. [(#39)] crl::Crl
,x509::Name
,x509::SignedData
:encode
renamed to
encode_ref
to comply with standard naming scheme. [(#39)]DigestAlgorithm
,PublicKeyFormat
, andSignatureAlgorithm
are not
unit structs anymore. They implDefault
which should be used to get
the recommended (read: only available) values. This is so we can
transparently change them into enums later on if necessary. [(#39)]cert::Validity
is nowCopy
and isn’t returned or used by reference
anymore. [(#39)]Signer
has gained another mandatory methodrand
that can be used to
generate random data. (#41)Crl::next_update
field is now mandatory as per RFC 5280. (#44)
New
- Conversion from strings and formatting for the various forms of IP
and AS resources. (#32) uri::Rsync
anduri::Https
now compare the authority part ignoring
ASCII-case. (#34)- New modules
xml
with support for XML parsing andrrdp
with support
for RRDP parsing. (#34) - Implement serde traits for URI types. (#37)
- Implement serde traits, equality comparison,
FromStr
andDisplay
for resources. (#38) - New constant size type
Serial
wrapping serial numbers. [(#39)] - Added
serde
traits for certificates, CRLs, manifests, and ROAs via a
base64 encoded string. (#42) - More convenience for dealing with
x509::Time
. (#43)
Bug Fixes
0.3.3
0.3.2
0.3.1
New
SignedObject::take_from
will now return a malformed error if the
certificate in the signed object is of any other choice than a plain
certificate. This was a not implemented error before.RoaBuilder
for making ROAs. (#25)ManifestBuilder
for making manifests. (#26)
Bug Fixes
- Decoding manifest and ROAs now checks that the content type field in the
signed object has the correct object identifier. (#27)