Skip to content

Commit 96355f6

Browse files
committed
Group imports by module
Signed-off-by: Joshua Potts <[email protected]>
1 parent 6447e1f commit 96355f6

File tree

19 files changed

+100
-81
lines changed

19 files changed

+100
-81
lines changed

.github/workflows/ci.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,26 @@ env:
1313
RUSTFLAGS: -D warnings
1414

1515
jobs:
16+
format-unstable:
17+
name: Format (unstable)
18+
runs-on: ubuntu-latest
19+
steps:
20+
- name: Checkout sources
21+
uses: actions/checkout@v5
22+
with:
23+
persist-credentials: false
24+
- name: Install rust nightly toolchain
25+
uses: dtolnay/rust-toolchain@master
26+
with:
27+
toolchain: nightly
28+
components: rustfmt
29+
- name: Check formatting (unstable)
30+
run: cargo fmt --all -- --check --config-path .rustfmt.unstable.toml
31+
- if: ${{ failure() }}
32+
run: echo "Nightly formatting check failed. Please run \`cargo +nightly fmt --config-path .rustfmt.unstable.toml\`"
33+
1634
lint:
17-
name: Format & clippy
35+
name: Clippy
1836
runs-on: ubuntu-latest
1937
continue-on-error: true
2038
steps:
@@ -25,8 +43,7 @@ jobs:
2543
- name: Install rust toolchain
2644
uses: dtolnay/rust-toolchain@stable
2745
with:
28-
components: clippy, rustfmt
29-
- run: cargo fmt -- --check
46+
components: clippy
3047
# `fips` and `aws_lc_rs_unstable` cannot be used together, so avoid `--all-features`
3148
- run: cargo clippy --features ring,pem,x509-parser --all-targets
3249
# rustls-cert-gen require either aws_lc_rs or ring feature

.rustfmt.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
1+
# keep in sync with .rustfmt.unstable.toml
12
hard_tabs = true
23
match_block_trailing_comma = true

.rustfmt.unstable.toml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# keep in sync with .rustfmt.toml
2+
hard_tabs = true
3+
match_block_trailing_comma = true
4+
5+
# format imports
6+
group_imports = "StdExternalCrate"
7+
imports_granularity = "Module"

rcgen/examples/rsa-irc-openssl.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
#[cfg(unix)]
22
fn main() -> Result<(), Box<dyn std::error::Error>> {
3-
use rcgen::{date_time_ymd, CertificateParams, DistinguishedName};
43
use std::fmt::Write;
54
use std::fs;
65

6+
use rcgen::{date_time_ymd, CertificateParams, DistinguishedName};
7+
78
let mut params: CertificateParams = Default::default();
89
params.not_before = date_time_ymd(2021, 5, 19);
910
params.not_after = date_time_ymd(4096, 1, 1);

rcgen/examples/sign-leaf-with-ca.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1+
use rcgen::DnValue::PrintableString;
12
use rcgen::{
2-
BasicConstraints, Certificate, CertificateParams, DnType, DnValue::PrintableString,
3-
ExtendedKeyUsagePurpose, IsCa, Issuer, KeyPair, KeyUsagePurpose,
3+
BasicConstraints, Certificate, CertificateParams, DnType, ExtendedKeyUsagePurpose, IsCa,
4+
Issuer, KeyPair, KeyUsagePurpose,
45
};
56
use time::{Duration, OffsetDateTime};
67

rcgen/examples/simple.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
use rcgen::{date_time_ymd, CertificateParams, DistinguishedName, DnType, KeyPair, SanType};
21
use std::fs;
32

3+
use rcgen::{date_time_ymd, CertificateParams, DistinguishedName, DnType, KeyPair, SanType};
4+
45
fn main() -> Result<(), Box<dyn std::error::Error>> {
56
let mut params: CertificateParams = Default::default();
67
params.not_before = date_time_ymd(1975, 1, 1);

rcgen/src/crl.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
use pem::Pem;
33
use pki_types::CertificateRevocationListDer;
44
use time::OffsetDateTime;
5-
use yasna::DERWriter;
6-
use yasna::Tag;
5+
use yasna::{DERWriter, Tag};
76

87
use crate::key_pair::sign_der;
98
#[cfg(feature = "pem")]

rcgen/src/csr.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,10 @@ impl CertificateSigningRequestParams {
9696
/// [`rustls_pemfile::csr()`]: https://docs.rs/rustls-pemfile/latest/rustls_pemfile/fn.csr.html
9797
#[cfg(feature = "x509-parser")]
9898
pub fn from_der(csr: &CertificateSigningRequestDer<'_>) -> Result<Self, Error> {
99-
use crate::KeyUsagePurpose;
10099
use x509_parser::prelude::FromDer;
101100

101+
use crate::KeyUsagePurpose;
102+
102103
let csr = x509_parser::certification_request::X509CertificationRequest::from_der(csr)
103104
.map_err(|_| Error::CouldNotParseCertificationRequest)?
104105
.1;
@@ -211,10 +212,11 @@ impl CertificateSigningRequestParams {
211212

212213
#[cfg(all(test, feature = "x509-parser"))]
213214
mod tests {
214-
use crate::{CertificateParams, ExtendedKeyUsagePurpose, KeyPair, KeyUsagePurpose};
215215
use x509_parser::certification_request::X509CertificationRequest;
216216
use x509_parser::prelude::{FromDer, ParsedExtension};
217217

218+
use crate::{CertificateParams, ExtendedKeyUsagePurpose, KeyPair, KeyUsagePurpose};
219+
218220
#[test]
219221
fn dont_write_sans_extension_if_no_sans_are_present() {
220222
let mut params = CertificateParams::default();

rcgen/src/key_pair.rs

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#[cfg(feature = "crypto")]
22
use std::fmt;
33

4+
#[cfg(all(feature = "aws_lc_rs_unstable", not(feature = "fips")))]
5+
use aws_lc_rs::unstable::signature::PqdsaKeyPair;
46
#[cfg(feature = "pem")]
57
use pem::Pem;
68
#[cfg(feature = "crypto")]
@@ -22,13 +24,12 @@ use crate::ring_like::{
2224
},
2325
{ecdsa_from_pkcs8, rsa_key_pair_public_modulus_len},
2426
};
27+
use crate::sign_algo::SignatureAlgorithm;
2528
#[cfg(feature = "crypto")]
2629
use crate::sign_algo::{algo::*, SignAlgo};
30+
use crate::Error;
2731
#[cfg(feature = "pem")]
2832
use crate::ENCODE_CONFIG;
29-
use crate::{sign_algo::SignatureAlgorithm, Error};
30-
#[cfg(all(feature = "aws_lc_rs_unstable", not(feature = "fips")))]
31-
use aws_lc_rs::unstable::signature::PqdsaKeyPair;
3233

3334
/// A key pair variant
3435
#[allow(clippy::large_enum_variant)]
@@ -679,10 +680,8 @@ impl SubjectPublicKeyInfo {
679680
/// Create a `SubjectPublicKey` value from DER-encoded SubjectPublicKeyInfo bytes
680681
#[cfg(feature = "x509-parser")]
681682
pub fn from_der(spki_der: &[u8]) -> Result<Self, Error> {
682-
use x509_parser::{
683-
prelude::FromDer,
684-
x509::{AlgorithmIdentifier, SubjectPublicKeyInfo},
685-
};
683+
use x509_parser::prelude::FromDer;
684+
use x509_parser::x509::{AlgorithmIdentifier, SubjectPublicKeyInfo};
686685

687686
let (rem, spki) =
688687
SubjectPublicKeyInfo::from_der(spki_der).map_err(|e| Error::X509(e.to_string()))?;
@@ -762,11 +761,8 @@ pub(crate) fn serialize_public_key_der(key: &(impl PublicKeyData + ?Sized), writ
762761
#[cfg(all(test, feature = "crypto"))]
763762
mod test {
764763
use super::*;
765-
766-
use crate::ring_like::{
767-
rand::SystemRandom,
768-
signature::{EcdsaKeyPair, ECDSA_P256_SHA256_FIXED_SIGNING},
769-
};
764+
use crate::ring_like::rand::SystemRandom;
765+
use crate::ring_like::signature::{EcdsaKeyPair, ECDSA_P256_SHA256_FIXED_SIGNING};
770766

771767
#[cfg(all(feature = "x509-parser", feature = "pem"))]
772768
#[test]

rcgen/src/lib.rs

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,6 @@ use std::net::IpAddr;
4141
use std::net::{Ipv4Addr, Ipv6Addr};
4242
use std::ops::Deref;
4343

44-
#[cfg(feature = "pem")]
45-
use pem::Pem;
46-
use pki_types::CertificateDer;
47-
use time::{OffsetDateTime, Time};
48-
use yasna::models::ObjectIdentifier;
49-
use yasna::models::{GeneralizedTime, UTCTime};
50-
use yasna::tags::{TAG_BMPSTRING, TAG_TELETEXSTRING, TAG_UNIVERSALSTRING};
51-
use yasna::DERWriter;
52-
use yasna::Tag;
53-
54-
use crate::string::{BmpString, Ia5String, PrintableString, TeletexString, UniversalString};
55-
5644
pub use certificate::{
5745
date_time_ymd, Attribute, BasicConstraints, Certificate, CertificateParams, CidrSubnet,
5846
CustomExtension, DnType, ExtendedKeyUsagePurpose, GeneralSubtree, IsCa, NameConstraints,
@@ -65,14 +53,22 @@ pub use csr::{CertificateSigningRequest, CertificateSigningRequestParams, Public
6553
pub use error::{Error, InvalidAsn1String};
6654
#[cfg(feature = "crypto")]
6755
pub use key_pair::KeyPair;
68-
pub use key_pair::PublicKeyData;
6956
#[cfg(all(feature = "crypto", feature = "aws_lc_rs"))]
7057
pub use key_pair::RsaKeySize;
71-
pub use key_pair::{SigningKey, SubjectPublicKeyInfo};
58+
pub use key_pair::{PublicKeyData, SigningKey, SubjectPublicKeyInfo};
59+
#[cfg(feature = "pem")]
60+
use pem::Pem;
61+
use pki_types::CertificateDer;
7262
#[cfg(feature = "crypto")]
7363
use ring_like::digest;
7464
pub use sign_algo::algo::*;
7565
pub use sign_algo::SignatureAlgorithm;
66+
use time::{OffsetDateTime, Time};
67+
use yasna::models::{GeneralizedTime, ObjectIdentifier, UTCTime};
68+
use yasna::tags::{TAG_BMPSTRING, TAG_TELETEXSTRING, TAG_UNIVERSALSTRING};
69+
use yasna::{DERWriter, Tag};
70+
71+
use crate::string::{BmpString, Ia5String, PrintableString, TeletexString, UniversalString};
7672

7773
mod certificate;
7874
mod crl;
@@ -987,10 +983,10 @@ mod tests {
987983

988984
#[cfg(feature = "x509-parser")]
989985
mod test_ip_address_from_octets {
990-
use super::super::ip_addr_from_octets;
991-
use super::super::Error;
992986
use std::net::IpAddr;
993987

988+
use super::super::{ip_addr_from_octets, Error};
989+
994990
#[test]
995991
fn ipv4() {
996992
let octets = [10, 20, 30, 40];
@@ -1035,10 +1031,12 @@ mod tests {
10351031

10361032
#[cfg(feature = "x509-parser")]
10371033
mod test_san_type_from_general_name {
1038-
use crate::SanType;
10391034
use std::net::IpAddr;
1035+
10401036
use x509_parser::extensions::GeneralName;
10411037

1038+
use crate::SanType;
1039+
10421040
#[test]
10431041
fn with_ipv4() {
10441042
let octets = [1, 2, 3, 4];

0 commit comments

Comments
 (0)