diff -urN ../Roundcube_TLS_Icon-1.3.1.orig/tls_icon.php ./tls_icon.php
--- ../Roundcube_TLS_Icon-1.3.1.orig/tls_icon.php 2023-03-06 22:02:41.000000000 +0200
+++ ./tls_icon.php 2024-04-22 16:05:26.425546000 +0300
@@ -5,6 +5,8 @@
const POSTFIX_TLS_REGEX = "/\(using (TLS.*)\) \(/im";
const POSTFIX_LOCAL_REGEX = "/\([a-zA-Z]*, from userid [0-9]*\)/im";
const SENDMAIL_TLS_REGEX = "/\(version=(TLS.*)\)(\s+for|;)/im";
+ const EXIM_TLS_REGEX = "/with (utf8)?esmtpsa? +\(TLS.*\)/im";
+ const EXIM_LOCAL_REGEX = "/from \S+ by \S+ with local/im";
private $message_headers_done = false;
private $icon_img;
@@ -59,11 +61,17 @@
return $p;
}
- if (preg_match_all(tls_icon::POSTFIX_TLS_REGEX, $Received, $items, PREG_PATTERN_ORDER) ||
- preg_match_all(tls_icon::SENDMAIL_TLS_REGEX, $Received, $items, PREG_PATTERN_ORDER)) {
+ if (
+ preg_match_all(tls_icon::POSTFIX_TLS_REGEX, $Received, $items, PREG_PATTERN_ORDER) ||
+ preg_match_all(tls_icon::SENDMAIL_TLS_REGEX, $Received, $items, PREG_PATTERN_ORDER) ||
+ preg_match_all(tls_icon::EXIM_TLS_REGEX, $Received, $items, PREG_PATTERN_ORDER)
+ ) {
$data = $items[1][0];
$this->icon_img .= '';
- } elseif (preg_match_all(tls_icon::POSTFIX_LOCAL_REGEX, $Received, $items, PREG_PATTERN_ORDER)) {
+ } elseif (
+ preg_match_all(tls_icon::POSTFIX_LOCAL_REGEX, $Received, $items, PREG_PATTERN_ORDER) ||
+ preg_match_all(tls_icon::EXIM_LOCAL_REGEX, $Received, $items, PREG_PATTERN_ORDER)
+ ) {
$this->icon_img .= '';
} else {
// TODO: Mails received from localhost but without TLS are currently flagged insecure