mirror of
https://github.com/chatmail/core.git
synced 2026-05-02 21:06:31 +03:00
Move keydata= wrapping from key.rs to aheader.rs
This commit is contained in:
committed by
holger krekel
parent
f1aba8115b
commit
38cddff6e9
@@ -95,15 +95,24 @@ impl Aheader {
|
|||||||
|
|
||||||
impl fmt::Display for Aheader {
|
impl fmt::Display for Aheader {
|
||||||
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
|
||||||
// TODO replace 78 with enum /rtn
|
|
||||||
// adds a whitespace every 78 characters, this allows libEtPan to
|
|
||||||
// wrap the lines according to RFC 5322
|
|
||||||
// (which may insert a linebreak before every whitespace)
|
|
||||||
let keydata = self.public_key.to_base64(78);
|
|
||||||
write!(fmt, "addr={};", self.addr)?;
|
write!(fmt, "addr={};", self.addr)?;
|
||||||
if self.prefer_encrypt == EncryptPreference::Mutual {
|
if self.prefer_encrypt == EncryptPreference::Mutual {
|
||||||
write!(fmt, " prefer-encrypt=mutual;")?;
|
write!(fmt, " prefer-encrypt=mutual;")?;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// adds a whitespace every 78 characters, this allows libEtPan to
|
||||||
|
// wrap the lines according to RFC 5322
|
||||||
|
// (which may insert a linebreak before every whitespace)
|
||||||
|
let keydata = self.public_key.to_base64().chars().enumerate().fold(
|
||||||
|
String::new(),
|
||||||
|
|mut res, (i, c)| {
|
||||||
|
if i > 0 && i % 78 == 0 {
|
||||||
|
res.push(' ')
|
||||||
|
}
|
||||||
|
res.push(c);
|
||||||
|
res
|
||||||
|
},
|
||||||
|
);
|
||||||
write!(fmt, " keydata={}", keydata)
|
write!(fmt, " keydata={}", keydata)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
15
src/key.rs
15
src/key.rs
@@ -178,20 +178,9 @@ impl Key {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_base64(&self, break_every: usize) -> String {
|
pub fn to_base64(&self) -> String {
|
||||||
let buf = self.to_bytes();
|
let buf = self.to_bytes();
|
||||||
|
base64::encode(&buf)
|
||||||
let encoded = base64::encode(&buf);
|
|
||||||
encoded
|
|
||||||
.chars()
|
|
||||||
.enumerate()
|
|
||||||
.fold(String::new(), |mut res, (i, c)| {
|
|
||||||
if i > 0 && i % break_every == 0 {
|
|
||||||
res.push(' ')
|
|
||||||
}
|
|
||||||
res.push(c);
|
|
||||||
res
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn to_armored_string(
|
pub fn to_armored_string(
|
||||||
|
|||||||
Reference in New Issue
Block a user