Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do not allow backslashes in idexchange handles. #304

Merged
merged 1 commit into from
Aug 1, 2024

Conversation

partim
Copy link
Member

@partim partim commented Aug 1, 2024

This PR changes the ca::idexchange::Handle to not allow backslashes in its character set.

The definition of a handle in appendix A of RFC 8183 reads:

handle  = xsd:string { maxLength="255" pattern="[\-_A-Za-z0-9/]*" }

which I read as not allowing backslashes (as the backslash escapes the hyphen).

@partim partim requested a review from a team August 1, 2024 09:10
Copy link
Contributor

@Koenvh1 Koenvh1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. [\-_A-Za-z0-9/]* indeed does not allow backslashes.

@partim partim merged commit 575a321 into main Aug 1, 2024
24 checks passed
@partim partim deleted the no-backslash-in-handle branch August 1, 2024 09:47
partim added a commit that referenced this pull request Aug 20, 2024
This PR adjusts the changes made in #304 and allows backslashes in idexchange
handles if the compat feature is enabled. This is necessary to not break
Krill installations that used backslashes in their handles.
partim added a commit that referenced this pull request Jan 22, 2025
New

* `ca::idexchange::Error` now impls `std::error::Error`. ([#297])
* Re-export `bcder` as `dep::bcder` if it is enabled. ([#299])
* Added `PublisherRequest::set_publisher_handle`. ([#300])
* Added `uri::{Rsync,Https}::path_into_dir` ([#302])
* Added `Ipv4Block` and `Ipv6Block` and `FromIterator` impls for
  `Ipv4Blocks` and `Ipv6Blocks`. ([#298])
* Made `AddressRange` public and added methods to convert ranges into
  a set of prefixes. ([#306])
* Updated the ASPA RTR PDU to conform with version -14 of
  draft-ietf-sidrops-8210bis. ([#309])
* Enable ASPA version 2 in the RTR server. ([#318])
* The ASPA `ProviderAsSet` now keeps track of its length and exposes it
  via the new `len` method. ([#315])
* The ASPA Provider AS Set is now limited to 16380 entries when parsing from
  ASPA objects and creating RTR PDUs. ([#316])
* Exposed `ca::idcert::TbsIdCert::validity`. ([#310]);
* Protect against maliciously large XML input to the RRDP parser. This
  will allow re-enabling GZIP support in RRDP clients. ([#319])

Bug fixes

* Do not allow backslashes in idexchange handles. ([#304])
* Check the content of file names in a manifest during parsing. This fixes a
  crash when later code assumes that the file names only contain ASCII
  characters and otherwise panics. ([#320])

Other changes

* The minimum supported Rust version is now 1.73. ([#319])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants