mirror of
https://git.code.sf.net/p/isync/isync
synced 2025-12-11 20:37:54 +01:00
mbsync-get-cert: add support for STARTTLS
nowadays, many servers offer STARTTLS on the default IMAP port 143 instead of (or in addition to) the traditional IMAP over SSL/TLS (IMAPS) on port 993. this patch has been fixed up somewhat by the maintainer.
This commit is contained in:
committed by
Oswald Buddenhagen
parent
a1be7e9a36
commit
d7305e12d9
@@ -9,9 +9,25 @@
|
||||
# from a trusted source.
|
||||
#
|
||||
|
||||
if [ $# != 1 ]; then
|
||||
echo "Usage: $0 <host>" >&2
|
||||
usage() {
|
||||
echo "Usage: $0 [-s] <host>" >&2
|
||||
echo " -s Use IMAP+STARTTLS (port 143) instead of IMAPS (port 993)" >&2
|
||||
exit 1
|
||||
}
|
||||
|
||||
STARTTLS=false
|
||||
|
||||
while getopts "s" opt; do
|
||||
case $opt in
|
||||
s) STARTTLS=true ;;
|
||||
*) usage ;;
|
||||
esac
|
||||
done
|
||||
|
||||
shift `expr $OPTIND - 1`
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
HOST=$1
|
||||
@@ -33,7 +49,15 @@ TMPFILE=$TMPDIR/get-cert
|
||||
ERRFILE=$TMPDIR/get-cert-err
|
||||
CERTFILE=$TMPDIR/cert
|
||||
|
||||
echo QUIT | openssl s_client -connect $HOST:993 -showcerts \
|
||||
if $STARTTLS; then
|
||||
FLAGS="-starttls imap"
|
||||
PORT=143
|
||||
else
|
||||
FLAGS=
|
||||
PORT=993
|
||||
fi
|
||||
|
||||
echo QUIT | openssl s_client $FLAGS -connect $HOST:$PORT -showcerts \
|
||||
> $TMPFILE 2> $ERRFILE
|
||||
sed -e '1,/^-----BEGIN CERTIFICATE-----/d' \
|
||||
-e '/^-----END CERTIFICATE-----/,$d' < $TMPFILE > $CERTFILE
|
||||
|
||||
Reference in New Issue
Block a user