auth-api/tfa: prefer Display over ToString/an inherent function

this fixes two clippy lints that check if either `ToString` or an
inherent `to_string()` function is implement [1, 2]. `Display`
provides `ToString` for free and, thus, is preferable.

[1]:
https://rust-lang.github.io/rust-clippy/master/index.html#/inherent_to_string
[2]:
https://rust-lang.github.io/rust-clippy/master/index.html#to_string_trait_impl

Signed-off-by: Shannon Sterz <s.sterz@proxmox.com>
This commit is contained in:
Shannon Sterz 2025-03-06 13:43:39 +01:00 committed by Wolfgang Bumiller
parent d95a4f25e0
commit efc8556c27
2 changed files with 11 additions and 8 deletions

View File

@ -1,6 +1,7 @@
//! Generate and verify Authentication tickets
use std::borrow::Cow;
use std::fmt::Display;
use std::marker::PhantomData;
use anyhow::{bail, format_err, Error};
@ -14,13 +15,13 @@ use crate::TICKET_LIFETIME;
/// Stringified ticket data must not contain colons...
const TICKET_ASCIISET: &AsciiSet = &percent_encoding::CONTROLS.add(b':');
/// An empty type implementing [`ToString`] and [`FromStr`](std::str::FromStr), used for tickets
/// An empty type implementing [`Display`] and [`FromStr`](std::str::FromStr), used for tickets
/// with no data.
pub struct Empty;
impl ToString for Empty {
fn to_string(&self) -> String {
String::new()
impl Display for Empty {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "")
}
}

View File

@ -1,5 +1,7 @@
//! Webauthn configuration and challenge data.
use std::fmt::Display;
use anyhow::{format_err, Error};
use serde::{Deserialize, Serialize};
use url::Url;
@ -42,9 +44,9 @@ impl From<OriginUrl> for String {
}
}
impl OriginUrl {
fn to_string(&self) -> String {
self.0.origin().ascii_serialization()
impl Display for OriginUrl {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.0.origin().ascii_serialization())
}
}
@ -91,7 +93,7 @@ impl WebauthnConfig {
pub fn digest(&self) -> [u8; 32] {
let mut data = format!("rp={:?}\nid={:?}\n", self.rp, self.id,);
if let Some(origin) = &self.origin {
data.push_str(&format!("origin={}\n", origin.to_string()));
data.push_str(&format!("origin={}\n", origin));
}
openssl::sha::sha256(data.as_bytes())
}