Skip to content

Audit use of unsafe in uri/authority.rs#414

Merged
seanmonstar merged 5 commits intohyperium:masterfrom
sbosnick:audit_uri_authority
May 14, 2020
Merged

Audit use of unsafe in uri/authority.rs#414
seanmonstar merged 5 commits intohyperium:masterfrom
sbosnick:audit_uri_authority

Conversation

@sbosnick
Copy link
Copy Markdown
Contributor

Refactor the common code from three ways of creating an Authority into a private create_authority() function, which removes some code duplication (including duplicated uses of "unsafe"). Add comments describing the implicit preconditions and postconditions in create_authority() and the functions it calls which then make explicit the sound use of "unsafe" (as described in the "Safety" comment in create_authority().

This is part of #412.

Extract the common code from three ways of creating an Authority into a
private create_authority() function.
The comments describe the preconditions and postconditions that together
ensure that the one use of 'unsafe' in uri/authority.rs is sound.
Comment thread src/uri/authority.rs Outdated
@seanmonstar seanmonstar merged commit 59733e1 into hyperium:master May 14, 2020
@sbosnick sbosnick deleted the audit_uri_authority branch May 15, 2020 00:05
@dekellum dekellum mentioned this pull request Dec 14, 2020
BenxiangGe pushed a commit to BenxiangGe/http that referenced this pull request Jul 26, 2021
* Add unit test for rejecting invalid UTF-8

* Add Authority::from_static() test

* Refactor uri::Authority

Extract the common code from three ways of creating an Authority into a
private create_authority() function.

* Add comments to explain the safety of Authority

The comments describe the preconditions and postconditions that together
ensure that the one use of 'unsafe' in uri/authority.rs is sound.

* Fix typo
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.

3 participants