Skip to content

Commit 0e2b640

Browse files
authored
Merge pull request #149 from GnomedDev/fix-clippy-pedantic
Fix clippy::pedantic
2 parents b9eed7f + cd8d3b8 commit 0e2b640

35 files changed

+155
-121
lines changed

.github/workflows/ci.yaml

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,28 @@ on:
1212
# Also on PRs, just be careful not to publish anything
1313
pull_request:
1414

15-
1615
jobs:
17-
ci:
18-
runs-on: ubuntu-22.04
16+
library-ci:
17+
runs-on: ubuntu-latest
18+
strategy:
19+
matrix:
20+
subcmd: [build, clippy, test]
21+
1922
steps:
2023
- uses: actions/checkout@v4
2124

22-
- name: Build
23-
run: cargo check
25+
- name: Run `cargo ${{ matrix.subcmd }}` for library
26+
run: cargo ${{ matrix.subcmd }}
27+
28+
example-ci:
29+
runs-on: ubuntu-latest
30+
strategy:
31+
matrix:
32+
example: [embassy, blocking, tokio, nrf52]
2433

25-
- name: Test
26-
run: cargo test -- --nocapture
34+
steps:
35+
- uses: actions/checkout@v4
2736

28-
- name: Build examples
29-
run: for i in embassy blocking tokio nrf52; do pushd examples/$i; cargo build; popd; done;
37+
- name: Run `cargo build` for example ${{ matrix.example }}
38+
working-directory: examples/${{ matrix.example }}
39+
run: cargo build

src/alert.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ pub enum AlertLevel {
1010
}
1111

1212
impl AlertLevel {
13+
#[must_use]
1314
pub fn of(num: u8) -> Option<Self> {
1415
match num {
1516
1 => Some(AlertLevel::Warning),
@@ -52,6 +53,7 @@ pub enum AlertDescription {
5253
}
5354

5455
impl AlertDescription {
56+
#[must_use]
5557
pub fn of(num: u8) -> Option<Self> {
5658
match num {
5759
0 => Some(AlertDescription::CloseNotify),
@@ -94,6 +96,7 @@ pub struct Alert {
9496
}
9597

9698
impl Alert {
99+
#[must_use]
97100
pub fn new(level: AlertLevel, description: AlertDescription) -> Self {
98101
Self { level, description }
99102
}

src/application_data.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::buffer::*;
1+
use crate::buffer::CryptoBuffer;
22
use crate::record::RecordHeader;
33
use core::fmt::{Debug, Formatter};
44

src/asynch.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::common::decrypted_buffer_info::DecryptedBufferInfo;
22
use crate::common::decrypted_read_handler::DecryptedReadHandler;
3-
use crate::connection::*;
3+
use crate::connection::{decrypt_record, Handshake, State};
44
use crate::key_schedule::KeySchedule;
55
use crate::key_schedule::{ReadKeySchedule, SharedState, WriteKeySchedule};
66
use crate::read_buffer::ReadBuffer;

src/blocking.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use crate::common::decrypted_buffer_info::DecryptedBufferInfo;
22
use crate::common::decrypted_read_handler::DecryptedReadHandler;
3-
use crate::connection::*;
3+
use crate::connection::{decrypt_record, Handshake, State};
44
use crate::key_schedule::KeySchedule;
55
use crate::key_schedule::{ReadKeySchedule, SharedState, WriteKeySchedule};
66
use crate::read_buffer::ReadBuffer;

src/buffer.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ impl<'b> CryptoBuffer<'b> {
127127
}
128128

129129
pub fn truncate(&mut self, len: usize) {
130-
self.truncate_internal(len)
130+
self.truncate_internal(len);
131131
}
132132

133133
pub fn len(&self) -> usize {
@@ -235,7 +235,7 @@ impl<'b> Buffer for CryptoBuffer<'b> {
235235
}
236236

237237
fn truncate(&mut self, len: usize) {
238-
self.truncate_internal(len)
238+
self.truncate_internal(len);
239239
}
240240
}
241241

src/change_cipher_spec.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ use crate::TlsError;
66
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
77
pub struct ChangeCipherSpec {}
88

9+
#[allow(clippy::unnecessary_wraps)] // TODO
910
impl ChangeCipherSpec {
1011
pub fn new() -> Self {
1112
Self {}
@@ -21,8 +22,8 @@ impl ChangeCipherSpec {
2122
Ok(Self {})
2223
}
2324

24-
#[allow(dead_code)]
25-
pub(crate) fn encode(&self, buf: &mut CryptoBuffer<'_>) -> Result<(), TlsError> {
25+
#[allow(dead_code, clippy::unused_self)]
26+
pub(crate) fn encode(self, buf: &mut CryptoBuffer<'_>) -> Result<(), TlsError> {
2627
buf.push(1).map_err(|_| TlsError::EncodeError)?;
2728
Ok(())
2829
}

src/common/decrypted_read_handler.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ impl DecryptedReadHandler<'_> {
5656
// by the user.
5757
Ok(())
5858
}
59-
_ => {
59+
ServerRecord::Handshake(_) => {
6060
unimplemented!()
6161
}
6262
}

src/config.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ where
120120

121121
#[derive(Debug)]
122122
#[cfg_attr(feature = "defmt", derive(defmt::Format))]
123+
#[must_use = "TlsConfig does nothing unless consumed"]
123124
pub struct TlsConfig<'a> {
124125
pub(crate) server_name: Option<&'a str>,
125126
pub(crate) psk: Option<(&'a [u8], Vec<&'a [u8], 4>)>,

src/connection.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::record::{ClientRecord, ServerRecord};
55
use crate::record_reader::RecordReader;
66
use crate::write_buffer::WriteBuffer;
77
use crate::{
8-
alert::*,
8+
alert::{Alert, AlertDescription, AlertLevel},
99
handshake::{certificate::CertificateRef, certificate_request::CertificateRequest},
1010
};
1111
use crate::{CertificateVerify, CryptoProvider, TlsError, TlsVerifier};
@@ -551,11 +551,11 @@ where
551551
Ok((mut signing_key, signature_scheme)) => {
552552
let ctx_str = b"TLS 1.3, client CertificateVerify\x00";
553553
let mut msg: heapless::Vec<u8, 130> = heapless::Vec::new();
554-
msg.resize(64, 0x20).map_err(|_| TlsError::EncodeError)?;
554+
msg.resize(64, 0x20).map_err(|()| TlsError::EncodeError)?;
555555
msg.extend_from_slice(ctx_str)
556-
.map_err(|_| TlsError::EncodeError)?;
556+
.map_err(|()| TlsError::EncodeError)?;
557557
msg.extend_from_slice(&key_schedule.transcript_hash().clone().finalize())
558-
.map_err(|_| TlsError::EncodeError)?;
558+
.map_err(|()| TlsError::EncodeError)?;
559559

560560
let signature = signing_key.sign(&msg);
561561

src/crypto_engine.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use p256::ecdh::SharedSecret;
44

55
pub struct CryptoEngine {}
66

7+
#[allow(clippy::unused_self, clippy::needless_pass_by_value)] // TODO
78
impl CryptoEngine {
89
pub fn new(_group: NamedGroup, _shared: SharedSecret) -> Self {
910
Self {}

src/extensions/extension_data/key_share.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ impl<'a, const N: usize> KeyShareClientHello<'a, N> {
3636

3737
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
3838
buf.with_u16_length(|buf| {
39-
for client_share in self.client_shares.iter() {
39+
for client_share in &self.client_shares {
4040
client_share.encode(buf)?;
4141
}
4242
Ok(())

src/extensions/extension_data/pre_shared_key.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ impl<const N: usize> PreSharedKeyClientHello<'_, N> {
1919

2020
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
2121
buf.with_u16_length(|buf| {
22-
for identity in self.identities.iter() {
22+
for identity in &self.identities {
2323
buf.with_u16_length(|buf| buf.extend_from_slice(identity))
2424
.map_err(|_| TlsError::EncodeError)?;
2525

@@ -56,7 +56,7 @@ impl PreSharedKeyServerHello {
5656
})
5757
}
5858

59-
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
59+
pub fn encode(self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
6060
buf.push_u16(self.selected_identity)
6161
.map_err(|_| TlsError::EncodeError)
6262
}

src/extensions/extension_data/psk_key_exchange_modes.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ impl PskKeyExchangeMode {
2323
}
2424
}
2525

26-
fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
27-
buf.push(*self as u8).map_err(|_| TlsError::EncodeError)
26+
fn encode(self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
27+
buf.push(self as u8).map_err(|_| TlsError::EncodeError)
2828
}
2929
}
3030

@@ -44,7 +44,7 @@ impl<const N: usize> PskKeyExchangeModes<N> {
4444

4545
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
4646
buf.with_u8_length(|buf| {
47-
for mode in self.modes.iter() {
47+
for mode in &self.modes {
4848
mode.encode(buf)?;
4949
}
5050
Ok(())

src/extensions/extension_data/server_name.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ impl NameType {
2424
}
2525
}
2626

27-
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
28-
buf.push(*self as u8).map_err(|_| TlsError::EncodeError)
27+
pub fn encode(self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
28+
buf.push(self as u8).map_err(|_| TlsError::EncodeError)
2929
}
3030
}
3131

@@ -97,7 +97,7 @@ impl<'a, const N: usize> ServerNameList<'a, N> {
9797

9898
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
9999
buf.with_u16_length(|buf| {
100-
for name in self.names.iter() {
100+
for name in &self.names {
101101
name.encode(buf)?;
102102
}
103103

@@ -118,13 +118,14 @@ pub struct ServerNameResponse;
118118

119119
impl ServerNameResponse {
120120
pub fn parse(buf: &mut ParseBuffer) -> Result<Self, ParseError> {
121-
if !buf.is_empty() {
122-
Err(ParseError::InvalidData)
123-
} else {
121+
if buf.is_empty() {
124122
Ok(Self)
123+
} else {
124+
Err(ParseError::InvalidData)
125125
}
126126
}
127127

128+
#[allow(clippy::unused_self, clippy::unnecessary_wraps)]
128129
pub fn encode(&self, _buf: &mut CryptoBuffer) -> Result<(), TlsError> {
129130
Ok(())
130131
}

src/extensions/extension_data/signature_algorithms.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ impl SignatureScheme {
7777
}
7878
}
7979

80+
#[must_use]
8081
pub fn as_u16(self) -> u16 {
8182
match self {
8283
Self::RsaPkcs1Sha256 => 0x0401,
@@ -126,7 +127,7 @@ impl<const N: usize> SignatureAlgorithms<N> {
126127

127128
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
128129
buf.with_u16_length(|buf| {
129-
for &a in self.supported_signature_algorithms.iter() {
130+
for &a in &self.supported_signature_algorithms {
130131
buf.push_u16(a.as_u16())
131132
.map_err(|_| TlsError::EncodeError)?;
132133
}

src/extensions/extension_data/signature_algorithms_cert.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ impl<const N: usize> SignatureAlgorithmsCert<N> {
2424

2525
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
2626
buf.with_u16_length(|buf| {
27-
for &a in self.supported_signature_algorithms.iter() {
27+
for &a in &self.supported_signature_algorithms {
2828
buf.push_u16(a.as_u16())
2929
.map_err(|_| TlsError::EncodeError)?;
3030
}

src/extensions/extension_data/supported_groups.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ impl NamedGroup {
5858
}
5959
}
6060

61-
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
61+
pub fn encode(self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
6262
buf.push_u16(self.as_u16())
6363
.map_err(|_| TlsError::EncodeError)
6464
}
@@ -81,7 +81,7 @@ impl<const N: usize> SupportedGroups<N> {
8181

8282
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
8383
buf.with_u16_length(|buf| {
84-
for g in self.supported_groups.iter() {
84+
for g in &self.supported_groups {
8585
g.encode(buf)?;
8686
}
8787
Ok(())

src/extensions/extension_data/supported_versions.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use heapless::Vec;
1010
pub struct ProtocolVersion(u16);
1111

1212
impl ProtocolVersion {
13-
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
13+
pub fn encode(self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
1414
buf.push_u16(self.0).map_err(|_| TlsError::EncodeError)
1515
}
1616

@@ -38,7 +38,7 @@ impl<const N: usize> SupportedVersionsClientHello<N> {
3838

3939
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
4040
buf.with_u8_length(|buf| {
41-
for v in self.versions.iter() {
41+
for v in &self.versions {
4242
v.encode(buf)?;
4343
}
4444
Ok(())
@@ -59,7 +59,7 @@ impl SupportedVersionsServerHello {
5959
})
6060
}
6161

62-
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
62+
pub fn encode(self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
6363
self.selected_version.encode(buf)
6464
}
6565
}

src/extensions/extension_data/unimplemented.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ pub struct Unimplemented<'a> {
1111
}
1212

1313
impl<'a> Unimplemented<'a> {
14+
#[allow(clippy::unnecessary_wraps)]
1415
pub fn parse(buf: &mut ParseBuffer<'a>) -> Result<Self, ParseError> {
1516
Ok(Self {
1617
data: buf.as_slice(),

src/extensions/mod.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,7 @@ impl ExtensionType {
7272
}
7373
}
7474

75-
pub fn encode(&self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
76-
buf.push_u16(*self as u16)
77-
.map_err(|_| TlsError::EncodeError)
75+
pub fn encode(self, buf: &mut CryptoBuffer) -> Result<(), TlsError> {
76+
buf.push_u16(self as u16).map_err(|_| TlsError::EncodeError)
7877
}
7978
}

src/handshake/binder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::buffer::*;
1+
use crate::buffer::CryptoBuffer;
22
use crate::TlsError;
33
use core::fmt::{Debug, Formatter};
44
//use digest::generic_array::{ArrayLength, GenericArray};

src/handshake/certificate.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ impl<'a> CertificateRef<'a> {
5151
pub(crate) fn encode(&self, buf: &mut CryptoBuffer<'_>) -> Result<(), TlsError> {
5252
buf.with_u8_length(|buf| buf.extend_from_slice(self.request_context))?;
5353
buf.with_u24_length(|buf| {
54-
for entry in self.entries.iter() {
54+
for entry in &self.entries {
5555
entry.encode(buf)?;
5656
}
5757
Ok(())
@@ -146,11 +146,11 @@ impl<'a, const N: usize> TryFrom<CertificateRef<'a>> for Certificate<N> {
146146
let mut request_context = Vec::new();
147147
request_context
148148
.extend_from_slice(cert.request_context)
149-
.map_err(|_| TlsError::OutOfMemory)?;
149+
.map_err(|()| TlsError::OutOfMemory)?;
150150
let mut entries_data = Vec::new();
151151
entries_data
152152
.extend_from_slice(cert.raw_entries)
153-
.map_err(|_| TlsError::OutOfMemory)?;
153+
.map_err(|()| TlsError::OutOfMemory)?;
154154

155155
Ok(Self {
156156
request_context,

src/handshake/certificate_request.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ impl<'a> TryFrom<CertificateRequestRef<'a>> for CertificateRequest {
4040
let mut request_context = Vec::new();
4141
request_context
4242
.extend_from_slice(cert.request_context)
43-
.map_err(|_| {
43+
.map_err(|()| {
4444
error!("CertificateRequest: InsufficientSpace");
4545
TlsError::InsufficientSpace
4646
})?;

src/handshake/client_hello.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use crate::extensions::messages::ClientHelloExtension;
2121
use crate::handshake::{Random, LEGACY_VERSION};
2222
use crate::key_schedule::{HashOutputSize, WriteKeySchedule};
2323
use crate::TlsError;
24-
use crate::{buffer::*, CryptoProvider};
24+
use crate::{buffer::CryptoBuffer, CryptoProvider};
2525

2626
pub struct ClientHello<'config, CipherSuite>
2727
where

src/handshake/finished.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::buffer::*;
1+
use crate::buffer::CryptoBuffer;
22
use crate::parse_buffer::ParseBuffer;
33
use crate::TlsError;
44
use core::fmt::{Debug, Formatter};

0 commit comments

Comments
 (0)