From b83180266fd35b30400ad26f34122ccb5e76a2ac Mon Sep 17 00:00:00 2001 From: kkoyung Date: Mon, 22 May 2023 19:33:32 +0800 Subject: [PATCH] Added option to provide self-signed certificate --- bin/mw | 11 +++++++++-- mw.1 | 4 ++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bin/mw b/bin/mw index 81c75d9..5ed4377 100755 --- a/bin/mw +++ b/bin/mw @@ -214,7 +214,8 @@ getboxes() { if [ -n "${force+x}" ]; then mailboxes="$(printf "INBOX\\nDrafts\\nJunk\\nTrash\\nSent\\nArchive")" else - info="$(curl --location-trusted -s -m 5 --user "$login:$(pass "$passprefix$fulladdr")" --url "${protocol:-imaps}://$imap:${iport:-993}")" + [ ! -z "$sslcertself" ] && addarg="-k" + info="$(curl "$addarg" --location-trusted -s -m 5 --user "$login:$(pass "$passprefix$fulladdr")" --url "${protocol:-imaps}://$imap:${iport:-993}")" [ -z "$info" ] && errorexit mailboxes="$(echo "$info" | grep -v HasChildren | sed "s/.*\" //;s/\"//g" | tr -d '\r')" fi @@ -294,6 +295,7 @@ Options allowed with -a: -X Delete an account's local email too when deleting. -o Configure address, but keep mail online. -f Assume typical English mailboxes without attempting log-on. + -c Path to self-signed TLS certificate. NOTE: Once at least one account is added, you can run \`mbsync -a\` to begin downloading mail. @@ -326,7 +328,7 @@ reorder() { ' "$tempfile" >>"$muttrc" } -while getopts "rfpXlhodTYD:y:i:I:s:S:u:a:n:P:x:m:t:" o; do case "${o}" in +while getopts "rfpXlhodTYD:y:i:I:s:S:u:a:n:P:x:m:t:c:" o; do case "${o}" in l) setact list ;; r) setact reorder1 ;; d) setact delete ;; @@ -393,6 +395,11 @@ while getopts "rfpXlhodTYD:y:i:I:s:S:u:a:n:P:x:m:t:" o; do case "${o}" in setact add password="$OPTARG" ;; + c) + setact add + sslcertself="$OPTARG" + sslcert="$OPTARG" + ;; X) setact delete purge=True diff --git a/mw.1 b/mw.1 index 4a136ee..0e0f6ec 100644 --- a/mw.1 +++ b/mw.1 @@ -70,8 +70,12 @@ SMTP server port (assumed to be 465 if not specified) .TP .B -x Account password. You will be prompted for the password interactively if this option is not given. +.TP .B -P Pass Prefix. The password will be stored using pass at +.TP +.B -c certificate +Self-signed TLS certificate .SH OTHER OPTIONS .TP .B -f