melib/imap: escape IMAP passwords properly

Closes #125
pull/144/head
Manos Pitsidianakis 2021-12-12 11:59:22 +02:00
parent d8e9a00563
commit 81d1265601
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
1 changed files with 13 additions and 2 deletions

View File

@ -376,8 +376,19 @@ impl ImapStream {
_ => {
ret.send_command(
format!(
"LOGIN \"{}\" \"{}\"",
&server_conf.server_username, &server_conf.server_password
r#"LOGIN "{}" "{}""#,
&server_conf
.server_username
.replace(r#"\"#, r#"\\"#)
.replace('"', r#"\""#)
.replace('{', r#"\{"#)
.replace('}', r#"\}"#),
&server_conf
.server_password
.replace(r#"\"#, r#"\\"#)
.replace('"', r#"\""#)
.replace('{', r#"\{"#)
.replace('}', r#"\}"#)
)
.as_bytes(),
)